Die besten Bücher für Programmierer - Feature-Bild

Die besten Bücher für Programmierer (aktualisiert 2020)

von Sven Woltmann – 22. April 2020

Im folgenden stelle ich dir eine Liste der wichtigsten Bücher für Programmierer vor. Die Bücher kommen aus den Themen Programmierung im Allgemeinen (Hard Skills und Soft Skills) und Java-Programmierung im Speziellen. Ich habe alle empfohlenen Bücher gelesen. Die Liste ist nicht vollständig, es gibt noch eine Menge weiterer großartiger Bücher, die ich auf meiner "Zu lesen"-Liste habe. Ich werde die Liste daher regelmäßig erweitern.

Bücher für Softwareentwickler eignen sich selten als Hörbücher, da sie oft Code-Beispiele und komplexe Diagramme enthalten. Glücklicherweise gibt es einige Ausnahmen. Ich gebe daher zu jedem Buch auch an, ob es als Hörbuch geeignet und verfügbar ist.

In einem weiteren Artikel findest du meine Buchempfehlungen zu den Themen Produktivität, Persönlichkeits- und Karriereentwicklung und Unternehmertum.

Bücher über Programmierung im Allgemeinen – Hard Skills

von Robert C. Martin

Link zum Buch bei Amazon

In diesem exzellenten Buch erklärt Robert C. Martin, auch bekannt als "Uncle Bob", Mitautor des agilen Manifests, die Kernkonzepte agiler Softwareentwicklung, von Extreme Programming (XP) und von "Test-First Design" (den Vorläufer von Test-Driven Design). Er zeigt, wie man durch agiles Design und die Anwendung der SOLID-Prinzipien sauberen, wartbaren Code schreibt. Er demonstriert diese Prinzipien und die Anwendung bekannter Entwurfsmuster anhand dreier in C++ und Java entwickelter Fallstudien. Ich empfehle jedem Programmierer diese Fallstudien intensiv zu studieren und selbst zu implementieren.

Das Buch ist von 2002 und mittlerweile in einer neuen Auflage von 2013 verfügbar, die ich allerdings noch nicht gelesen habe.

Geeignet als Hörbuch? Absolut nicht! Das Buch ist voll von Quellcode und UML-Diagrammen, die für das Verständnis dieses Buchs unerlässlich sind.

von Steve Freeman und Nat Pryce

Link zum Buch bei Amazon

Dieses Buch gibt eine praktische Einführung in Test-Driven Development (TDD) – insbesondere in objektorientierter Programmierung. Die Autoren (von denen einer der Entwickler von jMock ist) erklären, wie Unit Tests und Mock-Objekte zu einem sauberen, objektorientierten Design mit zuverlässigem und wartbaren Code führen. In einer Fallstudie entwerfen und implementieren sie dazu testgetrieben ein Auktionssystem in Java. Ich empfehle dieses Buch insbesondere jedem Java-Programmierer. Wenn Du einmal erlebt hast, wie Tests zu eleganterem Design und Code führen, wirst Du nie wieder ohne entwickeln wollen.

Geeignet als Hörbuch? Nein, aufgrund zahlreicher Codebeispiele.

von Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides

Link zum Buch bei Amazon (englische Originalausgabe)

Diesen Klassiker sollte eigentlich jeder Programmierer gelesen haben. „Eigentlich“, weil es sehr akademisch geschrieben und daher schwer zu lesen ist – insbesondere wenn man es als nicht Muttersprachler in der Originalausgabe liest. Es beschreibt einige der wichtigsten Entwurfsmuster (wenn nicht die wichtigsten überhaupt) und ihre Beziehungen zueinander sehr detailliert. Man merkt, dass das Buch schon 25 Jahre alt ist: die Codebeispiele sind aus heutiger Sicht teilweise veraltet und moderne Aspekte wie Concurrency werden komplett ignoriert. Dennoch sollte jeder Programmierer dieses Werk im Bücherregal haben und die klassischen 23 Entwurfsmuster kennen, erkennen und anwenden können.

Wer es etwas praktischer mag, dem kann ich den Online-Kurs „Java Design Patterns“ von Dr. Heinz Kabutz, dem Autor des bekannten JavaSpecialists‘ Newsletters, empfehlen.

Deutsche Übersetzung: Design Patterns: Entwurfsmuster als Elemente wiederverwendbarer objektorientierter Software

Geeignet als Hörbuch? Nein, aufgrund zahlreicher Codebeispiele und Diagramme.

von John Vlissides

Link zum Buch bei Amazon

Dieses Buch von einem der vier Autoren des Klassikers „Design Patterns“ gibt Einblicke in den Entwicklungsprozess und beschreibt die zehn größten Missverständnisse über Design Patterns. Häufig verwendete Entwurfsmuster werden am praktischen Beispiel erläutert – im Gegensatz zu der sehr akademischen Herangehensweise im Klassiker. Es werden Variationen von etablierten Mustern vorgestellt, sowie zwei gänzlich neue Entwurfsmuster. Man muss dieses Buch nicht unbedingt gelesen haben, doch für mich war es nach dem Durcharbeiten von „Design Patterns“ eine sehr angenehme und deutlich leichter verdauliche Lektüre.

Geeignet als Hörbuch? Nein, aufgrund zahlreicher Codebeispiele und Diagramme.

von Andrew Hunt und David Thomas

Link zum Buch bei Amazon

Dieses Buch enthält geballte, praktische Erfahrung aus mehreren Jahrzehnten Programmierpraxis. Es beschreibt die besten Praktiken und die größten Fallstricke vieler Aspekte der Softwareentwicklung anschaulich und mit zahlreichen Praxisbeispielen. Dabei liegt der Fokus auf der Erstellung von hochqualitativen, d. h. funktionierendem, flexiblem, wiederverwendbarem und wartbarem Code.

Das Buch ist sowohl für Anfänger als auch für fortgeschrittene Programmierer geeignet.

Anfänger finden in diesem Buch wertvolles Wissen, für das sie sonst Jahre oder Jahrzehnte bräuchten, um es durch eigene Erfahrung aufzubauen (wobei das Buch diese Erfahrung natürlich nicht ersetzen kann).

Forgeschrittene können in diesem Buch ihre eigene Erfahrung in strukturierter Form wiederfinden, sie festigen und vertiefen – und sicher noch den ein oder anderen zusätzlichen Tipp mitnehmen.

Neben zahlreichen Anekdoten und Analogien enthält jeder Abschnitt praktische Übungsaufgaben mit Lösungen am Ende des Buches. Ein Buch, das jeder Programmierer gelesen haben sollte.

Deutsche Übersetzung: Der Pragmatische Programmierer

Geeignet als Hörbuch? Nein, aufgrund zahlreicher Codebeispiele und Übungsaufgaben.

Bücher über Programmierung im Allgemeinen – Soft Skills

von John Sonmez

Link zum Buch bei Amazon

In diesem Buch gibt Entwickler und Life Coach John Sonmez hilfreiche Tipps zum Aufbau von Soft Skills, die ein Entwickler haben sollte, und die zu einem zufriedenstellenderen Leben als professioneller Softwareentwickler führen. Es geht um die Themen Karriereentwicklung, Eigenvermarktung, Lernen, Produktivität, Investmentstrategien und finanzielle Sicherheit, Fitness und mentale Gesundheit – alles aus der Perspektive eines Softwareentwicklers. Wer zur Abwechslung gerne einmal ein Buch für Programmierer ohne Quellcode und Diagramme lesen möchte, dem kann ich dieses Buch empfehlen.

Geeignet als Hörbuch? Ja, absolut. Besonders gefällt mir, dass John Sonmez seine Bücher selbst liest und immer wieder ein paar Absätze einstreut, die nicht im Buch vorhanden sind, z. B. wenn es zu einem Thema Neues zu sagen gibt.

von John Sonmez

Link zum Buch bei Amazon

Dieses Buch ist ein umfangreicher Ratgeber für eine erfolgreiche Karriere in der Softwareentwicklung. Es beantwortet Fragen aus allen Stufen der Entwicklerkarriere: Wie starte ich meine Karriere? Wie bekomme ich eine Job? In welche Richtung kann und sollte ich mich spezialisieren? Wie gehe ich mit Vorgesetzten und Kollegen um? Wie verdiene ich mir eine Beförderung? Wie entwickle ich mich selbst weiter? Das Buch ist einfach und unterhaltsam geschrieben, mit persönlichen Anekdoten angereichert und insgesamt sehr angenehm zu lesen.

Geeignet als Hörbuch? Ja, absolut. Besonders gefällt mir, dass John Sonmez seine Bücher selbst liest und immer wieder ein paar Absätze einstreut, die nicht im Buch vorhanden sind, z. B. wenn es zu einem Thema Neues zu sagen gibt.

von Chad Fowler

Link zum Buch bei Amazon (englische Originalausgabe)

Dieses Buch gibt Softwareentwicklern zahlreiche hilfreiche und praktische Tipps für beruflichen Erfolg und Karriereentwicklung. Der Autor beschreibt, welche technischen Fähigkeiten du als Programmierer haben solltest, wie du dich technisch weiterentwickeln solltest, aber auch wie du deinen Karriereweg nicht dem Zufall überlässt, sondern deine persönliche Entwicklung selbst in die Hand nimmst, eigene Ziele verfolgst und motiviert bleibst diese zu realisieren. Dazu geht er inbesondere darauf ein, wie du dich als Programmierer vermarktest und gibt zahlreiche kurze Handlungsempfehlungen.

Deutsche Übersetzung: The Passionate Programmer – Der leidenschaftliche Programmierer: Wie Programmierer ihre berufliche Laufbahn erfolgreich gestalten

Geeignet als Hörbuch? Ja, allerdings ist das Buch aktuell nicht als Hörbuch verfügbar.

Bücher über Java-Programmierung

von Joshua Bloch

Link zum Buch bei Amazon

In diesem Buch hat Joshua Bloch die wichtigsten Do's und Dont's der Java-Programmierung zusammengestellt: Best Practices, die dir helfen effiziente, les- und wartbare – und damit zukunftssichere – Software zu schreiben.

Das Buch richtet sich vor allem an erfahrene Java-Programmierer – gute Kenntnisse der Sprache werden vorausgesetzt. 

Einige der Praktiken wendest du sicherlich im Alltag bereits an; andere können neu für dich sein und dir helfen deine Fähigkeiten auf die nächste Stufe zu heben. 

Das Buch enthält 90 Artikel, die in 11 Themen gegliedert sind. Eine Menge Stoff – man kann ihn sich aber gut nach und nach zu Gemüte führen. Denn die Artikel stellen jeweils eine in sich abgeschlossene Einheit dar. 

Jeder Artikel enthält spezifische, gut verständliche Ratschläge, die von prägnanten, anschaulichen Code-Beispielen begleitet werden.

Jeder Java-Programmierer sollte dieses Buch gelesen haben. Ich empfehle dir das Buch einmal komplett zu lesen und dann, wenn du im Programmieralltag spezifische Aufgabenstellungen lösen musst, die entsprechenden Artikel noch einmal zu konsultieren.

Achte beim Kauf unbedingt darauf (insbesondere, wenn du gebraucht kaufst), dass du die aktuelle, dritte Ausgabe erwirbst! Die zweite Ausgabe ist auf dem Stand von Java 6 und nicht mehr aktuell.

Deutsche Übersetzung: Effective Java: Best Practices für die Java-Plattform

Als Hörbuch geeignet? Nein, wegen der zahlreichen Code-Beispiele.

von Maurice Naftalin

Link zum Buch bei Amazon

Dieses ist eine großartiges Buch über die in Java 8 eingeführten Lambdas und Streams. Trotz der Präsenz im Titel, nehmen Lambdas nur etwa das erste Viertel des Buches ein. Der größte Teil beschreibt Streams: wie man sie benutzt, wie man sie erzeugt und wie man sie mit Hilfe von Collectoren und Reducern terminiert. Ich empfehle dieses Buch sowohl Anfängern als auch Fortgeschrittenen. Anfänger werden Schritt für Schritt in die Funktionsweise von Lambdas und – darauf aufbauend – Streams herangeführt. Für Fortgeschrittene geht es über die Programmierung von Spliterators zur Erzeugung von Streams bis hin zu individuellen Collectoren und Reducern.

Geeignet als Hörbuch? Nein, aufgrund zahlreicher Diagramme und Codebeispiele.

von Maurice Naftalin und Philip Wadler

Link zum Buch bei Amazon

Während die Einführung in Generics heutzutage von den meisten Java-Entwickler übersprungen werden kann, geht es schnell an die fortgeschrittenen Themen wie Subtyping, Wildcards, Wildcard Captures und Bounds – Themen, mit denen jeder Java-Programmierer sicher schon einmal zu tun hatte, bei denen sich viele dann aber doch eher an Compiler-Fehlern entlanghangeln anstatt genau zu wissen, was sie tun. Im zweiten Teil des Buches werden die wichtigsten Collection-Interfaces und -Klassen des Java Collection Frameworks – Sets, Queues, Lists und Maps sowie deren Implementierungen – vorgestellt und im Hinblick auf nebenläufige Programmierung und Performance verglichen. Jeder fortgeschrittene Java-Programmierer sollte mit diesen Themen vertraut sein.

Geeignet als Hörbuch? Nein, aufgrund zahlreicher Codebeispiele.

Bonus: Romane

Hauptsächlich lese ich Fachbücher. Doch ab und zu, wenn ich eine gute Empfehlung bekomme, lese ich auch einen Roman. Einige, die mich besonders fasziniert haben, möchte ich an dieser Stelle empfehlen:

von Gene Kim, Kevin Behr, George Spafford

Link zum Buch bei Amazon (englische Originalausgabe)

Eine unterhaltsame und lehrreiche Geschichte über die Transformation einer alten, traditionellen IT-Abteilung in ein modernes agiles DevOps-Team.

Bill wird zum Leiter der IT-Abteilung ernannt und soll dem IT-Projekt „Phoenix“, das massiv unter Feature- und Termindruck steht, zum Erfolg verhelfen. Dabei bekommt er es mit Problemen zu tun, die die viele von uns nur zu gut kennen: Monate im voraus geplante, nicht fertiggestellte Features; manuelle Deployments, die schiefgehen und die Ops-Abteilung nächtelang wachhalten; Entwickler, die die Schuld auf Operations schieben und umgekehrt; Mitarbeiter, die sich direkt an Entwickler wenden – an allen Prozessen vorbei. Bill hat 90 Tage Zeit um das Chaos zu beheben, ansonsten wird seine Abteilung ausgelagert.

Deutsche Übersetzung: Projekt Phoenix: Der Roman über IT und DevOps – Neue Erfolgsstrategien für Ihre Firma

Geeignet als Hörbuch? Ja, absolut.

von Gene Kim

Link zum Buch bei Amazon (englische Originalausgabe)

"The Unicorn Project" spielt im gleichen Unternehmen und zur gleichen Zeit wie "The Phoenix Project". Es erzählt die Geschichte nicht aus Management-Sicht, sondern aus Sicht der Top-Programmiererin Maxine, die in die Phoenix-Abteilung "strafversetzt" wird.

Dort versucht sie das Phoenix-Projekt zu kompilieren und stößt dabei auf Probleme, die die meisten von uns nur zu gut kennen: mangelnde Dokumentation über das Aufsetzen der Entwicklungsumgebung, fehlende Zugänge, unzureichende Tests, nicht vorhandene Build- und Deployment-Automatisierung, unzureichende Infrastruktur – sowohl für Tests als auch für die Produktion.

Maxines Durchsetzungs- und Durchhaltevermögen helfen ihr Schritt für Schritt ihrem Ziel näher zu kommen. Dabei trifft sie auf eine geheime Untergrundorganisation, die "Rebellion", die sich zum Ziel gesetzt hat veraltete Herangehensweisen durch moderne Prinzipien der Softwareentwicklung zu ersetzen.

Das Buch zeigt – wie schon der Vorgänger – was möglich ist, wenn ein Traditionsunternehmen offen für die notwendigen Veränderungen des digitalen Zeitalters ist. Es ist unterhaltsam, leicht zu lesen, und es ist erfreulich, einige bekannte Charaktere wiederzutreffen.

Deutsche Übersetzung: Projekt Unicorn: Der Roman über Entwickler, Digital Disruption und das Überleben im Datenzeitalter

Geeignet als Hörbuch? Ja, absolut.

von Orson Scott Card

Link zum Buch bei Amazon (englische Originalausgabe)

Ender’s Game ist der erste Teil eines Science Fiction-Epos und für mich einer der besten Romane, den ich je gelesen habe. Die Geschichte handelt von Ender, der als Kind für ein Trainingsprogramm rekrutiert wird, um die Erde gegen eine drohende Invasion durch eine außerirdische Spezies zu verteidigen. Mehr möchte ich von der Handlung nicht verraten. Es gibt mehrere Folgeromane – die ersten vier Teile gibt es auch als Set: The Ender Quartet.

Deutsche Übersetzung: Enders Spiel: Roman (Die Ender-Saga, Band 1)

Geeignet als Hörbuch? Ja, sowohl die engische als auch die deutsche Version sind als Hörbücher verfügbar – ebenso die Fortsetzungen in englischer Sprache.

von Neal Stephenson

Link zum Buch bei Amazon (englische Originalausgabe)

Eine epische Science Fiction-Geschichte, die sich wie ein mehrere Romane umfassendes Werk anfühlt und die mich von Anfang bis Ende gefesselt hat. Etwas völlig anderes als ich bisher kannte. Um die Spannung nicht zu nehmen, möchte ich von der Handlung nichts erzählen. Ich empfehle auch jedem die Beschreibung bei Amazon nicht zu lesen, da diese meines Erachtens nach zu viel verrät. Das Buch wurde von Barack Obama und Bill Gates empfohlen.

Das Buch hat bei Amazon nur 3,6 Sterne – eine Bewertung, die ich persönlich nicht nachvollziehen kann. Die meisten Leser bemängeln, dass der Autor technische Zusammenhänge zu detailliert beschreibt. Mir persönlich hat das gefallen und daher ist es für mich eine klare Empfehlung für jeden anderen Programmierer. Bei Audible hat das Buch übrigens 4,3 Sterne.

Geeignet als Hörbuch? Ja.

Ansonsten lese ich gerne Bücher von Andreas Eschbach. Eschbach ist Science Fiction-Autor und ich persönlich mag die große Vielfalt der Themen, mit denen er sich befasst. Jede seiner Geschichten ist einzigartig.

Hat Dir der Artikel gefallen? Dann freue ich mich, wenn Du ihn über eines der folgenden Share Icons teilst.

  •  
  •  
  •  
  •  
  •  
  •  

About the author

Ich bin freiberuflicher Softwareentwickler mit über 20 Jahren Erfahrung in skalierbaren Java-Enterprise-Anwendungen. Mein Schwerpunkt liegt auf der Optimierung komplexer Algorithmen und auf fortgeschrittenen Themen wie Concurrency, dem Java Memory Model und Garbage Collection. Hier auf HappyCoders.eu möchte ich dir helfen, ein besserer Java-Programmierer zu werden. Lies mehr über mich hier.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}