software entwickler roadmap

Software-Entwickler-Roadmap: Die 7 Level eines Programmieres

Software-Entwickler-Roadmap

Der Weg zum Software-Entwickler ist lang und gerade am Anfang fällt es einem schwer bei den ganzen Technologien den Überblick zu behalten. In diesem Beitrag möchte ich dich über die Software-Entwickler-Roadmap informieren und dir hoffentlich auch Mut machen dran zu bleiben.




LVL 0: Du bist kein Programmierer

Womöglich hast du folgendes Video gesehen:

Und dachtest dir “Hey ich hänge doch sowieso dauernd vor einem Bildschirm. Dann kann ich sicher auch programmieren lernen? So schwer kann das doch nicht sein.“

Also begibst du dich auf YouTube oder Google und suchst nach „Programmieren lernen“.

LVL 1: Erste Schritte

Du wirst fündig und versuchst einem zufälligen Programmiertutorial zu folgen, wobei du folgende Erfahrung sammelst:

LVL 2: Die Schockphase

Du hast den ersten Kontakt mit der Programmierung, Entwicklungsumgebungen und der Programmierlogik gemacht und bist nun traumatisiert. In der Regel geht dies mit intensiven Gefühlen der Frustration einher. Programmier-Memes verstehst du nicht und findest sie dementsprechend nicht witzig. “Warum sollte mein Schmerz witzig sein?”, fragst du dich. Allein der Gedanke daran selbstständig ohne Hilfe ein Programm zu schreiben löst bereits eine Panikattacke aus. Aber keine Sorge, es wird besser glaub ich.

LVL 3: Verarbeitungsphase

Der Kontakt mit Code hat dir eine Wunde zugefügt. Nun wird es Zeit für dich zu heilen. Es wird Zeit nach innen zu kehren und sich zu fragen “Will ich wirklich Programmierer werden?” , “Oder macht es vielleicht doch einfach eine Karriere als Influencer?”

Solltest du dich entgegen deines Flucht-Instinkts dazu entscheiden dennoch weiter diesen Pfad zu schreiten, dann wird es nun Zeit das Trauma zu verarbeiten. In dieser Phase machen es sich angehende Programmierer in der Regel leicht, indem sie anfangen einfache Projekte umzusetzen. Sie schauen Tutorials und bauen die Projekte nach Anleitung nach. Das ist wichtig, denn auf diese Weise kannst du die Frustration möglichst gering halten, was einen motiviert weiter am Ball zu bleiben. Rückschläge halten sich hier in der Regel in Grenzen, obwohl es auch beim Folgen einer Anleitung immer wieder zu Problemen kommen kann. So kann sich etwas an der Version der Engine geändert haben(falls man Spiele entwickelt), oder dein Browser ist veraltet. Wichtig ist hier:

Kopf hoch! Du schaffst das!

LVL 4: Akzeptanz

Du hast nun deine Selbstheilungskräfte zusammen genommen und folgende Einsicht erlangt:

Irgendwie kommt keiner so richtig klar und das ist ok.

Das stimmt. Wir googlen immer noch. Alle. Andauernd. Du hast das Trauma überstanden und deine Belastbarkeitsgrenze ist nun gestiegen.

Außerdem hast du dich an die Bugs und Fehlermeldungen gewöhnt und gehst nun davon aus, dass es erstmal nicht funktioniert, aber später irgendwann schon irgendwie funktionieren wird.

In deinen Meditationssessions denkst du nicht mehr an deine Atmung, sondern stellst dir einen blinkenden Cursor vor.

Auf diesem Level hast du bereits mindestens eine Programmiersprache erlernt, womöglich sogar schon zwei oder drei. Du hast erkannt: “Irgendwie sind die doch eh alle gleich!?” und hast damit recht. Irgendwie schon. Spätestens hier hast du eine starke Abneigung gegenüber PHP entwickelt und fängst an Programmier-Memes zu begreifen, aber findest sie immer noch nicht witzig.

Zu diesem Thema habe ich einen Beitrag geschrieben: Warum du immer noch nicht Programmieren kannst!

LVL 5: Junior Entwickler

Wenn du hier ankommst, hast du in der Regel schon eine fertige Ausbildung, ein Studium oder hast als Autodidakt einige Projekte vorzuweisen. Du hast vielleicht sogar schon ein Praktikum hinter dir, oder sogar schon deinen ersten Job als Junior Entwickler. “Es ist noch nicht zu spät umzukehren” denkst du vereinzelt beim Duschen. Aber entscheidest dich dennoch am Ball zu bleiben. Denn irgendwie müssen die Rechnungen bezahlt werden, “Und jetzt noch BWL zu studieren kommt auch nicht so gut auf der Bewerbung.”

Außerdem stellst du fest, dass du dich trotz jahrelanger Erfahrung immer noch wie ein Anfänger fühlst. Das sogenannte Imposter-Syndrom, welches ich mir nicht ausgedacht habe.

Das Hochstapler-Syndrom, teilweise auch Impostor-Syndrom, Impostor-Phänomen, Mogelpackungs-Syndrom oder Betrüger-Phänomen genannt, ist ein psychologisches Phänomen, bei dem Betroffene von massiven Selbstzweifeln hinsichtlich eigener Fähigkeiten, Leistungen und Erfolge geplagt werden und unfähig sind, ihre persönlichen Erfolge zu internalisieren.

https://de.wikipedia.org/wiki/Hochstapler-Syndrom

Das hat jedoch nicht direkt etwas mit dir zu tun, sondern mit dem Fachgebiet der Informatik. Denn in keinem anderen Fachgebiet gibt es so einen schnellen Wandel an Technologien.

Das Fachgebiet der Informatik ist ein gewaltiges Ökosystem aus Programmiersprachen, Frameworks, Libraries und Klugschei*ern auf Stackoverflow.

Laut Wikipedia gibt es aktuell(22.01.2021) mindestens 24 Javascript-Framworks und ungefähr 83 Libraries und es gibt noch genug andere Programmiersprachen.

Es ist also nicht deine Schuld, dass du dich immer noch wie ein Anfänger fühlst. Fähigkeiten, die du bis hierhin erworben hast, sind:

  • Eine oder mehrere Programmiersprachen
  • Git und Github/Gitlab
  • Datenbanken
  • APIs

Außerdem erhältst du nur die unkomplizierten Aufgaben im Unternehmen und kannst den Kundenkontakt – glücklicherweise – vermeiden. Glücklicherweise für den Kunden, denn der Kunde müsste eine ungekämmte, nach Deo riechende Person ertragen.

LVL 6: Senior Entwickler

Als Senior Entwickler hast du begriffen, dass es keinen Sinn ergibt der neusten Trend-Programmiersprache oder Library hinterherzulaufen. Du arbeitest sowieso in einem Unternehmen welches immer noch Perl verwendet. Gekämmt und geduscht kannst du souverän dem Kunden gegenübertreten und ihn über die Gründe der Verzögerung informieren.

Außerdem ist es jetzt deine Verantwortung, die Frischlinge zu überwachen und ihnen bei vielen Fragen – die immer wieder kommen, zu Sachen, die du schon mehrfach beantwortet hast – aushelfen zu können. Aber auch du googelst immer noch die gleichen Dinge, die du vor 5 Jahren gegoogelt hast. Nichtsdestotrotz, verstehst du das große Ganze. Du weißt wie Software aufgebaut ist und was guten von schlechtem Code trennt. Debugging, Refactoring und Entwurfsmuster sind für dich keine Fremdwörter mehr. Junior Entwickler sehen mit strahlenden Augen zu dir auf, nur damit du im Code Review ihre Hoffnungen und Träume zerstören kannst. Außerdem zahlst du zu diesem Zeitpunkt den größten Steuersatz und denkst darüber nach, nach Luxemburg oder in die Schweiz auszuwandern.

LVL 7: Unicorn

Du träumst in Programmiercode, denkst über die Programmierung eines Multiversums nach und chattest mit dem Architekten. Außerdem hast du tiefgründige Kenntnisse über die Programmierung von Datenbanken, Software-Engineering, kennst alle APIs, Frameworks und Libraries. Du verstehst die komplizierten Teile von Javascript und bist außerdem ein guter Frontend-Entwickler, welcher seine eigenen Screendesigns gestaltet. Außerdem beherrschst du alle 56 Adobe Apps. Verdammt jetzt sind es 57…58… Es werden immer mehr rettet mich.

Fazit

Der Weg zum Entwickler ist lang und kann für viele frustrierend sein. Doch Was Anfänger häufig nicht verstehen ist, dass es normal ist frustriert zu sein. Es ist normal etwas zu nicht verstehen. Normal sich wie ein Anfänger zu fühlen, auch nach mehreren Jahren Erfahrung. Es ist normal dass der Code nicht direkt läuft und es gibt eine Community aus Menschen die da sind, um dir zu helfen. Welche Erfahrung hast du als Entwickler gesammelt? Schreib mir doch einen Kommentar.

Hat dir der Inhalt gefallen?

Falls du mehr zu Themen der Informatik lesen willst, kannst du die Suche dafür verwenden:


Du bist der Meinung, dass das ein super Beitrag zum Thema Informatik war? Dann ist die einzig logische Schlussfolgerung, diesen Beitrag mit deinen Kommilitonen zu teilen. Oder auch nicht mach was du willst, ich bin nicht dein echter Dad.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert