Google Developer Day Tokyo - 鵜飼 文敏
へ〜たのめも:Google のソフトウェア・エンジニアリング - livedoor Blog(ブログ)1時間の講演をこちらでまとめられてます。感謝。
<てるやん>で、それにコメントしてみます。
「プロジェクトはたくさんある。多分、エンジニアの数以上にある」
だから、あれだけの買収をするわけですね。
すでにあるサービスで自分たちに足りないものは買収。
みんながやってないものを開発ということでしょうか。
「チームは少人数 (2〜6人)。これ以上に増えると、プロジェクトのフォーカスを絞ってチームを分割」
【β】までのプロトタイプはそれがベストな人数なのかもしれませんね。
「例の「20% ルール」。「とにかく 20% は、まったく違ったことをヤレ」ということになっている。
他のプロジェクトに協力するとか、今までやったことの無いことをやるとかして、新しいアイデアを生み出す」
質疑応答で「20%は好きなことやれるけど、80%はやりたくないことをやらなければいけないのか?」
という質問がありました。
100%同じことをやってたら視野が狭くなるので、どうしても20%は違うことを。
という意味らしいです。
つまり、80%好きなことをやって、20%はさらに誰も手をつけてないオリジナルなことを。
でいいんでしょうか?
個人がプロジェクト間を自由に行き来できるようなので、それも可能でしょうね。
「売れるかどうかは考えない。それがたくさんの人に使ってもらえそうかどうかが大事。社内のデモ・サイトで使われなかったり、Google Labs で人気が出ないヤツはまずダメ」
マーケティングとぶつからないのはこういうルールのせいでしょうね。
まずほとんどお金のかからない社内プロトタイプで人気がでるかどうか。
そこで人気でたら少しだけお金(サーバー資源)かけて【β】版スタート。
【β】版で人気が出たら、正式サービスとして本格資金を投入。
普通の会社だと社内プロトタイプも【β】もすっとばして、
いきなり大量の資金を賭けるかどうかにひたすら悩んではボツにしますけどねw
「イノベーション重視。デザイン・フェーズで方向性が決まったら、さっさとコーディング」
20%ルールとか、プロジェクト間の自由移動とかあるおかげか
「自分でGOサインだせる」のがいいですね。
上司の承認とか説明とかいう莫大なコストがかかるようなことしない。
結局「やってみなはれ」が会社の最大の創造力。
社内プロトタイプはお金かかりませんし。
* 社内デモ・サイトを立ち上げる(デモ・サイトは、社内ポータルからリンクされる)。デモができれば、他の人から意見を貰えて、そこからさらに、どんどんと改善していける
* 社内デモで改善を重ねた後、Google Labs (βリリース)へ
* Google Product として登場!
「鵜飼さんは普段、毎週 0〜20個のパッチを書く。年間 3万5千行くらい。シニア・エンジニアやフェローになると、もっと書いていて、Google では、偉い人ほどコードを書きまくっている」
行動する現場こそが経営そのもの。
事件は会議室でおきてるんじゃないんだと。
「リポジトリは世界で一つ。チームごとにディレクトリを切ってあるが、全員が全てのコードを見ることができる」
「誰かが書いたコードは、必ず他の人にレビューを受ける。開発者とレビューアーがお互いに合意した時点で、はじめてチェックイン」
普通の会社でも知恵や知識を共有するのが最高なのは分かってるのですが
これができません。
なぜ、みんなが知識を共有しないのかというと、
「社内で自分のやりたいことを企画する」のと
「自分の給料を上げる」という個人の2大欲求を実現するために
わずかなイスしか用意されてない「上司」にならないといけないからです。
「上司」にならないと自分のやりたいこともできませんし、給料もあがりません。
後はこのイスをめぐって社内の仲間で派閥戦争です。
知識の共有とかいって自分の手の内さらけ出した人がバカを見ます。
アイディアも結果もかっさらわれます。
だから共有や協力とかはすごくやりにくいし、わりと理不尽な仕事のしかたがまかり通る。
社長がいくら共有や協力を説いても、会社がそういうシステムなんだからできるわけがない。
Googleはそうできるように運営してる。
「パフォーマンス重視(まず計測、とにかく計測、良いアルゴリズムの採用、コーディング・テクニックの積み重ね)。Google グラフ書くのが好き。数値化重要」
CEOのシュミット氏が言うには遅いプロダクトは負ける。
コンマ01秒でも速く!
「「創造的であるためには、情報は共有しなくてはならない」がモットー。コミュニケーションは活発で、プロジェクト内はもちろん、プロジェクト間の壁もあまり無い」
「進捗は snippet (週報。何をやったか、何をするか)を書く。他の人が何をやっているのか、何で困っているのか、どんなウマイことやったのかを、全員で共有」
ディズニーランド、一流ホテル、銀座まるかん、トヨタ、未来工業、、、
うまくやってるところは情報共有率が凄く高いです。
またみんなが情報共有できるようなシステムをもってます。
情報共有したほうが個人としても満足できるように。
「一部屋に 2〜4人。同じ部屋で開発。ちょっとしたバッドノウハウをすぐに後の人に聞けるので、個室よりもいい」
エンジニアの場合個人ブースが最適かとおもいきや、ちょっとしたことは
後ろで作業してる人にすぐ聞ける環境のほうが、ロスが少ないとか。
IMで話すほどではないけど実は重要だったりする話とか、
自分が難問と思ってたことが隣の人が簡単な抜け道しってたりとか。
「食事の時間も例の無料社内レストランなので、そこも情報共有の場」
シュミットCEOもいってたけど、「食」を満たしてくれるのは大好評らしいw
別に給料高ければそれでいいんじゃないかと思うけど、
やっぱ人間の心理的にはこのほうが嬉しいのかもね。
さらに情報共有の場になるなら言うことなし。
「ユーザ情報やプライバシー情報は共有されない(ほとんどのエンジニアは触れないように厳密に管理されている)」
いくらGoogleでも当然。
開発力のスピードがあれだけあるなら、本当にオープンにできないのは
ここだけかもしれない。
Google のエンジニア評価
* Objectives and Key result (四半期ごとに目標と達成度を書く。定量的な数字で書くことが推奨)を、個人、チーム、会社の単位で作っている
* コード・レビューした人の評価や、ML やビデオ会議での議論、Snippet も評価対象
* Google Resume と呼ばれる履歴書を書く。プロジェクト間を移り歩くときにも必要
* パフォーマンス・レビュー(評価面接)は年に二回。基本的に本人が指名した同僚が、その人を評価する。上司の評価だとパフォーマンス・レビューのときだけ巧く立ち周る人の評価が高かったりするけど、一緒に働いている同僚のレビューなので、日々の仕事がそのまま評価に反映
最後の奴、日本の会社でも「360度評価」っていう同僚が評価する制度あったけど
「お前のこと高く評価したから俺のこともよろしく」みたいな談合になって
使えなかったという経緯がある。
ところがGoogleの場合、プロジェクトの進捗状況、テックフォーラムの発表、
プロジェクトのデザインドキュメント、【β】版へのアップ、
などなど、「個人の成果が全部オープンで誰でも見れる状況」なので
それを踏まえての同僚の評価なんだと思う。
出てくる結果や進捗状況がまるわかりなのだから、同僚が正直でない評価をしたら
同僚の評価まで下がりかねない。
チームも6人以下とわかりやすいので、誰がどれだけ貢献したのか。
日々の仕事っぷりがそのまま評価しやすいのかと。
「Google のエンジニア気質」
* 自主的にやることを見つける。スキルも自分で身につける
* 上から「何をやれ」というのはまったくない。上司は「こういうプロジェクトがあるよ」とか「これはこの人に聞けばいいよ」とかルーティングしてくれるだけ。エンジニアの視点から見て詰まるところをうまくフォローしてくれるのが上司。
自主性を重んじてるので、上司は「管理」じゃなく「フォロー」するだけ。
この職場で管理職はいらない。
「自分で改善すべき点を見つけて改善する。直すべきところを見つけて直す。「でも、それ僕のプロジェクトじゃないから」はダメ。不具合を報告するだけではなくパッチを書くことが推奨」
これができるのはほんと凄いw
普通は会社内のいろんな不具合見つけて管理者に提言しても
「忙しいから無理!」だし
じゃあ、自分がなんとかしますからやらせてください!といっても
「お前はここの管理者じゃないだろ!勝手に動くな!自分の仕事しろ!」
となって、不具合ほったらかしが普通だもんね。
「レビューが必須なので、個人プレイはダメ。チームでの活動が必須」
チームといっても最低2人だものね。
このレビューシステムが「個人の暴走」や「個人のさぼり」を防いでるのかも。
「変化についていく。Google 社内は変化が早い。社内システムの入れ変わりも早い」
この1年だけでも相当社内システムの変化があったようで。
時代の変化よりも激しい社内変化ってことかな?
「よく働き、よく遊ぶ」
仕事終わってみんなでDSやって遊んでた、、うらやましいw
どんな企業でも Web2.0化して利益を倍増させるコロンブスの卵が発見された!! - あるSEとゲーマーの四方山話もっと詳しい話はこちら。
-
|
-
コメントを書く(2)
- |
トラックバック(1)
- |2007/06/07(木)