インタビューTweet最近、学内のいろいろな場所で就活イベントの案内ポスターが目に付く。京大ホームページや学部事務室前にもインターン情報が掲載され、いよいよ13年度卒の就活が始まろうとしている。インターンとはどういうものか、まだ知らない人も多いことだろう。インターンを経験したGoogleの花岡俊行氏にどのようなことを経験したかを尋ねた。07年、08年Googleでインターンを経験し、09年入社。現在はGoogle日本語入力開発チームに所属。日本語入力のチームにいらっしゃるとのことですが、仕事内容を教えていただけますか。日本語入力は、特に日本人というか、日本語を使う人が日本語を入力する時に使うソフトウェアです。特徴としては、マルチプラットフォームで、WindowsとMac両方で使えるというのと、Webにあるドキュメントを使って語彙を生成していて、たくさんの語彙を持っているのが特徴です。あとはサジェスト機能に力を入れていて、少ないタイプ数で入れたいものを入力できるようになることを目指しています。このプロジェクトは、もともとは弊社のエンジニアが20%で始めたプロジェクトです。日本語入力Googleが開発した日本語入力システム。―20%というのは?Googleには20%タイムというのがありまして、業務時間の20%をメインプロジェクト以外に使ってもよいことになっています。これは、明文化されているルールとか20%プロジェクトを申請するとかいう仰々しい感じではなくて、日常の業務の中でちょっと違うことをやった方がよいし、やってもよいよという感じですね。―厳格に20%と決まっているわけではなく、自分の裁量で決めるわけですね。他の人から「20%超えているんじゃないか」という指摘が入ったりはしませんか?そういう話にはあまりなりませんね。実際メインプロジェクトの時に他のことをやっていても、「今ちょっと20%の方やっている」と言ったら、なるほどと扱ってもらえるようなコンセンサスがとれています。逆にメインプロジェクトばかりやっていると、「もうちょっと範囲を広げるという意味でも、何か20%のプロジェクトを見つけた方がいいんじゃないか」と言われることはありますね。20%では何となく仕事っぽいものをやるという意識はあってで、外部サービスを作ることもありますし、例えば社内のセールス担当の人のためのツールを作ることもありますね。あとはリクルート関係のイベントの手伝いをするなども20%と言えば20%です。有名な例だと、Gmailは20%で作られたサービスが元になっています。好きなことができるといっても、勿論仕事の範囲内ですから、例えば編み物をしている人はまずいませんね。Google日本語入力に話を戻すと、考案者は今のプロジェクトを率いているエンジニアたちなんです。その2人が20%で始めたんですが、その人たちは会社に入る前に研究やいろんなオープンソースのプロジェクトなどでインプット関係やかな漢字変換に関わるような自然言語処理の研究をしていて、そういう興味はあったみたいなので、ちょっと入力システムを作ってみようと決めたみたいです。実際にこういうのを作ろうと言うと、社内に日本語処理とか日本語入力のプロジェクトをやっていた人たちが「実は作りたかった」と言ってわらわらと寄ってきたんです。彼らも20%を利用して集まって始まりました。僕は当時参加していなかったんですが、そういう人たちは結構な開発経験もあったので、最初は「(こういう設計だったら)ここがよくない」とか、「後々困る」とか、「物事を大きくする時に破綻する」とか、そういう悪い例や良い例を集めていたようです。一方で、昔はコンピュータの能力も低かったので、止むを得ず用いていた設計もあるのですが、「今のパソコンで設計するならどうなるか」という話を前提として設計を進めていったようです。実際にその後プログラムを書き始めたのですが、その時は20%プロジェクトらしく、「毎週何曜日は日本語入力の日」という形で決めて、その日は一日ミーティングルームなどに集まってプログラムを書くことにして進めていったみたいです。その時はデモファーストと言いますか、「とりあえず使えるものを、人に使ってもらえるものをまず作ってしまおう」という感じでした。プログラムとしての綺麗さよりも、まずはとにかくデモを作るために実装を進めて、社内のエンジニアとかに使ってもらって反応を見るということを優先にしました。エンジニアではない社員にも使ってもらう中で、「これは結構いいものだから是非製品としてやっていこう」という雰囲気になり、ちゃんとしたメインプロジェクトに昇格しました。20%の時はある程度なんとなく仕事に関係あるぐらいの、好きなことをやっていてもよかったのですが、さすがにメインプロジェクトになる時には人を集めないといけないので、その時にはある程度周囲の人を説得するような材料が必要でした。「なぜGoogleが日本語入力を作るのか」といったことも考えましたし、PMといって、このプロジェクトを見てくれるプロダクトマネージャーを探して、その人にお願いするということもやりました。―花岡さんはどのタイミングでこのプロジェクトに関わったのですか?僕は入社時からですね。入社時の進行状況について詳しくお話することはできませんが、リリースされたのが2年前の冬、2009年12月にファーストバージョンがリリースされました。僕が入社したのは2009年の4月です。その頃から僕はやっていました。―プログラミングは大学になってから勉強されたと聞いたのですが、それはやっぱり学部の勉強がきっかけですか?もともと自分のパソコンは持っておらず、特にプログラミングの勉強もしていませんでしたが、なんとなく憧れを抱いていたこともあり、大学の時に情報学研究科のプログラムを勉強する学科には応募してました。他には、京大マイコンクラブというコンピュータサークルでゲームを作ったりしていました。一回生の前期の時は情報学科でもまともにプログラミングの授業がなかったので、総人の授業を履修して、初学者向けのプログラミング演習の授業を受けたりはしていました。―マイコンクラブではあまりプログラミングは勉強できなかったのですか?マイコンクラブではゲームを作る活動がメインで、毎年新入向けに上回生がゲームプロジェクトを立ち上げて簡単な仕事を与えてくれます。当初は僕もそのプロジェクトを通してゲームを作りながらプログラミングの勉強をしたいと考えていたのですが、僕の同期は人数が多く、先輩から「プロジェクトに参加したければ絵を描いてくれ」と言われました。そのため僕の活動はドット絵を描くことが中心で、ゲーム向けのプログラムは書いていませんでした。―やはり自分で教科書を見て勉強したのですか?そうですね。僕はよく売ってるような「初任者向けの本」を買ったり、あとは自分で授業をとったりもしました。人に教えるのが好きな先輩もいて、ときどき何人かを集めて毎週何時間か輪読などをする勉強会を開いてくれたこともあります。今のマイコンクラブではそんな会がすごくたくさんあるみたいで、今の部員がかなり羨ましいですね。―大学院時代はプログラミングについて研究されていたのですか?はい。大学院の時は岩佐湯淺研究室で、計算機ソフトウェア専攻でした。研究室としてはコンパイラとかプログラミング言語の研究をしていました。バグになりにくいプログラミング言語や、作ってしまったバグを見つけやすくするための仕組みの研究していました。プログラミング言語そのものに対する処理を研究する研究です。【補足説明】コンパイラプログラミング言語を実際にコンピュータ上で動作する形に変換するソフトウェアのこと。―院に入る前は大学で研究したいと思っていたのですか?きっと学部だけだと勉強不足だろうから大学院までは行こうと思っていました。実際、修士の時にやっていたような研究について、学部時代の勉強ではどういう分野なのかが分かったぐらいで、中身については全然勉強できていませんでした。本当に基礎とどういう分野があるかだけで学部は終わった感がありますね。修士の後にずっと研究やアカデミックの世界に進もうとはあまり思っていませんでした。本当に研究している中で、「これを研究していきたい」という分野が見つかればドクターも選択肢としては捨てていなかったんですが、何でもいいから分野を見つけて研究していこうとは思っていませんでしたし、どちらかと言えば僕はあまり向いてないなという気はしていました。僕は実社会に向けて自分の成果を役立てたい、例えばソフトウェアを作って、使って欲しいと思っていたので、基本的には修士で就職するつもりで大学院に入学しました。インターン―入った後と同じスタイルだった―学生時代にインターンで働く意義などはありますか?僕は学生時代にプログラミングコンテストに参加していました。その関係で、Googleで働いている先輩からインターンのお誘いは受けていました。調べてみると、当時はインターンの受け入れ先が日本ではなくてアメリカ・カリフォルニア州のマウンテンビューで、期間も2、3カ月でした。僕は英語をまともに話したこともないので、海外で3カ月もの間インターンに参加するというのは非常にチャレンジングなことでした。1回ぐらい面白いことをしてみてもいいのではと思ってやってみました。Googleには凄腕のエンジニアがいることや、インターンは実際の仕事と近いことをやるという話は聞いていたので、もし無事にインターンを終えることができたなら(Googleに)就職したいなと思いました。―マウンテンビューに行った時はどこまで旅費、お金が支給されましたか?旅費としてではなくて、飛行機代と宿泊費用として一括でもらって、そこから自分で払う感じでした。それに加えて、マウンテンビューにいる間の給料がビックリするぐらいもらえますね。バイトするよりは絶対いいですね。―自分で住むところも探したのですか?そうですね。これそれはかなり大変でした。日本から「2ヶ月半部屋を貸してくれ」と言わないといけない上に、当時カリフォルニアのマウンテンビューはすごく地価が上がっている地域で、とても高い部屋しかなくて。結局、日本から同時に数人で行ったのですが、その人たちとルームシェアみたいな感じで借りました。普通に月30万円ぐらいの部屋しかない。3人で住んで月10万みたいな。いわゆる日本でイメージするアパートのような施設が基本的になくて、リゾートマンションみたいな所しかないんです。普通にプールとかついていました(笑)。本当にそういうところしかないんですよ。―インターン関係の奨学金などはなかったのですか?僕は何もありませんでした。アジア」を利用することができます。少なくとも僕らが行った時は会社から奨学金もありませんでしたし、応募もしていませんでした。普通の日本学生支援機構の奨学金は、学部も修士の時も受けていました。―アメリカでインターンをしていた間は、どのような仕事をされていたんですか?アメリカでインターンしていた時は、当時Googleマップのチームがアメリカにあって、そこでもキーワードを入れたらその場所がフォーカスされるという動作をするんですけど、それでうまくいかない例などがあったので、そのランキング(優先順位)を作っていました。結局リリースされなかったので、どういう機能だったのかは詳しくは言えないんですが、ランキングを実際にデモとしてデータを作ったり、デモサーバーを実際に立ち上げてチームの人に見てもらったりした際に、チームの方たちからフィードバックをもらっていました。インターンのプロジェクトの中で、「こういう問題がある」とか「こういうデータを扱えるかもしれない」ということを教えてくれるんです。基本的には任せてもらえて、どういう計算をするとか、どういう方針でランキングを良くするかといったことを自分自身で考えさせてくれました。実際、インターンの期間中に結構良いものができて、チーム内でも、「これは結構いいし、是非リリースしよう」という話にはなったんですが、ちょっとインターン終了に間に合わなかったんです。10週間あったんですけど、実際にデータを作ってさらに外に出すまでにはさらにいろいろな関門があって、そこまではいかなかったんです。―インターンでGoogleで働いて、就活の時はGoogleだけを希望していたのですか?M1の夏にインターンに行って、その後新卒採用で応募しないかという話は直接もらいました。その年の12月ぐらいに面接があり、合否をすぐには教えてもらえなかったのですが、手応えを感じていたので他の会社は受けませんでした。結局ここで決まったので、一般的な就職活動をする人の参考にはならないでしょうね。エンジニアはインターンで入ってくる人が割といます。メリットとしては、実際に内部で働くので、参加者にとってもどういう会社かがよく分かることが挙げられます。他には、参加者は就活時の面接の回数が減ることがあります。理由としては、インターンの時点である意味ずっと働いているので、会社からしてもどういう人なのか分かりやすくなっている、というのはあると思います。別にそれで有利になるというのはないと思いますが、逆に面接で実力が出せなかったとか、そういうことは減ると思います。―やはりエンジニアのインターンは院生が多いのでしょうか?特に制限はしてないのですが、一番多いのは修士卒業で就職希望の人ですね。実際には学部生の人もいますし、ドクターの人もいます。その他、Googleのインターンが他の会社のインターンと違うところは、その期間の長さだと思います。1日2日の体験ではなく、10週間とか2ヶ月3ヶ月なのです。これは私が就職した後に分かったことなのですが、インターンの時にやっていたことと実際に入った後に任された仕事は基本的には同じスタイルで、使えるリソースなどの差がほとんどありません。職場環境―エンジニアが扱う範囲が広い―Googleの職場環境はどのような感じなのですか?他社と比べたことがないので説明がしづらいのですが、エンジニアの視点から見ると、エンジニアが扱う範囲がすごく広いと感じました。プログラミングだけではなく、実際にサービスやソフトウェアのデザインから、アイデア出しや設計、実装やリリース、テストまで、製品に対して最初から最後までエンジニア社員が広く責任をもって仕事に取り組んでいると思います。「エンジニアの一日」みたいなプレゼンがあって、それでは先ほどのエンジニアが全ての工程に関わるということと、あとはコードレビューという仕組みを紹介していました。コードレビューとは、プログラムを書いてそれをソースコード管理システムに登録する時に、一人で書いて行うわけではなくて、自分が書いたソースコードを別の人に見て「OK」と言ってもらって初めて登録されることです。これはエンジニアにとってすごくいいことなんです。自分がプログラムを書いて、もっとシニアな、すごく有能な人に見てもらって、「こうしたらもっとよくなる」というのを教えてもらえたりもするし、逆に自分より有能な人からレビューを頼まれて、それを読んで、悪いところがあれば指摘することもあります。「その場合はこうすればいいんだ」という勉強にもなります。プログラムを書くという日常業務の中にも、プログラマーとしてどんどん成長する機会があるというところが僕は結構気に入っています。―デスクワーク以外の職場環境も教えて頂けますか?食事に関して言えば本当に恵まれていると思います。朝昼晩無料でオフィス内で食事できる所があって、そこで僕も今日朝ごはんを食べてきました。あとは飲み物やお菓子もオフィスの中にいくつか小さなキッチンがあって、コーヒーメーカーやエスプレッソマシンが置いてあり、そこで自由に飲んだり食べたりできます。仕事中も就業時間がきっかり決まっているわけではないので、リフレッシュしたい時にはちょっと席を立って、そこに行って飲み物を飲んでも構いません。ときにはそういう所での単なる雑談とか、「こういうのがあったらいいね」とか、「こういうのができたらいいね」とか仕事に関する話があって、実際にアイデアが生まれたり、ちょっと議論が進むということもよくあります。普段は自分のチームでご飯を食べることが多いのですが、それとは別に「ミステリーランチ」という企画があります。これは異なるチームの人がトランプの柄で決められたテーブルに座ってご飯を食べながら雑談するというものです。以前オフィスが狭かったときは勝手にそういう状況になってたんですが、今はもっと積極的に異なるチームの人と交流する機会を作ろうという考えで行われています。学生に伝えたいこと―普通に勉強しておきましょう―最後に、学生に伝えたいことを。先程もお話しましたが、インターンは結構オススメだと思います。面倒くさいと思う人もいるとは思いますが。バイトなどをやっているとその期間なんとかしないといけないし、東京だったら東京に行かないといけないしで、大変だと思います。最近はインターンをやっている企業も多いので、一つの経験としてかなりオススメしたいです。自分が働くかもしれない会社で働くことができるっていいことですよね。なんとなくのイメージで入社して「アチャー」みたいなこともあるわけですから、お互いに得ですね。自分が入りたい会社にインターンで行けたらすごくいいですよね。ワークスタイルも分かりますし。期間の短いところだと会社説明会の延長だったりするかもしれませんが、それでも行く意味はあると思います。Googleぐらい期間が長いと、自分がそこに就職して働いているイメージを持てます。僕も、当時は「インターンだから実際とは違うだろう」と思っていたんですが、入ってみたらイメージとあまり変わらなかったので、かなり近いものだったと思います。ちなみに当時は、ネット上で有名なエンジニアがたくさん転職してきた時期でした。いう印象がすごくあって、そのような人たちのいる会社で自分が働けるようなイメージは持っておらず、とりあえずインターンで無事帰ってこられたらいいかな、ぐらいのつもりで行きました。無事帰ってこられたので、「(自分のスキルは)意外と大丈夫なんじゃないか」という自信がつきました。あとは、僕の場合はというか、情報系、いわゆる理系の学生に向けては「普通に勉強しておきましょう」ということを言いたいですね。FAX:075-761-6095掲載された記事・写真の無断転載を禁止します。リンクの際はご一報ください。