Google’s Engineering Culture
Thursday, October 25th, 2007

Am vergangenen Montag durfte ich mit einigen anderen Teilnehmer ein Blick hinter die gut verschlossenen Türen von Google werfen. An der Freigutstrasse mussten wir alle schon einmal eine Geheimhaltungserklärung unterschreiben, dass keine Details an die Öffentlichkeit gelangen. Keine Angst, mit diesem Blogeintrag verstosse ich nicht gegen diese Geheimhaltungserklärung, denn der Text wurde von Google vor der Publikation gegen gelesen, was wiederum zu der verzögerten Veröffentlichung führte…!
In kleineren Gruppen wurden wir durch das Gebäude geführt. Nun, in der Schweiz sind die Räumlichkeiten noch lange nicht so innovativ und beeindruckend wie man es von Google in den USA kennt. Aber die Arbeitsplätze waren schön und durchgehend mit zwei 24 Zoll Bildschirmen von Dell ausgestattet. Natürlich gab es auch die kreativen Ecken mit Billardtisch, Sofa und so. Besonders in diesen Bereichen gibt es immer grosse Whiteboards. So können spontane Ideen gleich aufgezeichnet und besprochen werden.
Weiter durften wir erfahren, dass die Entwickler bei Google die freie Wahl der Entwicklungsumgebung haben. Sie dürfen das Betriebssystem wählen aber auch die Tools mit denen Sie entwickeln möchten. Auch bei der Hardware bekommt man, was man sich wünscht! Das klingt für mich wie im Paradise!Wie aber wird sonst noch die Kreativität und Innovation der Entwickler bei Google gefördert? Ich gehe mal davon aus, dass dieses Vorgehen einmal in Welt ist. Die Engineers bei Google können satte 20% Ihrer Arbeitszeit für ein Projekt Ihrer Wahl investieren. Sie können während dieser Zeit eigene Projekte aus dem Boden stampfen, neue Features schreiben, Plugins coden, was auch immer! Es muss einfach am Rande etwas mit Google zu tun haben. Aus solchen 20%-Projekten sind beispielsweise die Google News, aber auch der Flugsimulator in Google Earth entstanden…
Die Führung selber war relativ kurz. Erst am Dienstag habe ich erfahren warum das so war! Denn zur selben Zeit war Larry Page bei Google in Zürich zu besuch. Da ist es verständlich das die Gruppen schnell durch die Gänge gejagt werden und die Mitarbeiter bei Google etwas nervös waren…
Danach hat uns Bernhard Seefeld über die Engineer Culture bei Google berichtet. Leitfaden dazu war ein 10-Punkteplan welcher Bernhard so zusammen gefasst hat:
- Es gibt nur eine zentrale Code-Basis in der alle Entwickler Ihren Arbeiten aus- und einchecken.
- Jeder Engineer kann an jedem Projekt mitprogrammieren.
- Jeder Enginner kann ein Projekt zu sich nehmen und daran entwicklen.
- Weltweit wird nach dem gleichen Google-Standard programmiert.
- Jeder Code der eingecheckt wird in die Code-Basis unterliegt einem “Must Review” von einem zweiten Entwickler. Meist ist es der Projektverantwortliche.
- Zu jedem Code werden Unit Test geschrieben welche automatisch den Code durchlaufen und und testen.
- Findet der Unit Test Fehler im Code, so werden der Engineer und der Reviewer automatisch informiert.
- Interne Tools werden weltweit bei Google geshart. Die meisten wurden übrigens auch selber geschrieben.
- Kurze Projektphasen (Project Cycles) unterstützen die schnelle Entwicklung.
- Die Programmierung wird von den Enginners selbst vorangetrieben, die Team (meistens nur 3-5 Engineers) entscheiden selbst was Sie tun.
Während den Erläuterungen von Bernhard Seefeld ging Larry Page kurz durch den Raum. Leider hat er Bernhard nicht unterbrochen, bzw. Larry war sowieso am Telefon und verliess uns schon nach kurzer Zeit wieder.
Es war wirklich beeindruckend zu sehen, wie bei Google Software geschrieben wird. Es war auch inspirierend zu sehen, welche Kultur Google intern lebt. Leider aber können wohl die wenigsten Firmen davon profitieren. Nur Start-Ups können jetzt noch den Kurs ändern. Gross schwere Firmen tun sich da sicher schwerer…
[...] Read/WriteWeb Blog hat einen interessanten Artikel über eine mögliche Online Applikation für die Google Apps Palette [...]