Tuesday, June 10, 2008

グーグルのカルチャーとは?:Google Developer Day 2008その2

前回のエントリ「Googleのカルチャーとは?Google Developer Day 2008」の続きです。

google002.jpg

ソフトウェア開発について
全世界に50のオフィス
すべてのオフィスは対等
-全世界でひとつのエンジニアリングチームに自分の近くのオフィスから参加する
複数のオフィスにプロジェクトメンバが分散
単一のオフィスで完結しているプロジェクトは少ない
コミュニケーションが鍵
問題となるのがコミュニケーション
使えるツールはなんでも使う
時差が最大の問題

ほとんどのプロジェクトはボトムアップ的に始まったもの
-アイディアがひらめいたら、20%プロジェクトとして開始する
-認められたら、メインプロジェクトとして発展させる
プロジェクトは小人数のものが多い

オープン
-コード、文書、データはプロジェクトに閉じずに社内に公開・共有
-メンバ構成は柔軟に変化
自分がメインでやっているプロジェクト以外にもちょっとだけ他のプロジェクトをやってみたいということも

エンジニアはよいソフトウェアをつくるために全ての工程にかかわる
アイディア、デザイン、コーディング、テスト/デバッグ、評価/分析、保守/改良
自分のコードのテストは自分で書く

主担当ではないコードを直す場合は、そのコードを直すだけではなく、そのバグのテストケースも記述して担当者に送る

必要な設計文書はしっかりつくる。不要な文書は作らない。
百文書は一デモに如かず
文書の山を作る前にとにかく動くものを。プロトタイプ重視

コーディング
プログラミング言語
-主にC++, Java, Python, JavaScript
読みやすいコード
-プログラム言語ごとにスタイルを全社で統一
-スタイルにあったコードを書ける人を社内認定
コードの共有
-ひとつのソースツリーを全世界で共有
-誰でも、どのコードでも参照・変更できる
・自力で調査、自力で修正/改善
-同僚によるレビューが完了しなければチェックイン不可
・複数の視点から検討


変なコードが入るのを許すと、みんなが困るし自分も困る。良いコードだけにしたい。そのためには時間をかけてでも皆でコードレビューに前向きに取り組む。

採用活動
基本的にはソフトウェアエンジニアは開発に集中
重量な例外は、採用活動への協力
-電話面接、オフィスでの面接
面接の内容
-コンピュータサイエンスの基礎
-ホワイトボードを使ったコーディング
-Googleの社風に合うか(お互いにHappyになるか?
メリット
-一緒に働きたいと思える人に加わってもらえる
-自分自身にとっても勉強になる
デメリット
-時間がかかる

遊び
遊びは重要
-遊びと仕事は両立するという社風
-リフレッシュ
-コミュニケーションの強化
オフサイトイベント
年に数回、オフィスを離れてチームビルディング
-ラフティング、カートレース
クラブ
-ラーメン部、カメラ部、マリオカート部www

最後に藤島さん本人にとってのGoogleと、心がけていることが紹介されました。

Googleってどんなところ?
入社動機
-優秀な人たちと一緒に、世界中の人に向けて、ソフトウェア開発をしたいなぁ
入ってみたら
-優秀なだけでなく人間的にも魅力のある人が本当に多い
-想像以上に動きが速い
やった仕事がすぐに世界に出て行く
ソフトウェア/ツールがどんどん改善されていく
-正論が通りやすい
誰がいった意見かどうかではなく、その意見が正しいかどうか
Pythonの作者に対しても反論できる雰囲気
-エンジニアは尊重/信頼されている
-良いソフトウェアを開発するために、真剣に仕事に取り組んでいる。必要なら泥臭いことも厭わない。

これが藤島さんの一日の例:
google03.jpg

心がけていること
分かりやすいコードを書く
-コードを書く時間よりも読む時間のほうが長い
他人のコードを尊重する
-全体としての生産性を重視する
-必要ならリファクタリング/改良する
正確かつ簡潔なコミュニケーションをする
-文化が異なる人と、お互いの母国語以外でのやりとり
-受けての負担を考える
Easier to ask forgiveness than permission
フラットでボトムアップの構造/承認待ち、指示間地では動かない
→仮説立て/仮決定してとにかく進めてみる
目先の仕事以外にも目を向ける
-TechTalk(Google社内の専門家などによる講演)などにできるだけ参加する
良き仲間たれ
-結局これが一番重要

周りにとって良い仲間に自分はなれているのか?
 相手に良い仲間とおもわれるように頑張るのが大事

最後の、良き仲間たれ、というのがグーグルのカルチャーを現していて面白いなぁ、と思いました。まずは仲間にとって役立つことを私も心がけたいと思います。

Googleを支える技術

No comments:

Post a Comment