« Bukai macht Rabatz | Main | 20up »

Freitag, März 19, 2010

Clean out

Ich war allein bei der JUGHH zum Thema "Clean Code Developer" - meine Kollegen fanden das Thema wichtig, aber irgendwie nicht relevant für sie. Interessant dann auch, dass auf dem Treffen nur 3-4 IT-Architekten und wenige Projektleiter waren: Heisst das, dass die Top-Programmierer, die häufig zu IT-Architekten/Projektleitern werden, das Thema uninteressant finden, weil sie sich sowieso schon als CCDs sehen? Das wäre fatal, denn gerade sie als Leiter sollen die Notwendigkeit von CCD für die Gesamtqualität ihres Teams und damit Systems sehen.

Ich habe im Kuba-Urlaub das Buch "Clean Code" gelesen, es hat zur Initialenzündung des CCDs geführt. Die im Vortrag aufgezählten Prinzipien und Praktiken sind hilfreich, Tag für Tag und auch darüber hinaus. Mir gefällt die tägliche Reflexion und die Pfadfinderregel ("Den Platz ein bisschen sauberer verlassen als du ihn vorgefunden hast") - auch wenn ich mich nicht immer daran halte. Aber innerhalb eines Team können diese Prinzipien im Zusammenspiel mit den angegebenen Tools zu guter Software führen. Das ist sowieso der Hauptgrund für mich, dass Ganze anzuschauen: Da ich eher nicht so der naturbegabte Star-Programmierer bin, brauche ich viele Richtlinien und Praktiken, die meine Ergebnisse einfach gut werden lassen. Ich glaube ich, dass es für eine Firma wichtig ist, dass mit allen im Team eine hohe Qualität erreichnen zu können. Wenn man die CCD-Regeln beherzigt, hat man schon mal ein Korsett, das weniger Fehler zulässt. Joel hat man einen schönen "The Joel Test: 12 Steps to Better Code" aufgestellt:

But, all else being equal, if you get these 12 things right, you'll have a disciplined team that can consistently deliver.

Meine Firma besteht recht gut (8/12) - darum sind wohl auch noch so viele dabei...

Es können einfach nicht alle Firmen nur die 10% Besten eines Jahrgangs bekommen. Auch wenn das den Anschein der frühen Kapitulation auf dem Markt der Talente hat, ist es doch realistisch. Man kann natürlich, wie es Bruce Eckel als Beispiel gehört, ständig Heuern+Feuern wie bei Kayak.com. Aber welche Firma die ausser einer Website echte Kunden, Terminverpflichtungen und ein vertikales Geschäftsfeld hat (mit entsprechender Einarbeitung), kann sich das leisten? Und "Talente" sind auch eher rah gesät, zumal auch bei ihnen gilt: 5% Inspiration 95% Transpiration. Wichtiger ist daher doch eher, innerhalb eines Teams gemeinsam Masstäbe, Regeln und Verbindlichkeiten zu Qualität und Zielen zu finden. Dann kann man immer noch die "poisonous person" identifizieren/entfernen, und vielleicht ist das sogar der Star-Programmer-Loner mit dem schwierigen "Interface". Clean Code kann ein Mittel sein, im Team eine gleich hohe Qualifizierung und Stimmung zu erreichen.

Der Kayak-CTO hat aber einen interessanten Artikel geschrieben (mirror):

We work really hard for 40 to 45 hours a week, but we believe in people having strong personal lives. Over the past six years, there have been maybe five times I've spoken with Steve before 8 a.m., after 5 p.m., or on the weekend.

A lot of companies have the "no assholes" rule. So if the greatest programmer ever is also a jerk, he's fired. Our rule is "no neutrals."

Erstellt von tixus um 7:23 PM Kategorien: Software + Java
Powered by
Thingamablog 1.1b6