Auf meiner Programmierreise bin ich vielen seltsamen Gegnern und seltsamen Teamkollegen begegnet. Ich habe mindestens fünf verschiedene "Code-Krieger" kennengelernt. Einige dieser talentierten Mitstreiter haben die Entwicklungsarbeit vorangebracht, während andere jedes meiner Vorhaben zu behindern schienen.
Doch sie alle haben einen Platz im "Pantheon" der Softwareentwicklung. Wenn du diese unterschiedlichen Programmierstile nicht koordinieren kannst, wirst du feststellen, dass dein Projekt zu viel Zeit in Anspruch nimmt, nicht stabil genug ist oder Code enthält, der schwer zu lesen ist.
Der Schnell-Fix-Typ
Verdammt, der Code ist nicht perfekt, aber solange er funktioniert, ist das alles, was zählt!
Diese Art von Person ist das Fundament deines Unternehmens. Wenn etwas schiefgeht, flickt er es schnell zusammen und stellt bis zu einem gewissen Grad sicher, dass es nicht wieder schiefgeht. Natürlich sorgt er sich nicht darum, wie es funktioniert, wie benutzbar es ist oder um andere nebensächliche Dinge, aber er behebt das Problem, anstatt jede Menge Unsinn zu reden und Zeit zu verschwenden. Am besten setzt man diese Art von Mitarbeiter so ein: Man gibt ihm ein Problem zum Lösen und geht dann weg.
Gefixt!
Der perfektionistische Zwangstyp
Was willst du mit meinem Code machen?!
Diese Art von Programmierer kümmert sich nicht um deine Fristen oder dein Budget; sie sind unbedeutend im Vergleich zur Eleganz des Codes. Wenn du endlich das fertige Ergebnis erhältst, musst du nichts weiter tun, als diesen perfekten Code zu committen, der im Glanz der Ehre erstrahlt. Das ist extrem effizient, denn alles, was du tust, würde nur die Perfektion des Codes zerstören. Nur sie sind qualifiziert, ihn zu ändern.
Ich bin nicht würdig.
Der Anti-Programmier-Typ
Ich bin Programmierer, aber ich schreibe keinen Code, verdammt!
In ihrer Welt gibt es nur eine Wahrheit: Code zu schreiben ist schlecht. Wenn man ihn schreiben muss, hat man bereits den falschen Weg eingeschlagen. Jemand anderes hat die Arbeit schon erledigt, also benutzt man einfach dessen Code. Sie werden dir erzählen, wie schnell diese Entwicklung tatsächlich ist, obwohl sie manchmal genauso viel oder sogar mehr Zeit als andere Programmierer brauchen, aber wenn du endlich das Ergebnis bekommst, stellst du fest, dass es nur 20 Zeilen Code sind, prägnant und lesbar. Es ist vielleicht nicht schnell genug, nicht effizient genug oder nicht vorwärtskompatibel, aber es ist der minimale Arbeitsaufwand.
Was zum Teufel machst du da!
Der Dilettant-Typ
Was willst du mehr? Es funktioniert doch, oder?
Diese Sorte Mensch kümmert sich überhaupt nicht um Codequalität; er denkt, das sei die Aufgabe von jemand anderem. Er erledigt die zugewiesene Aufgabe schnell. Du magst seine Arbeitsweise vielleicht nicht, und andere Programmierer hassen diese Sorte Mensch, aber Manager und Kunden mögen ihn. Er wird dir in deiner zukünftigen Arbeit großes Leid bereiten. Doch er schafft es immer, pünktlich fertig zu werden, und du kannst ihn nicht ausschimpfen (egal wie sehr du es möchtest).
Diese Seite ist bereits fertig!
Der Theoretiker-Typ
Okay, das würde funktionieren, aber eigentlich gibt es eine bessere Option.
Dieser Typ interessiert sich mehr für Optionen als für das, was getan werden sollte. Er verbringt 80 % seiner Zeit damit, auf den Computer zu starren und darüber nachzudenken, wie man eine Aufgabe erledigen könnte, 15 % seiner Zeit damit, sich über unangemessene Fristen zu beschweren, 4 % seiner Zeit damit, zwischen verschiedenen Ansätzen zu wählen, und nur 1 % seiner Zeit damit, Code zu schreiben. Wenn du das Endergebnis erhältst, bekommst du oft auch diese Beschwerde — „Wenn ich Zeit hätte, könnte ich es definitiv besser machen.“
Und das ist der Unterschied zwischen 0 und 1!
Welcher Typ bist du?
Persönlich denke ich, ich bin der Perfektionist-Typ. Also, welcher Typ bist du? Oder denkst du, es gibt noch andere Programmierertypen, die dieser Artikel nicht erwähnt hat? Hinterlasse gerne unten einen Kommentar, und ich werde den Artikel aktualisieren.
Dieser Artikel wurde vonLai Xintaoübersetzt ausSteven Benner's Blog