Fortgeschrittene Softwareentwicklung: Wer kann ein gutes Buch empfehlen?
Ich arbeite als Werkstudent als Softwareentwickler und lerne viel "by doing". Das ist zwar schön und gut, aber ich hätte gerne einmal eine Fachliteratur, die Softwareentwicklung in der Praxis ausführlich erklärt.
Ich kann programmieren. Darum geht es mir nicht, ich suche kein Buch zum programmieren lernen. Mir geht es auch nicht um das technische Außenrum (Git, Datenbanken, etc.), sondern um das, was zwischen Programmierung und Softwareentwicklung liegt.
Zum Beispiel:
- Wie strukturiert man eine Software? Was sind DAOs, DTOs, Services, etc. und wie verwendet man sie?
- Was ist Frontend? Was ist Backend? Was gibt es für Möglichkeiten für Frontend und Backend, miteinander zu kommunizieren? Was sollte im Frontend passieren, was sollte im Backend passieren?
- Wie implementiert man einen Cache in der Praxis?
- Wie werden bestimmte Design Patterns in Sprachen umgesetzt? (zum Beispiel: Das Observer-Pattern durch Observables in RxJS).
Ich hoffe, man versteht, was ich meine. Klar, alles davon kann ich googlen und das habe ich auch, der Punkt ist: Ich weiß ja noch gar nicht, was ich in diesem Bereich nicht weiß und das kann ich eben nicht googlen ;-)
Vielen Dank im Voraus.
1 Antwort
Ich weiß ja noch gar nicht, was ich in diesem Bereich nicht weiß
Das ist der Knackpunkt: Das wirst Du nie wissen, Du wirst nie "zuende" gelernt haben.
Das, wonach Du fragst, ist die eigentliche Komplexität der Softwareentwicklung, Programmieren kann jeder, aber wie man richtig Software entwickelt, das fordern jahrelange bis jahrzehntelange Erfahrung und die kann man nicht in Bücher fassen.
Es gibt aber ein paar Bücher, die sich mit einem Teil befassen:
Patterns kompakt: Entwurfsmuster für effektive Softwareentwicklung
Eine kleine und kompakte Übersicht von Design-Patterns.
Clean Architecture: A Craftsman's Guide to Software Structure and Design
Enthält die mMn. beste Erklärung der S.O.L.I.D.-Prinzipien, die zum Grundwissen gehören sollten.
Langlebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen
Das Buch betrachtet das Thema von "der anderen Seite", also aus dem Blickwinkel, wenn das Kind schon in den Brunnen gefallen ist und die Firma sich Hilfe suchen muss, um Herr der Lage zu werden.
Und noch ein paar mehr, die ich aber noch nicht gelesen habe :D
Vieles ist aber auch technologie spezifisch, wie z.B. MVVM für WPF (.NET), das sollte man bei der Arbeit mit .NET kennen, hilft dir bei anderen UI-Frameworks aber nur wenig. Im Idealfall gibt's dazu dann eine geeignete Doku, das findest Du dann nicht in Büchern.
Sehr viel findet aber auch in Foren oder Blog-Artikeln statt, auch das findest Du dann nicht in Büchern.