7 Punkte von GN⁺ 2023-12-21 | 1 Kommentare | Auf WhatsApp teilen

Ratschläge für angehende Softwareentwickler

  • Dass Leute mir zuhören, liegt nicht an meinem Programmierkönnen, sondern an meinem Schreibkönnen. Bei den Ratschlägen anderer ist es genauso: Man hört ihnen wegen ihrer Schreibfähigkeiten zu.
  • Es gibt nur sehr wenig wissenschaftliche Forschung zu Software, und die meisten Schlussfolgerungen sind unsicher. Behauptungen über „objektive Wahrheit“ sollte man daher mit etwas Skepsis betrachten und sorgfältig überlegen, wie sie auf die eigene Situation anwendbar sind.
  • Mach dir nicht zu viele Sorgen darüber, etwas Falsches zu lernen oder getäuscht zu werden. Wenn dir eine Idee gefällt, probiere sie aus. Solange du deinen Kollegen nicht schadest, wird es am Ende schon gut ausgehen.

Debugging: 9 Regeln

  • Ich empfehle, das Buch „Debugging: 9 Rules“ zu lesen. Du kannst es in der Bibliothek ausleihen oder deine Firma bitten, es zu kaufen. Es vermittelt auf leicht verständliche Weise wichtige Fähigkeiten, die in fast allen anderen Büchern für Programmieranfänger kaum behandelt werden.

Die Entdeckung des richtigen Weges

  • Irgendwann wirst du überzeugt sein, den richtigen Weg des Programmierens entdeckt zu haben, und dass das Feld viel besser wäre, wenn alle diesen Weg nutzen würden.
  • Ich sage nicht, dass du dich davon fernhalten sollst, aber ich rate dir, dir bewusst zu machen, dass du gerade von diesem „richtigen Weg“ mitgerissen wirst, und deine Identität nicht darauf aufzubauen, ein Mensch des richtigen Weges zu sein.
  • Letztlich wirst du lernen, dass Programmierung frustrierende und chaotische Arbeit ist, egal welchen richtigen Weg man verwendet, und dass man auch ohne den richtigen Weg hervorragende Software bauen kann.

Die Geschichten hinter Best Practices

  • Hinter Best Practices steckt immer eine Horrorgeschichte. Wenn du eine Best Practice nicht verstehst, hilft es oft, die Horrorgeschichte zu suchen, die sie inspiriert hat.
  • Viele Best Practices und Konventionen entstehen aus einer Mischung historischer und kultureller Faktoren. Häufig folgt man Methoden, die Mentoren benutzt haben, um Probleme zu lösen, die heute gar nicht mehr relevant sind.

Verschiedene Arten des Programmierens ausprobieren

  • Ich empfehle, zu Beginn der Karriere nach Möglichkeit verschiedene Arten des Programmierens auszuprobieren. Das bedeutet nicht unbedingt, den Job zu wechseln; in den meisten Unternehmen macht man ohnehin gleichzeitig mehrere Arten von Programmierung.
  • Wenn du verschiedene Arten des Programmierens ausprobierst, lernst du nicht nur mehr, sondern erhöhst auch die Chance, die Art von Softwarearbeit zu finden, die dir wirklich liegt.

Wandel im Softwarebereich

  • Der Softwarebereich verändert sich ständig, und ich rate dazu, sich nicht vom Framework-Treadmill mitreißen zu lassen, sondern sich auf das Erlernen grundlegender Fähigkeiten zu konzentrieren.
  • Es gibt strukturelle Gründe dafür, dass sich Informationen in der Softwarewelt schnell verbreiten. Durch das Internet, Open Source, Konferenzen und Ähnliches sind die Hürden zum Teilen von Ideen niedrig.
  • Viele Technologien haben nur eine kleine Nutzerschaft, können aber durch die Art, wie man von ihnen hört, so wirken, als würden sie breit übernommen. Deshalb ist ein konservativer Ansatz sinnvoll.

Meinung von GN⁺

  • Das Wichtigste an diesem Text ist der Prozess, in dem man als Entwickler durch eigene Erfahrungen lernt und wächst. Die Ratschläge anderer können als Orientierung dienen, aber am Ende ist entscheidend, sie auf die eigene Situation anzupassen.
  • Die Suche nach dem „richtigen Weg“ in der Programmierung ist eine persönliche Reise, durch die man die Fähigkeit entwickeln kann, verschiedene Ansätze zu verstehen und zu kombinieren.
  • Technologische Veränderungen zu verstehen und neue Trends mit einem vernünftigen Ansatz zu betrachten, ist für eine nachhaltige Entwicklerkarriere essenziell.

1 Kommentare

 
GN⁺ 2023-12-21
Hacker-News-Kommentare
  • Zusammenfassung des ersten Kommentars:

    • Es werden Erfahrungen aus der Zusammenarbeit mit zwei Entwicklern in einem Hobbyprojekt geteilt.
    • Obwohl das Projekt klein war, wurde Unmut über überzogene Anforderungen an das Engineering geäußert.
    • Es wird eine kritische Sicht auf Entwickler präsentiert, die auf der „richtigen Methode“ beharren.
    • Es wird erwähnt, dass man selbst früher ähnliche Erfahrungen gemacht hat, aber erkannt hat, dass am Ende funktionierender Code wirklich wichtig ist.
  • Zusammenfassung des zweiten Kommentars:

    • Ein Softwareprofi mit 15 Jahren Berufserfahrung teilt seine Erfahrungen.
    • Er hat das Gefühl, dass die Lehren aus seiner frühen buddhistischen Ausbildung auch für die Softwareentwicklung nützlich sind.
    • Er beschreibt die Lektionen, die er durch seine Erfahrung als Entwickler gelernt hat, und betont, wie wichtig es ist, sich nicht nur auf die eine „richtige Methode“ zu versteifen.
  • Zusammenfassung des dritten Kommentars:

    • Es wird argumentiert, dass es hilfreich ist, Techniken wie TDD (Test-Driven Development) zu lernen, auch wenn man sie nicht immer direkt einsetzt.
    • Es wird hervorgehoben, dass man durch das Erlernen verschiedener Techniken und Sprachen lernen kann, besseren Code zu schreiben.
  • Zusammenfassung des vierten Kommentars:

    • Es wird darauf hingewiesen, dass die Fixierung auf die „richtige Methode“ die Entwicklung eines Entwicklers behindern kann.
    • Es wird vermutet, dass dies daran liegen könnte, dass Entwicklern die nötige Aufmerksamkeit fehlt, um ihr Wissen zu erweitern, oder dass sie sich an ihrer aktuellen Position zu wohl fühlen.
  • Zusammenfassung des fünften Kommentars:

    • Es wird empfohlen, jede Form von Zustand (state) zu minimieren, also Code, zu merkende Informationen und Projektdetails.
    • Es wird argumentiert, dass die Minimierung von Zustand bei der Problemlösung hilft.
  • Zusammenfassung des sechsten Kommentars:

    • Es wird erwähnt, dass gute Schreibfähigkeiten Leser stärker beeinflussen können als Fachwissen.
    • Es wird geraten, verschiedene Arten von Arbeit auszuprobieren und mehr über andere Rollen im Unternehmen zu lernen.
  • Zusammenfassung des siebten Kommentars:

    • Es wird betont, dass man gegenüber Inhalten, die man auf Video-Sharing-Diensten wie YouTube lernt, skeptisch sein sollte.
    • Es wird daran erinnert, dass Softwareentwicklung dem Lösen von Problemen dient, und geraten, durch Gespräche mit anderen besser zu verstehen, welche Probleme Software lösen soll.
  • Zusammenfassung des achten Kommentars:

    • Es wird ein Buch über Debugging empfohlen, das beim Lösen verschiedener technischer Probleme helfen soll.
    • Das Buch wird als leicht und interessant zu lesen beschrieben und als Quelle nützlicher Techniken bewertet.
  • Zusammenfassung des neunten Kommentars:

    • Es wird betont, dass das Schreiben von Code nicht das Ziel selbst ist, sondern ein Mittel zur Problemlösung.
    • Es wird geraten, sich auf das Problem zu konzentrieren, das der Code lösen soll, und andernfalls mit dem Codieren aufzuhören und das Problem zuerst zu klären.
  • Zusammenfassung des zehnten Kommentars:

    • Es wird erwähnt, dass gute Schreibfähigkeiten bei der Kommunikation mit anderen helfen und für Softwareentwickler wichtig sind.
    • Anfängern in der Entwicklung wird empfohlen, ihre Erfahrungen und Gedanken aufzuschreiben, weil das später eine nützliche Fähigkeit sein wird.