情報科学科の先輩に聞く!

現役学生OBインタビュー「先輩たちの仕事の原点」各界で活躍する先輩たちが教えてくれる“仕事の本質”

座談会トップへ戻る

競いあい、高めあう

グーグル株式会社|大倉務さん (情報科学科28期)
インタビュー年月日
平成24年 3月 21日
大倉務 
平成18年情報科学科卒業。情報理工学系研究科に進学し、20年グーグル株式会社入社。
大橋駿介・菅沼伸陽(情報科学科三年)
毎日利用する検索エンジンの企業でのお仕事に興味があり、インタビューさせて頂きました。
情報科学との出会い
――情報科学に触れ始めたのはいつぐらいですか?

正確には覚えていないんですが、多分小6か中1くらいの時で、中学受験の勉強をしていて、こんなの前に同じ問題解いたじゃん、こういうのはコンピュータがやってくれないかな?って思ったのが最初にコンピュータに興味を持ったきっかけでした。入学後、中学高校の先輩がオセロのプログラムを作っているのを見て、「コンピュータをうまく使うとこんな賢いことができるんだ」ということに衝撃を受けて、それ以来コンピュータで人間にはできないことができるかということを色々調べて勉強していました。その興味は今でも続いていて、ずっと検索のチームで働いていて、検索ってまさに人間が自力では探せないようなものをコンピュータが代わりに探してきてあげるので、それを楽しんで色々やってます。

――たしかにそうですね、検索は言葉を入れたら一番便利なページが一番上に出てきます。

そうですね、便利なものを上に出してあげるとか人間が打ち間違えたのを直してあげるような賢いシステムに興味があります。それは中学生の頃にオセロを見た時からずっと変わらないですね。
進学振分けで情報科学科を選んだ理由
情報科学科か、工学部の電子情報工学科かで迷いました。最終的に情報科学科にしたのは、情報科学科のほうがコンピュータ周りで色々やっていたからですね。

――たしかにCPU実験とかもパンフレットにいろいろ書いてあって。当時はパンフレットはあったんですか。

記憶が正しければ、電気の方は製本されたパンフレットで、情報科学科はよくわかんない紙が(笑)。でも色々調べた結果、情報科学科のほうが自分がやりたい事ができるようになるのに役に立つと思ったのでそっちを選びましたし、今振り返ると結構気軽にやった割には大事な選択だったのかなと思います。
学生時代について
競争好きだったかもしれないですね。課題とか色々出たときに、あの人が本来やるべきこと以外にこれもやったと聞けば、それはかっこいいなじゃあ僕はこれをやろうみたいな感じだったりとか。あと、オセロのAIのコンテストを開いたりとか……

――あ、それは今もあります。

当時はなかったんだけどな。あと、CPU実験って今もありますよね。

――あります。

あれも各班で競ったりとかで、とにかく人と勝負するのが大好きでした。

――CPU実験では何を担当されましたか。

コンパイラでした。特にコンパイラの下回り(バックエンド)とアセンブラをやってました。そのときもすごい競争意識を燃やしていて。Itaniumってわかりますか。

――はい、Intelの。

あれって命令スケジューリングを全部コンパイラがやるんですよ。CPUで中でスケジューリングするより、外(コンパイラ)でいくらでも時間をかけて最適化したほうが速いに決まっているじゃないかと思って、そういうCPUアーキテクチャとそのためのコンパイラを作ったりしました。そうなると、別のマシン(班)の人達は「どうせそんな複雑なCPU作ったって動かないのだからひたすらクロックを上げるんだ」と言って、そうなると半分宗教戦争みたいな感じになって、お互い自分たちが正しいことを示すために必死でした。

――情報系はやっぱり宗教戦争が好きなんですかね。

僕の言っているのは(emacs vs. vim 戦争のようなものより)もっと戦争ぽくって、学生端末室にウェブカムを設置して、家からでも「あっ日曜日だけど向こうのチームが働いているやばいうちもやらなきゃ」というような感じで、まあ半分遊びですけど、真面目にも不真面目にも競争していました。
競争について
――今はウェブ上でのコミュニケーションで、例えばツイッターとかで色々な人と知りあえたりするんですけど、当時はどうでしたか。今は上を見ればどこまででも近い形で見えるので、競争しようと思っても果てしない気がするんです。

そういう意味では幸せだったかもしれないですね。自分の学年と一個上までしか視界に無かったので、頑張れば勝てるんじゃないかと思えたから頑張れたのはあるかもしれないです。

ですが、日本の情報系の中でプログラミングとかコンピュータについて一番詳しい人たちの結構な割合が地下室にいると思っていましたし、そんなに間違っていなかったと思います。その人の中での競争がメインでした。

――学科で上の方にいるだけで日本でも大分できる位置になるっていうのはありますね。

そうですね。その学年でっていう話に限ればそう間違っていないと思います。あれは相当恵まれた環境だったと思います。自分が一番できるってなると、どうしてもそこから先に伸ばしていくのは難しいと思うんです。やっぱり周りに自分より凄いくらいの人がいると、やる気が起きるので。

――見えやすい目標がいるっていうのはいいですね。

すぐ隣で、時にはアドバイスももらえるような距離で、自分よりも凄い人がいるっていうのは凄くいい環境だと思います。

――現在は、そういった「競争」みたいな感覚はお持ちですか。

今は同じ課題が出て、それに取り組んでいるという訳ではないのですが、全然違う分野だったとしても、あの人のやった仕事は、自分がやったらこの期間ではできないだろうしこの精度では上手くいかないだろうというのがわかるので、そういうのを見て「こんなことを出来る人がいるのか」と思って、まだまだだなぁと思うことはありますね。悔しいと思うこともありますね。
アルバイトについて
――学生時代にアルバイトはしていらっしゃいましたか。

はい、していました。情報科学科にいた頃よりちょっと後になるんですけど、未踏ソフトウェアに応募して、国から資金をもらってシステムを作ったりとか、情報科学科にいた頃は携帯向けアプリを開発したりとか。当時ブログが凄く流行っていて、ブログパーツにブログの内容にあった広告を表示するシステムを作ったりとかそういうちょこちょこしたことはいろいろやっていました。でも大半の時間は地下室で過ごしてたと思います。

――地下室にいると勉強もそれ以外のこともはかどるので、なんだかんだで行ってしまいますね。

そうですね、まあはかどっているのかどうかはよくわからないんですけど、今考えると相当勉強になったと思います。
プログラミングの勉強について
――プログラミングを学ぶ時って最近では、本を全く買わずにウェブだけで勉強するっていう人もいるんですけど、大倉さんはどうやってプログラミングを学んでましたか?

いい質問ですね。僕自身は中学生ころからプログラミングをちょっとはやっていたんですけど、殆んど独学だったのできちんと勉強したってことがなかったんです。今思うと恥ずかしい話ですけど、大学二年生の進振りの前まではJavaだけじゃなくてCも書けたりするって、ちょっとプログラミングが得意ということなんじゃないかって思っていました。二年生の後半から情報科学科の人に会ったとき、僕はコピペをしつつもCのプログラミングもできるので「自分はできるほうかな」って思っていたのに、「Cでこういう書き方をすると、コンパイラがこういうアセンブリを出しちゃうからさ」って話を周りの人がしているのを聞いてすごくショックを受けました。その後は本を買い漁って勉強をしました。大体そういう人は良い本や悪い本を知っていると思って、どんどん教えてもらって片っ端から読んで勉強しましたね。やっぱり、他の人ができる話を自分ができないと悔しいじゃないですか。なので僕は、勉強っていうと正しくないのかもしれないですけど、人に負けたくないから色々やっていたっていうのはありますね。競争と言っても辛いというより楽しいですよね。遊び感覚で競争していて、その過程で論文を読むっていうのも含まれていましたし、プログラミングをできるようになるっていうのもありました。
CPU実験(プロセッサ・コンパイラ実験)について
――当時のCPU実験で一番早かったCPUは何秒くらいだったんですか?

正確な値は忘れちゃったんですけど、大体30秒がどうのこうのってあたりでみんなで話していた気がします。その頃は、前の年のCPUに比べてもうちの代の一番速かったCPUはかなり速かったですし、その次の代もまたかなり速かったと記憶しています。結構チップの特性、FPGAの特性とか、FPGAで出来ることとかのノウハウが毎年溜まっていくので、最初の頃は少なくとも急激に速くなってましたね。

――最近は速度競争というよりは、GPUを書いてみようとか、高速化とはまた別の方向に話が進んでいますね。
プログラミングコンテストについて
――今情報科学科ではプログラミングコンテストをやっている人が多いのですが、そういうことはやってらっしゃいましたか?

ICFPとICPCを両方やっていました。ICFPは三年生になってちょっと経ったころに出て、その時に四年生も参加していてそれぞれチームでやっていたんですけど、あまりの力の差にびっくりして、先ほどお話したオセロコンテストを開催しようとしたきっかけになったりしました。ICPCは今ほどは盛り上がってはいなかったんですけど、何人かの人は興味を持って練習している感じで、僕自身もチームを組んで何回か練習して出ていました。今だと事前に100日くらい練習して出ないとランキングにも乗らない感じなんですよね。

――そうですね。東大から国内予選を勝ち上がろうと思うと年がら年中プログラミングコンテストの練習してないと厳しいですね。

(情報科学科にいると)普段からプログラミングはどうしてもするじゃないですか。なので当時はそんなに特別な練習をせずにいきなり出てもそんなにひどいことにはならない、一応次に進めるくらいのレベルでした。
情報科学科での経験で役に立ったことは?
もう、ありとあらゆるものが役に立ったと思いますね。アルゴリズムとかコンパイラとか、もうちょっと上のレイヤーの自然言語処理とかのあたりの話は毎日ダイレクトに効いてきますね。今検索のチームで働いてるんですけど、大量のデータを扱うので、アルゴリズムのオーダーがすこし違うと(実行時間が)1日で終わるか1年かかるかというレベルでかなり変わってくるので、アルゴリズムに関するカンのようなものが当時養えたのはとても役立っていると思います。

――ということは現在自然言語処理を主にやってらっしゃるということですが、学生時代の研究テーマや研究室は。

それはちょっと難しいんですけど、研究室は数理情報学専攻の研究室に所属していまして、情報科学科では萩谷先生に卒論の面倒を見ていただいたんですが、実際の研究などでは計数工学科の中川先生に中身は見てもらっていました。当時、ウェブのデータを使った応用的なアプリケーションをやりたくて東大の中ではそこの研究室が(分野的に)一番興味に近かったので、修士からは正式にそちらに進学して研究室でいろいろやらせてもらいました。
情報科学科では学ばなかったことで、入社してから学んだことは?
2つありますね。ひとつはコミュニケーション。コミュニケーションって言うと、ちゃんと喋ることとかをイメージすると思うんですけど、実際に社会で役に立つスケールの物を作ろうとすると、どうしても自分一人ではできないので、誰かと一緒に作らないといけないんです。そうなると、自分がこうしたらいいと思うものをちゃんと人に説明したり、人を説得したりしていかないと物ができない。なのでそうところを含めて、喋る以外に我社ですと英語とか、どうやって人の共感を得るかとか、どうやって協力してもらうかとかそのあたりを含めたコミュニケーションというのを、会社に入って新たに学びましたね。学校も友達同士ということではコミュニケーションはとても大事なところではあったと思います。ただ、あそこはある種みんなが似たように考えている人の集まりでもあると思うので、もう少し違う考えを持った人ともコミュニケーションを取りながらやっていかないといけないというのは大きな違いとしてありますね。

あともうひとつ大きな違いとしては、特にうちの会社のサービスは世界中ですごく沢山の人に使われているので、「だいたい」動くコードを書くだけでは足りなくて、きちんとコメントやテストがついていて、「ちゃんと」動くコードを書くことが必要です。それに加えて、他の人が後から変更を加えることもできるし、あとは99.99%しか動かないんじゃなくてちゃんと100%動くようなコードを書かないといけないというのが、学生のころと比べて違うところです。

学生だと、ユニットテストとかも時間の無駄だと思ってますよね。会社に入ったら、そういうのは時間の無駄でもなくなる。やっぱり手元での簡単な実験とかはパッとやっちゃったりするんですけど、最終的なテストは相当やりますね。
英語について
――お手洗いに英語のポスターが貼ってありますよね。この会社でのコミュニケーションは基本的に英語なんですか。

日本人同士で喋る時は日本語でしゃべりますが、他だと基本的に英語ですね。

――英語は特に勉強したとか、帰国子女だとかそういう訳ではなく?

英語の勉強も特にしなかったし、得意というわけでも帰国子女というわけでもなかったです。その分、入社した直後とかはかなり苦労して勉強しました。先ほどお話ししたように、コミュニケーションが特に大事になってくるので、英語でのコミュニケーションができないと、もし英語が出来れば簡単に進むことに余計に時間がかかることがよくありました。それで入社した時はかなり必要に迫られて、あせって勉強しましたね。それに加えて、英語というのは沢山の人と話していると段々出来るようになっていくものでもあるので、沢山話すようにしました。

――つまり、よく言えば入社してでも間に合うってことですよね。

あっはっは。まあそうだと思います。

――安心しました。

なんとか英語を一生使わないように暮らそうと考えるというよりは、そういう環境に置けばなんとかなるって考えている方がいいんじゃないかなと思います。

――興味がある事にって話にもつながりますけど、攻めの姿勢みたいな「やってみよう」というか、必要そうだし、使わないといけない環境に身を置こうみたいな。

そうですね。個人的には英語を勉強することを目標に置くよりは、例えば何か知りたい分野があって、その最新の情報は英語の論文に載っているから、それを読もうとか、それから、例えばそれに関するビデオレクチャーがあるから、それを見ようとか、そういう形で英語を恐れずにタックルしていく、というのを早いうちからやっておくといいんじゃないかなと思います。英語は所詮は手段だと思っているので。

――新しいのを見ようとすると、英語じゃないと。ウェブでも速い情報は英語だったりしますし。

そうですね。僕の記憶が正しければ、当時は確かCPUの教科書、『Modern Operating System』の本が日本語だとWindows 3.1か95くらいで止まっているのに、英語版だと最新のメモリ管理機構の話も入っていて、「それなら英語でも読まなきゃ」と思って読んだ気がします。10倍くらい読むのに時間かかるんですが。それでも、やっぱり損はないと思います。やっぱり、最新のことを知るほうが嬉しいじゃないですか。
働き方に関して
――話は変わるんですが、今は一週間にどれくらい働いてらっしゃるんですか。

そうですね……僕らの場合だと、例えば朝にミーティングとかがあれば9時に来たりもしますけど、いつも必ず何時までに来ないといけなくて、タイムカードがあってみたいな形では無いですね。なので、うちの会社はきちんとした時間に働くことよりもそれぞれの人の都合のいい一番生産性の上がるような時間帯や働き方で働くことが優先になっているのでみんな結構好きな時間に会社に来て好きな時間に帰ってます。ただ、何だかんだいってもコミュニケーションはやっぱり大事ですし、会社でチームの他の人とのコミュニケーションを取ったほうが色々と進むのでみんな他の人がいそうな時間には来るようにしています。

――さすがに完全夜型とかだと苦しいんですかね。

いわゆる夜型人間の方の多くは、そういうスタイルだと何かが一番捗るからそのスタイルを取っている訳ですよね。多分、社会に出ても同じようなことが起きるのかなと思っていて例えば、昼間会社に来たほうが進むという方なら、そういう人は昼間に会社に来ると思うんですよ。ただそれが、昼の1時から夜の10時でも、人とオーバーラップしている時間が十分にあって、かつ一人の時間もあるってことになれば、多分そういうスタイルで働くようになるってだけなのかと思います。

――少し安心しました。そのあたりは学生時代とあまり変わらないですか。今も学校に来たい時に来て、一番生産性の上がる時間に課題をやっているって人が多いんですけどやっぱりそんな形なんですか。

そうですね。生産性を第一に考えている、というのはそんなに間違っていないと思います。ただ、人と協力するほうが生産性が高いので、自ずとチームメンバーは皆同じような時間に会社にいるようになってくるというのはあります。

――CPU実験のときとかもそういうのは意識していたんですか。実際に地下に来てみんなと会って色々話したり。

そうですね。ただ、あの時は一日16時間くらいCPU作ってたので……CPU実験はコミュニケーションとか、コラボレーションの面でも良い勉強になったと思います。
これからの情報科学科の学生に期待すること
期待とはちょっと違うんですけど、アドバイスとしては、とにかく自分の興味のあることをたくさんやるのが大事かなと思います。情報系でも他のものでも、興味があればそれをどんどんやればいいと思います。僕自身の経験でも、CPU実験であれオセロのコンテストであれ、「やらなきゃいけない」ラインというのは低いところにあったと思うんですね。そのライン以降のことは全部、面白いという理由で取り組んでいました。面白いと思えば本気を出せるし、すごく吸収も速いので、そういうことにこそ時間を使うべきだと思います。それが将来役に立つかどうかは中身によりますけど、いろいろ経験して勉強したことが役に立たないことはないと思うんです。将来役に立つ割合が4割でも5割でも、興味を持って5倍10倍と情熱をかけて取り組めば、役に立つ部分も勝手に増えていくと思う。興味のあることをやればいいと思います。