Dies ist der dritte von fünf Blogeinträgen zur Nightly Build 2015 in Köln. Hier geht es los.
- Teil 1: Bastian Allgeier mit "Homemade Pressure". Wie geht ein Entwickler mit der Erwartungshaltung um, die Kunden an sein Softwareprodukt haben.
- Teil 2: Ashley Williams mit "If you wish to learn ES6/ES2015 from scratch, you must first invent the universe". Code als Sprach- und Ausdruckswerkzeug.
- Hier: Teil 3 Stefanie Schirmer mit "A Culture of Courage". Über eine Team- und Firmenkultur (bei Etsy) die Entwickler integriert und versucht "Wissensghetto" zu vermeiden.
- Teil 4: Garann Means mit "Code is a Job". Über die richtige Einstellung zur Arbeit, wider der Ausbeutung und dem Ausbrennen von Webentwicklern.
- Teil 5: Lizzie Mary Cullen mit "Overcoming the Fame Game". Über die Kämpfe in Kopf und Herz, die lähmen und einen Ausbrennen lassen.
Stefanie Schirmer, "A Culture of Courage"
Stefanie Schirmer ist seit knapp einem Jahr Software Engineer bei Etsy, hat aber einen massiven Informatik-Background, u.a. knapp acht Jahre lang mit RNA-Forschung per Software beschäftigt.
Sie kam nach der Präsentation von Ashley Williams und war thematisch wieder näher dran am Thema des Abends, Work/Life-Balance für Entwickler. Stefanies Vortrag war dezent zu lang, weswegen es die Konzentration bei den Zuhörern (a.k.a. mir) so langsam zerbröselte – aber es wurde deutlich, dass ihr das Thema ein wichtiges Anliegen war (die Slides ihrer Präsentation beim CCC Camp 2015 zu sehen).
Oberflächlich gesehen, drehte sich der Vortrag um die angenehme, inklusive Firmenkultur der Etsy-Entwickler und Verhaltensregeln, die sie an der New Yorker Hacker School kennenlernte. Tatsächlich schien es aber erst diese Firmenkultur zu sein, die Stefanie etliche Probleme der Entwickler im Umgang untereinander vor Augen führte. Und mit dem Vortrag versuchte sie diesen Spiegel auch auf die Zuhörer zu richten.
Kern ist dabei einerseits das Ändern des Kommunikationsverhalten in Teams bzw in der Entwicklergemeinschaft untereinander. Gleichzeitig soll aber dabei auch die eigene Einstellung bessern. Offenheit für die Fragen anderer Leute ist die eine Seite der Medaille. Die andere ist, daraus zu lernen auch selber ungezwungen Fragen zu stellen.
Stefanie beschreibt in ihrem Vortrag bestimmte Kommunikations-Mechanismen, die diese Art der Kommunikation behindern. Zu allervorderst ist die Meritocracy zu nennen, also die Denke innerhalb der Entwicklergemeinde "du bist, was du gemacht hast", also die Überhöhung von Personen, die viele Verdienste erworben haben, oder die viele Github-Commits haben oder die schlicht und einfach "alte Hasen" sind.
Der Kollateralschaden dieser Meritocracy sind nicht nur Kommunikationshemmnisse wie z.B. ein schnippischer Ton mit dem auf Unerfahrene heruntergeguckt wird und Konkurrenz/Lone Wolf-Verhalten, sondern auch eine Erhöhung des Leistungsdruck. Wer in der Meritocracy etwas werden will, muss noch mehr arbeiten und noch mehr liefern.
Die Etsy- bzw. Hacker School-Kultur versucht sich davon zu lösen. Im Falle von Hacker School durch "Social Rules" die der Etablierung einer offenen Frage-Kultur dienen. Im Falle von Etsy mit einer Kultur, die Fehler/Bugs als etwas Natürliches akzeptiert. Jeder Bug ist kein persönliches Versagen, sondern eine Gelegenheit zum Lernen. Die Scham über den Bug soll sich zum Stolz über den Lernerfolg wandeln.
Dies ist keine Petitesse, sondern dient zur Entlastung des Entwicklers. Weg vom persönlichen Versagen, hin zu einer Teamarbeit. Kellan Elliott-McCrea, CTO von Etsy hat in seinem Abschiedsblogeintrag (er hat dieser Tage Etsy verlassen) einiges zu den Ausgangspunkten dieser Kultur geschrieben
If you want to build for the long term, the only guarantee is change. Invest in your people and your ability to ask questions, not your current answers. Your current answers are wrong, or they will be soon.
Im Falle von Etsy hat man organisatorisch einige interessante Tricks vorgenommen.
So gibt es Continious Deployment, aber eben nicht komplett "continious". Jeder Push wird nicht sofort durch den Deployment-Prozess gejagt, sondern landet in einer Queue, so dass auch wirklich nur ein Push zur Zeit durch den Test- und Deployment-Prozess wandert.
Die Queue hat bestimmte Öffnungszeiten um zu verhindern, dass ein Entwickler irgendwann spätnachts etwas deployen kann, was durch Übermüdung buggy ist und mangels Anwesenheit von keinem anderen Etsy-Entwickler bemerkt werden kann. Deployments passieren nur während der normalen Bürozeiten, wenn weltweit etliche Entwickler ein Auge darauf haben.
Die Frage ist, inwieweit sich solche Kulturänderungen in Konstellationen abseits eines Unternehmens etablieren lassen, also z.B. in der Projektarbeit mit mehreren externen Teams. In solchen Fällen gibt es meistens eine Hackordnung die durch die "Befehlskette" bestimmt wird. Flache Hierachien und Selbstorganisation erlebe ich in solchen Konstellationen eher selten.