GoogleDeveloperDay2007へ行ってきました。
詳細はこちら。
http://code.google.com/events/developerday/jp-home.html
朝、寝坊した。。。で、途中から参加しました。
で、実際に感じた事をメモ。
会場が豪華!
トランシーバーが渡され、そこから、英語・日本語の同時通訳が聞こえる。。。スゲェ。
講演する側も英語であれば、質問する側も英語。。。
Greg Stein氏のセッションで思ったこと
「オープンソース」、やっぱこれだよね。
ソフトウェアは無償に。それに伴うサービス、サポートが拡大。そっちは有償ってビジネス。
APIやコードは公開して、それを左右するデータセンタやページランクはGoogleが握る。
伊藤直也氏(はてな)のセッションで思ったこと
何故にはてなが出てくる?と思った。Googleの講演じゃないのかと。まぁ、はてなマップでGoogleMapsAPIを使っているというご紹介でしたが。
氏の話で、インターネットは、49 VS 51で、清濁混合。最後は必ず、善が、正義が勝つ、的な話に少し共感。
はてなマップ、企画書があって出来上がったのではなく、技術者の好奇心から出来た。APIが公開されてから、一週間という短期間で作った。
APIはデータがあってこそ。
個人で作るのは難しい規模のAPIでこそ、APIの価値がある。
及川卓也氏のセッションで思ったこと
iGoogleGadgetsコンテストやります。
GoogleMapsのマップレット、距離測定、すごいっす。
GoogleGears、JapascriptのAPI。オンラインではなくても、Webアプリケーションが動くようにする仕組み。(GoogleReaderに既に実装済み。緑の丸矢印マーク)
ローカルデータベース、ローカルサーバー、ワーカープールを利用するとのこと。
「昼食を用意してあります」のセッションで思ったこと
豪華。ホテル日航東京、幕の内弁当とお茶が出た。
Chris Atenasio氏のセッションで思ったこと
http://atenasio.googlepages.com/gdd2007.html
「コードを書き始めましょう」
コードは危険を孕む。データと分離。(XML化)
GoogleでもJavascriptエラー、出てたよ!w
James Yum氏のセッションで思ったこと
見た感じ、日本の人かと思った。
Gadgetsには、UniversalGadgetとDesktopGadgetがある。
http://desktop.google.com/dev
「海外、つまりアメリカ以外の方」、うーむ、インターナショナルな発言だ。。。
VistaのガジェットとGoogleのガジェットはどう違うんですか?と聞けばよかった。
Googleは、ギャジェット、ギャジェットって、発音しているように聞こえた。。。
James Yum氏は、超強力にプッシュしていました。
Ryan Boyd氏のセッションで思ったこと
GoogleGData、Atomの拡張。Googleの標準プロトコル。
GoogleFinanceのデータを、GoogleSpreadSheetで使える???!!!
GDataServicesで提供しているもの、Apps、Base、Blogger、Calender、CodeSearch、Notebook、Picasa、SpreadSheet。
SecurityAndAuthentication、認証機能をGoogleが中間に入ってやってくれるもの。
GData、PHPもOK!
http://code.google.com/apis/gdata/
鵜飼文敏氏のセッションで思ったこと
Googleのエンジニア
ウヮスゲ、本物ってカンジ。
京都大学大学院卒業。学生のときは、マイコンクラブ。
翻訳して本とか出されている模様。英語っすね、やっぱ。。。
入社して3ヶ月、MountainView。
Googleでの開発の仕方を、メンターから教わる。
オンライントレーニングが充実している。
いる場所とチームは関係ない。(世界でまとめて1つの開発チームといった感じ)
上流下流で別れない!!!(デザインからテストまで全部同じチームがやる)
→どっかの、プログラムは一切書かずに、エクセルで仕様書しか書けない人に聞かせてやりたい言葉です。
ボトムアップ型で開発(ディレクターではなくてエンジニア主導)
1チームの人数は、2~6人!!!
→このメンバーで、設計からコーディング、テストまでやる。
早くどんどん作る(とりあえず動くデモを作る)
オープンなコミュニケーション。InstantMessanger、blog、Wiki
国際化が大事
20%ルール
仕様書(DesignhDoc)は、なぜやるのかがわかる情報を書く。詳しい内容は、「みんなコードが読めますから」、コードに。
→この「(関係者全員が)みんなコードが読めますから」って発言に、Googleスゲェって思いました。
言語は、C++、Java、社内メンテはPython。
最近はJavascript、ActionScript。
リポジトリは一つですべてを(すべてのソースコードすべてのプロジェクト)を管理!!(??)
パッチを無関係な社員が、いきなり送りつけてくることがあるらしい。
プロジェクトリーダーのチェック、リーダビリティーチェッカーのチェック、両方を通る必要がある。
開発スピード
1年間に3万行ぐらい変更した。
週に3、5個ほど他人のプログラムをレビューをしている。
「偉い人ほどコードを書きまくっている」とのこと。やっぱスゴイわ、Google。
方針
自分たちで作る。
パフォーマンス重視
スケーラビリティを重視(並列化)
信頼性(レプリカ、障害管理、自動化)
テスト(unitテストを書け。テストを支援するチームがある)
情報共有
データベース化
project、Idea、Bug
進捗管理
snippets、blog
snippetsは全社員に公開(!)している
ドキュメント
DesignhDoc、Wiki(盛ん)、Documment&SpreadSheet(最近流行中)
ソースコード
Perforce
コミュニケーション
メーリングリスト、IM
一部屋、2~4人
フリーランチでコミュニケーション
TeckTalkをMountainViewでは毎日行っている!
EnglishLessonという仕事の時間がある
評価
目標と成果を評価
Code Review、discussionで同僚が評価
snippets(週報)
GoogleResume(今までの得意分野)
Googleのソフトウェアエンジニアは
自主的
知識やスキルを増やす
上からの命令を間t内
直すものを見つけたら直す
チームで働く
変化についてゆく
「よく働き、よく遊ぶ!」
20%ルール、80%のほうは?
新しく組み合わせさせられること
今までやっていたこと、今までやっていなかったこと
100%同じ事をしていると視野が狭くなる。
セッションとセッションの間の休憩で思ったこと
お菓子と水が食べ放題、飲み放題。休みの度に食べていたら、こりゃ太るわ。体験してみて、いくらGoogleがフリードリンク、フリーフードでも、「これはちょっと」と思った。
レセプションパーティーで思ったこと
いくら自由な会社でも礼儀はしっかりしないとちょっとまずいかもって反省。社長と名刺交換する機会があり、自分が手に持ったワイングラスを社長に持たせたまま名刺交換。。。すみません、礼儀知らずな自分をお許しください。
Googleの社員の方は、親しみやすい普通な感じの方々だった。
以上、メモに間違いがあったらすみません。詳しくはGoogleが公開しているWebをご参照のほどを。