TOP > 世界を巡るFool on the web > 2008年06月10日

あすなろBlogger

facebookに投稿 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 この記事をクリップ! livedoorclip ユーザー数 BuzzurlにブックマークBuzzurlにブックマーク この記事をtweetする

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

2008.06.10


前回のエントリ「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を支える技術

投稿者 : 美谷 広海 | 投稿日時 : 2008.06.10 23:57

facebookに投稿 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 この記事をクリップ! livedoorclip ユーザー数 BuzzurlにブックマークBuzzurlにブックマーク この記事をtweetする

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

2008.06.10


横浜パシフィコで行われたGoogle Developer Day 2008に途中から参加してきました。

google001.jpg 

イベントの最後に行われた藤島氏によるGoogleのソフトウェアエンジニアの日常がグーグルのカルチャーを紹介する例としてよくまとまっていましたのでご紹介したいと思います。

google002.jpg

LIfe of a Google Engineer
グーグルのカルチャーについて
グーグルでは日々の生活にもカルチャーが反映されている
Googleらしさとは?それをキーワードにまとめてみた

Clarify
-目標を明瞭に述べ他人の協力を得る
Transparency
-情報を可能な限り共有する
-判断の経緯を明確にする
判断の基準になったデータは?論理的な検討の根拠に
Democracy
上からの命令で動くのではない
-命令の連鎖ではなく、総意に基づいて判断する
例:オフィスの移転先を決めるのに壁に地図を貼り、社員の住んでいるところにピンをたてて社員の家の分布を見て皆で移転先を判断した→いまはGoogle Mapを使って行っている
Faciliate
-他人の仕事がやりやすくなるように障害物を取り除く
Lend a hand
-他の人が仕事に慣れるのを助ける
メンター制度:新しく入ってきた人を助けるための制度
Respect
-誰しもがよいアイディアを持っている
-問題の解決に集中する
どんなに議論が白熱しても個人攻撃にならない
Initiate
-問題があれば、自ら直す
責任者を探し出すのではなく、見つけた人が自ら直す
Iterate
-完璧になるのを待つのではなく試してみる
繰り返しできるまでやってみる。まずはTry&Error
-結果には柔軟かつ迅速に対処する
Scrappy
-今使えるものを使って目標を実現する
-安く効率的に実現する方法を考える

非効率的な作業をみつけたらツールをつくる
エラーは起こるという前提でシステムを設計する

Party
-周囲の人を楽しませる
Celebrate
-地味な仕事、泥臭い仕事にも光を当てる
Passion
-世界を変えられることを忘れない

グーグルが利益がでていなかった頃、創業者が利益がでたらプールをつくる!と宣言していた→利益がでてたときにビニールプールを買ってきて、駐車場に設置した

こちらがGoogleをあらわす上記キーワード一覧
google004.jpg 

次のエントリでは、ソフトウェア開発の進め方などを紹介します。
グーグルのカルチャーとは?:Google Developer Day 2008その2


Googleを支える技術

投稿者 : 美谷 広海 | 投稿日時 : 2008.06.10 23:19

カレンダー

<< 2008年06月 >>

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

最新のエントリー

最新のトラックバック

最新のコメント

Tag

バックナンバー