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.