Ab wann zählt man beim Programmieren als fortgeschritten?

8 Antworten

Ich kann jetzt Variablen, Funktionen, verschiedene Schleifentypen, arrays usw. und würde behaupten, ich habe mich langsam in die Denkweise eingedacht,

Damit bist du Anfänger, der die ersten Lernphasen hinter sich gebracht hat. Ungefähr wie ein Everest-Besteiger, der erfolgreich die Wanderung ins Basislager geschafft hat. Gratulation, der Weg ist noch sehr weit.

Ein guter Indikator ist StackOverflow!

Je mehr Antworten aus deinem Fachgebiet du dort als fehlerhaft, ineffizient oder unelegant erkennst, bzw. je mehr eigene Lösungen du auf Anhieb für Probleme findest, die laut SO angeblich unmöglich lösbar sein sollen, desto fortgeschrittener / professioneller bist du.

Früher oder später merkt jeder, der nicht stehen bleibt und sich stetig weiterentwickelt, was für eine Müllhalde SO eigentlich ist.

Aber bis dahin ist es ein seeehr langer Weg, und viele erlangen obige Erkenntnis leider nie, wie du an blinden Lobpreisungen auf SO im ganzen Netz und auch RL sehen kannst.

Fazit: Wann du fortgeschritten bist, weiß ich nicht, aber auf dem Weg zum Profi befindest du dich sicherlich, wenn du anfängst SO äußerst kritisch zu sehen. :)

Woher ich das weiß:Berufserfahrung
Palladin007  14.09.2021, 02:21

Und was mache ich, wenn ich nicht auf StackOverflow aktiv bin?
Ich hab mich mal angemeldet und stichprobenartig ein paar Fragen angeschaut, aber da die im Grunde der gleiche Einheitsbrei sind, wie hier, hab ich's dann wieder gelassen.

0

Das muss jeder für sich entscheiden.

Ich persönlich würde vermutlich zwischen "kein Anfänger mehr" und "fortgeschritten" unterscheiden.

Mit "kein Anfänger mehr" meine ich, dass Du sicher im Umgang mit den meisten Grundlagen bist und eigene Konzepte oder Programm-Strukturen entwickeln kannst. Deinen Satz würde ich irgendwo davor einschätzen, aber das ist natürlich nur sehr wage.

Außerdem unterscheide ich zwischen "Programmierer" und "Softwareentwickler". Ein Programmierer programmiert nur, ohne über den Tellerrand hinaus zu denken, ein Entwickler behält das Gesamtbild im Auge und plant auch Quellcode-Design, CleanCode, Wartbarkeit, Testbarkeit, Performance, etc. mit ein.

Unter "fortgeschritten" würde ich also eine Kombination aus "kein Anfänger mehr" und "Softwareentwickler" verstehen. Nur die Programmiersprache (und grundlegende Framework-Inhalte) halbwegs zu können und die wichtigsten Tools zu beherrschen, fällt für mich unter Grundlagen und ist in dem Job gerade Mal der Anfang. Danach sind die Erfahrungen und Einschätzungen bezüglich der Art und Weise, wie man die verschiedenen Probleme und Anforderungen löst, entscheidend.
Und genau da sehe ich "fortgeschritten".

Aber wie gesagt: Das sieht jeder ein bisschen anders und ich würde mich so einschätzen, dass ich sehr hohe Ansprüche habe.

Bezüglich der Buch-Wahl:

Ich weiß nicht, ob es allgemein Bücher gibt, die nicht die Grundlagen behandeln, wenn es dir also um ein allgemeines Buch geht, dann würde ich das nicht mit einbeziehen. Wenn Du doch ein gutes Buch findest, das die Grundlagen überspringt, dann nimm das, was dir da noch fehlt, kannst Du ja online leicht nachlesen, oder Du schaust später wieder rein, verschwendet ist es jedenfalls nicht.

Alternativ kannst Du auch spezialisierte Bücher kaufen, die beschäftigen sich dann nur mit der konkreten Technologie, lassen aber alles andere außenvor.

Wenn dein Wissen bisher nur aus (Video-) Tutorials stammt, dann solltest Du dir definitiv noch ein Grundlagen-Buch besorgen, denn die allermeisten Tutorials, die ich bisher gesehen habe, haben auf dem Gebiet sehr große Lücken. Außerdem taugen solche Bücher auch gut als Nachschlagewerk, wenn Du mit sowas arbeiten möchtest.

Bedenke aber in jedem Fall, dass solche Bücher sehr gut, aber auch sehr schlecht sein können. Die besten Tipps bekommst Du, wenn Du in einem auf die Programmiersprache spezialisierten Forum nach Bücher-Empfehlungen suchst oder fragst.

Woher ich das weiß:Berufserfahrung
Palladin007  14.09.2021, 02:13

Ach ja und ein "fortgeschrittener" Entwickler kennt auch etwas mehr als nur einfache Konsolen-Anwendungen, sondern kann mit Datenbanken oder komplexen Benutzeroberflächen arbeiten.

0
Palladin007  14.09.2021, 02:22

Ach und noch was:

Wenn man mit einer objektorientierten Programmiersprache arbeitet, sollte man die Objektorientierung auch aus dem FF beherrschen und den Sinn und die Ziele dahinter begriffen haben.

Und das gehört mMn. definitiv zu den Grundlagen.

0

Das wird wohl sehr subjektiv sein, ab wann man als Fortgeschrittener gezählt werden kann.

IMHO sollte man mindestens in der Lage sein, gängige Datenstrukturen und Algorithmen runterzuschreiben. Der Code sollte ordentlich strukturiert sein - also keine Klumpen, die noch Refactoring brauchen.

----

Nach dem was Du schreibst, würde ich kein Buch für Fortgeschrittene empfehlen und ja, ein ordentliches Buch, daß Dich auch an die Eigenheiten einer Sprache heranführt lohnt sich in aller Regel.

Aber vielleicht schaust Du einfach mal in einige in Frage kommende Bücher für anfänger und Fortgeschrittene Hinein, das könnte bei der Wahl des geeigneten Buches sicherlich helfen.

Wenn du mich fragst, solltest du am besten ein kleines Projekt starten, das dich interessiert. Durch Praxis festigt man die Grundlagen und lernt noch ne Menge dazu, weil man i.d.R. anfangs viel googeln muss ;). Evtl. Solltest du dir vorher noch eigene Datentypen (Klassen) anschauen, da diese das Projekt deutlich angenehmer machen könnten.

Währenddessen und danach kannst du dir nach und nach fortgeschrittenere Themen angucken (z.B. Paradigmen wie objektorienterte Programmierung, coding principles & "clean code" vs. code smells, refactoring, testing, später design- & architectural patterns, ...).