Im ersten Teil unserer Reihe haben wir gezeigt, dass die Arbeit eines Entwicklers weit mehr ist als nur Code zu schreiben.
Wir haben über die ersten Tage im Softwarehaus gesprochen, über den Unterschied zwischen Studium und realen Projekten und darüber, warum Erfahrung vor allem durch Praxis gewonnen wird.
Heute gehen wir zur Frage über, die sich fast jeder Junior stellt. Was sollte ich eigentlich lernen?
Das Internet gibt zu allem Ratschläge. Einige sagen, man müsse unbedingt React kennen. Andere behaupten, die Zukunft gehöre Rust. Wieder andere überzeugen, dass es ohne Docker, Kubernetes und fünf Zertifikate keinen Sinn macht, den Lebenslauf zu verschicken.
Die Wahrheit sieht deutlich ruhiger aus...
Lerne keine Frameworks. Lerne Programmieren.
Dieser Satz mag seltsam klingen.
Schließlich schreiben Firmen Stellenanzeigen für React-Developer, Java-Developer oder PHP-Developer aus.
Warum sagen wir also, man solle nicht mit Frameworks anfangen? – Weil ein Framework ein Werkzeug ist. Und Werkzeuge ändern sich sehr schnell.
Vor einigen Jahren waren viele davon überzeugt, dass AngularJS Jahrzehnte lang dominieren würde. Heute sieht das ganz anders aus.
Du wirst Frameworks dein ganzes Berufsleben lang lernen. Die Denkweise eines Entwicklers bleibt dagegen für immer bei dir.
Darum lerne zuerst:
- Probleme zu lösen,
- Anforderungen zu analysieren,
- Lösungen zu entwerfen,
- Code von anderen zu lesen,
- lesbaren Code zu schreiben.
Technologie ist nur ein Mittel zum Zweck.
Beherrsche eine Sprache wirklich gut
Das ist wahrscheinlich der häufigste Fehler bei Einsteigern.
Heute JavaScript. Morgen Python. Übermorgen Go. In einer Woche Rust. Nach einem Monat C#...
Nach zwei Monaten stellt sich heraus, dass keine davon wirklich gut beherrscht wird. Viel besser ist es, eine Sprache auszuwählen und sie wirklich zu lernen.
Verstehe:
- wie Speicher funktioniert,
- was Referenzen sind,
- wie Ausnahmebehandlung aussieht,
- wie Collections funktionieren,
- wo der Unterschied zwischen synchroner und asynchroner Programmierung liegt,
- wie Debugging funktioniert.
Wenn du eine Sprache wirklich gut gelernt hast, wirst du neue Sprachen viel schneller aufnehmen können.
Lerne, Dokumentation zu lesen
Wenig spektakulär? Ja.
Außergewöhnlich nützlich? Noch mehr.
Ein guter Entwickler merkt sich nicht alles. Ein guter Entwickler weiß, wo er zuverlässige Antworten findet.
Die Dokumentation des Herstellers eines Frameworks oder einer Bibliothek ist fast immer eine bessere Wissensquelle als ein zufälliger Forenbeitrag von vor sechs Jahren.
Die Fähigkeit, Informationen zu suchen, unterscheidet genau diejenigen, die sich weiterentwickeln, von denen, die endlos Lösungen aus dem Internet kopieren.
Git ist kein "Senden"-Knopf
Wenn wir eine Fähigkeit nennen sollten, die man so früh wie möglich lernen sollte, wäre es Git. Nicht weil es trendy ist. Sondern weil praktisch jedes Entwicklerteam es nutzt.
Git ist nicht nur Änderungen zu speichern. Es ist eine Art der Zusammenarbeit. Branching. Pull Requests. Merge. Konfliktlösung. Änderungsverlauf.
Ohne das ist Teamarbeit in einem professionellen Team kaum vorstellbar.
Und noch ein Rat: Schicke niemals ein Projekt als ZIP-Datei. Wirklich nicht.
SQL – auch wenn du kein Datenbankadministrator werden willst
Viele Juniors meiden SQL. Das ist ein Fehler.
Die meisten Business-Anwendungen nutzen Datenbanken. Du musst kein Experte für Query-Optimierung werden.
Aber du solltest verstehen:
- was eine relationale Datenbank ist,
- wie Relationen funktionieren,
- was ein Index ist,
- wo der Unterschied zwischen LEFT JOIN und INNER JOIN liegt,
- warum schlecht geschriebene Abfragen die ganze Anwendung verlangsamen können.
Dieses Wissen ist in fast jedem Projekt nützlich.
Linux beißt nicht
Du musst nicht sofort Windows aufgeben. Aber es lohnt sich, die Grundlagen der Arbeit im Terminal zu lernen.
Die meisten Server laufen unter Linux.
Die Kenntnis grundlegender Befehle:
- ls,
- cd,
- grep,
- cat,
- chmod,
- ssh,
kann dir eine Menge Zeit sparen.
Am Anfang wirkt das ungewohnt. Nach ein paar Monaten ist die Arbeit ohne Terminal kaum vorstellbar.
Docker – warum reden alle darüber?
Noch vor einigen Jahren konnte das Einrichten einer Entwicklungsumgebung den ganzen Tag dauern.
Jeder hatte eine andere PHP-Version. Eine andere Datenbank. Andere Bibliotheken.
Docker hat dieses Problem stark vereinfacht. Es erlaubt, Anwendungen in identischer Umgebung unabhängig vom Rechner laufen zu lassen.
Sollte ein Junior sofort ein Experte für Containerisierung werden? – Nein.
Aber es lohnt sich zu verstehen, was ein Container ist und warum praktisch jedes moderne Projekt Docker verwendet.
KI ist ein großartiger Mentor. Kein perfekter Programmierer.
Das ist ein Thema, das man heute nicht ignorieren kann.
ChatGPT, GitHub Copilot und andere KI-Tools können das Lernen enorm beschleunigen. Unter einer Bedingung: Kopiere keinen Code ohne Verständnis.
Stattdessen ist es deutlich besser zu fragen:
- Warum ist diese Lösung besser?
- Wie funktioniert dieser Algorithmus?
- Wie kann man das optimieren?
- Welche Nachteile hat dieses Vorgehen?
KI erklärt sehr gut.
Sie sollte aber nicht das eigenständige Denken ersetzen.
Der Debugger ist dein Freund
Am Anfang machen die meisten Entwickler Folgendes: var_dump($variable);
Dann: echo $variable;
Und kurze Zeit später: console.log(daten);
console.log(daten2);
console.log(daten3);
console.log(daten4);
Jeder von uns hat so angefangen. Aber es lohnt sich, so früh wie möglich den Debugger zu lernen.
Er erlaubt, das Programm an beliebiger Stelle anzuhalten, Werte von Variablen zu betrachten und zu verstehen, was während der Ausführung des Codes wirklich passiert.
Das ist eine Fähigkeit, die die Entwicklung deutlich beschleunigt.
Welche Hardware soll man wählen?
Viele erwarten hier eine Liste von Computern für mehrere tausend Euro. Unnötig.
Am Anfang sind wichtiger als die neueste CPU:
- eine bequeme Tastatur,
- schnelle SSD,
- ausreichend RAM,
- eine stabile Arbeitsumgebung.
RGB-Beleuchtung beschleunigt keine Kompilierung. Drei Monitore machen den Code auch nicht besser.
Gute Hardware sollte beim Arbeiten helfen, nicht auf Fotos Eindruck machen (auch wenn das Erscheinungsbild nicht ganz egal ist ;)).
Glossar
Framework
Ein fertiges Set an Werkzeugen und Bibliotheken, das das Erstellen von Anwendungen nach bestimmten Regeln erleichtert.
Git
Ein Versionskontrollsystem, das Änderungen im Code verfolgt und mehreren Entwicklern die Zusammenarbeit an einem Projekt ermöglicht.
Docker
Eine Plattform, die das Ausführen von Anwendungen in isolierten Containern ermöglicht, sodass die Umgebung auf verschiedenen Rechnern identisch ist.
Debugger
Ein Werkzeug, um das Verhalten eines Programms Schritt für Schritt zu analysieren und Fehler zu finden.
SQL
Eine Sprache zur Kommunikation mit relationalen Datenbanken.
Zusammenfassung
Ein guter Entwickler kennt nicht alle Technologien. Er kennt nicht alle Frameworks. Er erinnert sich nicht an die gesamte Dokumentation.
Ein guter Entwickler hat solide Grundlagen.
Er weiß, wie man Probleme analysiert.
Er kann Informationen finden.
Er versteht die Funktionsprinzipien von Technologien.
Und genau deshalb kann er schnell neue Werkzeuge lernen.
Frameworks werden sich ändern.
Sprachen werden sich weiterentwickeln.
Die Art zu denken bleibt die wertvollste Fähigkeit über die gesamte Karriere hinweg.
Im nächsten Teil zeigen wir, wie der Alltag eines Senior Developers aussieht, warum Code Reviews die beste Schule fürs Programmieren sind, was Clean Code wirklich bedeutet und warum der Satz "bei mir funktioniert's" bei vielen Entwicklern ein nervöses Lächeln auslöst.



