Joel Spolsky: Was bedeutet es, ein Softwareentwickler zu sein (Vorwort zu Coder to Developer)

Bild


Mike Ganderloy, Buch „Coder to Developer“

Weißt du, was mich verrückt macht?

"Alle?" - du fragst. Nun, einige von euch kennen mich zu gut.

Aber im Ernst, es ärgert mich nur, dass die meisten Entwickler nicht einmal merken, wie wenig sie tatsächlich über Softwareentwicklung wissen.

Nimm mich zum Beispiel.

Als Teenager war ich mir sicher, dass ich alles wusste, was es über Softwareentwicklung zu wissen gab, als ich Peter Nortons berühmten Assembler-Sprachführer für IBM-PC gelesen hatte. Ja, zum Teufel, ich war bereit, eine Softwarefirma zu gründen und ein Textverarbeitungsprogramm zu erstellen. Ich war mir absolut sicher, dass mich ein großer Erfolg erwartete. Ich stellte mir sogar vor, wie meine Softwarefirma jede Stunde Kaffeepausen mit kostenlosen Donuts arrangieren würde. Nun, in jenen Tagen gingen viele meiner Träume auf Donuts zurück.

Nach der Armee absolvierte ich das College und erhielt ein Diplom in Informatik. Jetzt wusste ich wirklich alles. Aber ich wusste viel mehr nur, weil ich eine Menge Computer- und wissenschaftlichen Abfälle über lineare Algebra, NP-vollständiges Problem und verdammte Lambda-Rechnung studiert habe. Aber das alles ist offensichtlich nutzlos. Ich entschied, dass sie den Vorrat an nützlichen Dingen erschöpft haben müssen, die wir trainieren müssten, deshalb haben sie die Krümel auf den Eingeweiden abgekratzt.

Aber nein. Bei meinem ersten Job wurde mir klar, wie viele Dinge das Institut für Informatik nicht für notwendig hielt, um uns darauf aufmerksam zu machen. Dinge wie Teamwork an Software. Praktische Tipps zum Design der Benutzeroberfläche. Professionelle Tools wie Versionskontrolle, Codefehlerdatenbanken, Debugger und Profiler. Effektive Dinge. Die Informatikabteilungen selbst der renommiertesten Universitäten werden Ihnen nicht beibringen, was nicht rein akademischer Natur ist. und noch mehr, um zu lehren, was Schüler an einer örtlichen Berufsschule lernen, um später Automechaniker, Reparaturtechniker für Klimaanlagen oder "stinkender Softwareentwickler" zu werden.

Zum Teil verstehe ich diese Einstellung. Letztendlich ist es das Ziel vieler renommierter Universitäten, den Studenten auf das Leben vorzubereiten und ihm keine beruflichen Fähigkeiten zu vermitteln, die in 10 Jahren überholt sein werden.

Im Laufe des nächsten Jahrzehnts habe ich unglaubliches Wissen über die Softwareentwicklung und die mit diesem Prozess verbundenen Nuancen gewonnen. Ich habe bei Microsoft im Excel-Entwicklungsteam, bei Viacom - im Webteam, in Juno - an deren E-Mail-Client gearbeitet. Und weisst du was? In jeder Ausbildungsphase war ich mir absolut sicher, dass ich alles über Softwareentwicklung wusste.

"Also bist du vielleicht nur ein anmaßender Idiot?" - Sie fragen und verwenden vielleicht sogar abrupt das Wort "Idiot". Ich entschuldige mich, aber dies ist meine Einführung; Wenn du ungezogen sein willst - schreibe deine verdammte Einführung, reiße meine heraus und füge dann deine eigene ein.

Es gibt etwas Seltsames, eine mystische Kraft in der Softwareentwicklung, die die Leute denken lässt, dass sie alles wissen, was und wie sie tun sollen. Ich habe in Dotcoms voller Geisteswissenschaftler gearbeitet. Sie hatten keine Erfahrung mit Software und haben dies nie gelernt, waren jedoch überzeugt, dass sie wissen, wie man Entwicklungsteams verwaltet und Benutzeroberflächen entwickelt. Das ist seltsam, denn niemand glaubt zu wissen, wie man entzündete Blinddarmentzündungen entfernt oder den Motor eines Autos wiederherstellt, wenn er nicht über die entsprechenden Fähigkeiten verfügt. Aus einem unbekannten Grund sind sich dieselben Leute jedoch sicher, dass sie genau wissen, wie man Software entwickelt.

Auf die eine oder andere Weise liegt jede Verantwortung auf Ihren Schultern. Möglicherweise müssen Sie lernen, wie Sie Software selbst entwickeln. Wenn Sie Glück haben, werden Sie natürlich mit erstklassigen Softwareentwicklern zusammenarbeiten und diese werden Sie unterrichten, aber die meisten werden diese Gelegenheit nicht haben. Daher bin ich froh, dass Mike Ganderloy die Verantwortung übernommen hat, das Buch zu schreiben, das Sie jetzt in Ihren Händen halten. Hier finden Sie eine angenehme, gut geschriebene Einführung in viele der wichtigsten Dinge, die Sie wissen müssen, wenn Sie von einer Person, die Code eingibt, zu einer Person werden, die Software entwickelt. Den Unterschied erkennen? Es ist wie bei einem sechsjährigen Kind, das mit einem Bleistift ein paar einfache Wörter zeichnen und sich zu einem erfolgreichen Schriftsteller entwickeln kann, der Bücher schreibt, begeisterte Kritiken erhält und Millionen von Exemplaren verkauft.Softwareentwickler zu sein bedeutet, ein Konzept zu entwickeln, ein Team zu bilden, alle Prozesse zu konfigurieren, ein Softwareprodukt (das gewünschte Softwareprodukt) zu entwickeln und es zu produzieren. Dies sollte nicht nur ein Softwareprodukt sein, sondern ein qualitativ hochwertiges Softwareprodukt, das Probleme löst und den Benutzern gefällt. Mit der Dokumentation. Website. Installationsprogramm. Testskript. Version in norwegischer Sprache. Konversation und Literatur. Snacks, Dessert, siebenundzwanzig hochglänzende Farbfotos mit einer Größe von acht mal zehn Zoll und Pfeilen, Kreisen und Erklärungen auf der Rückseite. (Ich entschuldige mich bei Arlo Guthrie.)Dies sollte nicht nur ein Softwareprodukt sein, sondern ein qualitativ hochwertiges Softwareprodukt, das Probleme löst und den Benutzern gefällt. Mit der Dokumentation. Website. Installationsprogramm. Testskript. Version in norwegischer Sprache. Konversation und Literatur. Snacks, Dessert, siebenundzwanzig hochglänzende Farbfotos mit einer Größe von acht mal zehn Zoll und Pfeilen, Kreisen und Erklärungen auf der Rückseite. (Ich entschuldige mich bei Arlo Guthrie.)Dies sollte nicht nur ein Softwareprodukt sein, sondern ein qualitativ hochwertiges Softwareprodukt, das Probleme löst und den Benutzern gefällt. Mit der Dokumentation. Website. Installationsprogramm. Testskript. Version in norwegischer Sprache. Konversation und Literatur. Snacks, Dessert, siebenundzwanzig hochglänzende Farbfotos mit einer Größe von acht mal zehn Zoll und Pfeilen, Kreisen und Erklärungen auf der Rückseite. (Ich entschuldige mich bei Arlo Guthrie.)Kreise und Erklärungen auf der anderen Seite. (Ich entschuldige mich bei Arlo Guthrie.)Kreise und Erklärungen auf der anderen Seite. (Ich entschuldige mich bei Arlo Guthrie.)

Und dann, eines Tages, eines schönen Tages, wachst du endlich auf und sagst (obwohl es vielleicht zu spät ist): „Hmm. Was ist, wenn ich wirklich nicht weiß, was für die Softwareentwicklung wirklich benötigt wird? " Und nur an diesem Tag und nicht eine Minute früher, nämlich an diesem Tag und von diesem Tag an, erhalten Sie das Recht, sich selbst als Softwareentwickler zu bezeichnen. Und jetzt, wo noch nicht alles verloren ist, ist hier mein Segen für Sie, wenn Sie jede Stunde Donuts essen möchten.



Bild
Erfahren Sie in SkillFactory-Onlinekursen, wie Sie einen begehrten Beruf von Grund auf neu erlernen oder Ihre Fähigkeiten und Ihr Gehalt verbessern können:



Weiterlesen



All Articles