Googleエンジニアの生活
現在はGoogleに勤めておりDebian JP Projectで有名な鵜飼氏のGoogle Developerday2008での講演。Googleのエンジニアの生活について紹介されていた。一般的に日本のエンジニアは上流/下流に分かれている上にポジションが上になるとマネージメントを任されるために全くコードを組まなくなるが、Googleは逆で、ポジションが上になるとコードを組む量が増えるというところが興味深い。
以下動画の概要についてメモ。
- 開発コードはC/C++,Java, Python。ほとんどがC/C++とJavaで、Pythonは社内システムに使われている。
- 日本のように開発が上流/下流に分かれていない。一人で設計、開発、テストベンチ作成、デバッグまで全部やる。
- コードと同じくらいドキュメントを閣僚も多い。
- コードを書く前にコードの目的、機能概要などを簡単にまとめたドキュメントを用意する。
- googleはポジションが高い人ほどコードを組む量が多い
- コードは必ず複数メンバによるチームで開発する。書いたコードは同僚がReviewする。
- 書いたコードは全世界のオフィスでオープンになる。パッチを投げてくる人もたくさんいる。技術向上のためにはオープンにすることは必要。
- Googleはコードの書式が決まっており、誰が書いても同じようなコードになる。これによりコード解析も効率的になる。
- 自分の業績を評価するのは上司ではなくコードをReviewした同僚
- 社員食堂は無料なので同僚と食いに行きつつ議論する。ゲームも良くする。
- 会社にはエンジニア以外のセクションもあるが、頻繁にエンジニアと交流するわけではない。彼らはエンジニアが作ったコードの中からビジネスになりそうなものをPromoteする。エンジニアをなだめながらコードをビジネスになりそうなものに誘導していく。
This movie is about the introduction of the Google Engineer's life. It is interesting that employees in the higher position tend to write more codes than in Google.