- Der Autor hat viele Entwickler kennengelernt und begann dabei über die gemeinsamen Eigenschaften der besten Entwickler nachzudenken
- Dieser Text ist ein Beobachtungsprotokoll, das Einsteigern und Menschen mit Wachstumswillen Inspiration geben soll
Lies zuerst die Referenzdokumentation
- Es ist wichtig, sich anzugewöhnen, zuerst die offizielle Dokumentation zu lesen, statt zuerst auf Stack Overflow oder zu einem LLM zu gehen
- Die offizielle Dokumentation von Apache, Python, TOML usw. ist tatsächlich ziemlich gut geschrieben
- Sich anzugewöhnen, direkt aus den Quellen zu lernen, hilft langfristig enorm
Verstehe deine Werkzeuge in der Tiefe
- Ein Werkzeug „benutzen“ zu können und es wirklich zu „verstehen“ sind zwei verschiedene Ebenen
- Wer ein Werkzeug gut kennt, kann jede einzelne Einstellung erklären
- Um es wirklich zu verstehen, sollte man Folgendes über das Werkzeug wissen:
- seine Geschichte (warum es entwickelt wurde)
- seine Gegenwart (wer es pflegt)
- seine Grenzen (wann es nicht passt)
- sein Ökosystem (umliegende Tools, Bibliotheken usw.)
- Wenn du zum Beispiel Kafka als Kernwerkzeug nutzt, solltest du mehr darüber wissen als das, was man auf Reddit aufschnappt
Lies Fehlermeldungen sorgfältig
- Wenn man Fehlermeldungen aufmerksam liest, stecken darin Hinweise
- Die besten Entwickler können schon aus wenigen Informationen auf das Problem schließen
- 80 % der Probleme lassen sich lösen, wenn man die Fehlermeldung nur richtig liest
Zerlege Probleme in kleine Teile
- Festzustecken passiert jedem, und man muss ein Problem zerlegen können, um es zu lösen
- Menschen mit viel Erfahrung oder starker Problemlösungskompetenz können das leicht
- Die Kernaufgabe von Entwicklern besteht letztlich darin, große Probleme in kleine Probleme zu zerlegen
- Wenn man die einfachen Teilprobleme Schritt für Schritt löst, löst sich auch das Gesamtproblem
Gehe furchtlos mit Code um
- Die besten Entwickler haben keine Angst davor, Code zu lesen
- Ohne Sätze wie „Das ist nicht mein Bereich“ probieren sie es einfach aus und lernen
- Selbst bei Code, den sie zum ersten Mal anfassen, werden sie oft schnell zu Experten im Team
Hilf immer anderen
- Entwickler, die auch in stressigen Zeiten helfen, sind gute Teammitglieder und hervorragende Fachleute
- Neugier und eine kooperative Haltung sind unverzichtbare Eigenschaften guter Entwickler
Schreib
- Herausragende Entwickler können nicht nur gut reden, sondern auch ihre Gedanken schriftlich ausdrücken
- Sie teilen ihre Gedanken über Blogs, Vorträge oder Open-Source-Aktivitäten
- Schreibfähigkeit ist direkt mit der Struktur des Denkens verbunden
- Der Code von Menschen, die gut schreiben, ist strukturiert, klar und manchmal sogar geistreich
Hör nie auf zu lernen
- Wirklich herausragende Entwickler lernen unabhängig vom Alter ständig weiter
- Sie haben keine Scheu davor, neue Werkzeuge oder Sprachen auszuprobieren
- Sie folgen neuen Technologien nicht blind, sondern analysieren ihre Vor- und Nachteile selbst
- Selbst in jungen Jahren hört Wachstum auf, wenn man in feste Denkmuster verfällt
Hänge nicht an Status
- Gute Entwickler suchen unabhängig von ihrer Rolle bei jedem nach Lernmöglichkeiten
- Sie haben die Haltung, auch von Berufseinsteigern etwas lernen zu können
- Gespräche mit Menschen, die neue Perspektiven mitbringen, inspirieren sie
Bau dir einen Ruf auf
- Können ist wichtig, aber ebenso wichtig ist es, dass dieses Können sichtbar wird
- Ein Ruf ist ein Mittel, den eigenen Einfluss zu vergrößern
- Einen Ruf kann man zum Beispiel so aufbauen:
- wichtige Services selbst entwickeln oder ausrollen
- bekannte Tools entwickeln
- zu bekannten Open-Source-Projekten beitragen
- Bücher schreiben, die oft zitiert werden
- Ein Ruf entsteht nicht über Nacht, sondern braucht beständige Anstrengung und Zeit
Hab Geduld
- Man braucht Geduld sowohl mit Menschen als auch mit Computern
- Die Menschen um dich herum sind keine Idioten, ihnen fehlen nur Informationen
- Ohne Geduld baut sich leicht Frust auf, und Zusammenarbeit wird schwierig
- Um schwierige Probleme zu lösen, braucht man Konzentration und Ausdauer
Gib nicht dem Computer die Schuld
- Die besten Entwickler geben niemals dem System oder äußeren Umständen die Schuld
- Selbst Probleme, die oberflächlich zufällig wirken, haben einen logischen Grund
- Wichtig ist die Haltung, so lange nachzubohren, bis man die Ursache gefunden hat
Sei in der Lage zu sagen: „Ich weiß es nicht“
- In Interviews habe ich manchmal bewusst auf den Moment gewartet, in dem jemand sagt: „Ich weiß es nicht“
- Entscheidend ist nicht die Antwort, sondern die Haltung
- Die besten Kandidaten geben zu, dass sie etwas nicht wissen, und beginnen dann zu schlussfolgern
- Diese Haltung zeigt, dass jemand lernfähig ist
- Wer lügt oder so tut, als wüsste er etwas, wirkt sich negativ auf das Team aus
Rate nicht
- Wie in der Philosophie von PEP 20 gilt: Wenn etwas mehrdeutig ist, rate niemals
- Die Gefahren des Ratens:
- Wenn du falschliegst, entsteht ein Bug
- Selbst wenn du richtigliegst, glaubst du womöglich an eine falsche Annahme und verursachst später Probleme
- Wenn du dir nicht sicher bist:
- frag nach
- lies die Dokumentation
- nutze Debugging-Tools
- suche nach Belegen
Halte es einfach
- Kluge Menschen schreiben cleveren Code, großartige Menschen schreiben einfachen Code
- Einfacher Code ist für Wartung deutlich besser
- Echte Kompetenz zeigt sich darin, unterscheiden zu können, wann Komplexität nötig ist und wann nicht
Abschließende Gedanken
- Dieser Text ist keine Checkliste, und hervorragendes Engineering ist kein Wettbewerb
- Täusche dich jedoch nicht selbst und glaube nicht, schwierige Arbeit überspringen zu können
- Es gibt keinen Abkürzungsweg, um ein großartiger Entwickler zu werden
19 Kommentare
Vielen Dank für den guten Artikel!!
Ich finde Trost in der Aussage, dass dieser Text keine Checkliste ist, und Mut in der Aussage, dass es keine Abkürzung gibt.
Wenn man die Projekte des Unternehmens versteht,
wird man – egal, ob man Senior-Entwickler im Bereich Firmware, App oder Web ist –
wohl ein Niveau erreichen, auf dem man anhand von Web-, App- oder Firmware-Debug-Logs nachvollziehen und debuggen kann, wie ein Problem entstanden ist.
Ich erinnere mich an das Verhalten, das ich während des Vorstellungsgesprächs vermutet hatte.
Persönlich halte ich es auch für wichtig, „immer darüber nachzudenken, was ich eigentlich baue“.
Es gab also den guten Begriff
Critical Thinking.Das hat mir wirklich sehr geholfen. Vielen Dank für den guten Artikel.
Dann kann man also einfach das LLM bitten, die offizielle Dokumentation zu lesen!
RTFM: Lest bitte die offizielle Dokumentation.
Es heißt zwar, dass es keine Checkliste ist, aber ich sollte es wohl zu meiner Checkliste machen.
Ich stimme sehr zu, dass man sich unbedingt die offizielle Dokumentation ansehen sollte.
Als ich zum ersten Mal Programmieren unterrichtete, hatte ich den Eindruck, dass sich die Eignung als Programmierer zuerst daran zeigt, ob jemand Fehlermeldungen sorgfältig lesen kann oder nicht.
.... Betrüger sind diejenigen, denen das grundlegende Verständnis fehlt, anzuerkennen, dass Fehler und Bugs immer existieren.
Die Sätze sind viel zu schwierig ..
Im Web.
Nicht alle Punkte, aber bei den meisten kann ich gut nachvollziehen, warum man ihnen zustimmt.
Hacker-News-Meinungen
Nicht zu raten ist im Business am wichtigsten
Beim Umgang mit etwas Neuem macht ein wenig Rätselraten Spaß, bevor man Referenzmaterial gründlich liest
Es ist gut, direkt die Quellen zu konsultieren, statt sich auf Stack Overflow oder LLMs zu verlassen
Die besten Entwickler kommunizieren mit Menschen auf allen Ebenen und lernen von ihnen
Wenn man Stack Overflow gut nutzt, ist es sehr hilfreich
Die besten Programmierer können auch ohne CS-Hintergrund hervorragende Leistungen erbringen
Neben dem Programmieren ist auch die Kommunikation mit der Business-Domäne wichtig
Fehlermeldungen zu lesen und zu verstehen hilft stark bei der Problemlösung
asdfkonnten Probleme über Fehlermeldungen gelöst werdenWas ist asdf? Sie sollten die Warnung beachten.
Hm, ich glaube, eine Haltung, in der man gar nicht erst der absolut Beste werden will, ist besser. Von wegen schreiben ... von wegen helfen ... bei solchen Leuten ...