Thursday, May 31, 2007

[セッション速報] Software Engineer in Google


つづいて、東京オフィスのエンジニア、鵜飼文敏による
「Software Engineer in Google」です。
鵜飼は、Debian JP ProjectやNPOフリーソフトウェアイニシアティブの立ち上げなどに関わった、オープンソースコミュニティとの縁も深いエンジニアです。

Googleに入社してちょうど一年ということで、この一年で経験したGoogleでの仕事、カルチャーなどの紹介がありました。
「エンジニアリングチームは、世界で一つ」、「エンジニアは、設計からコーディング、改良まですべての責任を持つ」「オープンなコミュニケーション」、「イノベーション重視」など、実際の経験を元に、Googleでのプロジェクトの進め方についての説明がありました。

「創造的であるためには、情報は共有しなければならない」という理念の元、情報共有を非常に重要視しているということで、コードに書く前に「なぜそれをやるのか」や「どうやって実現するのか」、「誰が関わっているのか」を書き、エンジニア間で共有する「DesignDoc」や、誰が、いつ、どんな仕事をしていたかを共有するために「Weekly
Snippet (今週の進捗、来週の目標を書く)」、「社内Blog」などが活用されているということでした。

また、ソースコードについても、あらゆるコードを一つのレポジトリで管理し、全エンジニア間で共有しているということで、バグの混入を防ぐために、他のエンジニアがコードをレビューするという体制や、記述スタイルを統一するためのリーダビリティーレビュー、Testing
on the Toilet (トイレにテスティングに関するTipsが書いたチラシが張ってある)についても、説明がありました。

とても興味深かったのは、実際どのくらいコードを書いているかということで、「あるエンジニア」がここ一年で書いたコードの量が紹介されていました。
一年で3万行、週3.5個ほどのコードレビューをしているそうです。

これが多いのか、少ないのかは、よくわかりませんが、世界中にいる数千人のエンジニアが、たくさんの情報を共有し、より生産的に、みんなでものを作るという体制が、Googleの様々なサービスを支えているのだということがよくわかりました。

No comments: