高い技術力を持って活躍する「学生スターエンジニア」たち。彼らはどのように生まれ育ち、どんなことを考えているのか。同年代のスターへのインタビューから、自分の就職活動のヒントを得よう。
こんにちは、電設部の塚田です! 月日の流れは早いもので、もう11月も半ばを過ぎ、7月の暑い日に産声をあげたこの連載も4回目となりました。来年3月に筆者は学校を卒業いたします。それまでに、まだまだたくさんの学生スターエンジニアに会いたい、話を聞きたい所存です。皆さま、どうかお付き合いくださいませ。
第4回のターゲットは高橋直大さんです。慶應義塾大学 環境情報学部の2年生で、ITmedia エンタープライズにて「最強最速アルゴリズマー養成講座」という連載を行っています。
彼のことを知ったのは、Imagine Cup 2008(筆者注:マイクロソフトが主催する、全世界の学生向け技術コンテスト)が開催された2008年の7月です。彼は、この大会のアルゴリズム部門で世界第3位という快挙を成し遂げました。この偉業を報じる各メディアの記事を見て「これはすごい」と興奮した筆者は、「高橋さんに話を聞かざるを得ない!」と思ったのでした。
それでは、第4回インタビュースタートです!
―― よろしくお願いします。まず、読者の皆さんに向けて自己紹介をどうぞ!
高橋 よろしくお願いします、高橋直大(たかはしなおひろ)です。ネット上では、ハンドルネーム“chokudai”(ちょくだい)で活動しています。わたしが何者かといいますと、やっぱりImagine Cupのアルゴリズム部門で入賞したのが分かりやすい実績かな。
最近はTopCoder(筆者注:世界中のプログラマが参加するプログラミングコンテスト)によく出ています。どちらかというと短期間決戦よりも、マラソン・マッチ(筆者注:Marathon Match=1週間または2週間の期間内に、どれだけ良いスコアを出せるかを競う形式のコンテスト)のような、長期間かけて問題に取り組む形式の方が得意です。
―― 今年のImagine Cupには出場されなかったんですか?
高橋 今年はアルゴリズム部門がないんですよ(筆者注:ただし、Imagine Cup 2009では『ロボット(アルゴリズム)』という部門が存在する)。ですので、TopCoderとか、そのほかのコンテストにちょこちょこ出ています。ちょうど明日(取材日の翌日)から、NASAが主催するTopCoderのマラソン・マッチがあって、それに出る予定です。
―― 高橋さんのTwitterやブログを拝見していると、最近はちょうどTopCoderに取り組んでいるとのことで、順位のお話が出てきていましたね。1位になった、ちょっと下がったけど何ポイント差だ、とか。臨場感があって面白いです。
高橋 ほかの人から見えるところで情報発信しておくことで、自分に適度なプレッシャーをかけようとしているんです。「自分、もうちょっと頑張らないと!」的な。あとで見返すと恥ずかしい発言なんかもあったりして……(笑)。
―― ある程度、露出してみんなに見てもらうことで、サボれないようにする、テンションが下がらないようにする、というセルフコントロールに使っているんですね。「みょんみょん」というつぶやきもよく見ますね(笑)。
高橋 「みょんみょん」は口癖なんですけど、一度そういってからTopCoderに出たら、すごくいい成績が取れたことがあったんですよ。だから、願掛けに近いですね。僕は「思い込めば何でもできる」と思っていて、その一環です(笑)。真面目な話、解けると思えば解けるし、解けないと思っちゃったら解けない、というのは実際にあると思います。
―― 高橋さんは、プログラミング歴はそう長くないんですよね。プログラマというより、数学者といった方が正しいのでしょうか。
高橋 そうですね。でも、数学もそこまで難しいことをガシガシやっているわけではないんですよ。大学で勉強している数学は、周りの学生と同じペースでやっているし、コンテストで使うアルゴリズムは中学レベルの数学でほとんどすべて説明できる内容なんです。数学というより、算数に近いかも……。
どちらかというと、知識自体でなくて、組み合わせや発想で勝負するという部分が大きいと思っています。自分はそういうところが得意なのかもしれないですね。内容的には、それほど特別に高度なことをやっているわけではないと思います。
―― 高校2年生まで野球をやっていて、それから「パ研」(筆者注:筑波大学付属駒場 中高パーソナルコンピュータ研究部のこと。Rubyの高速化とかっこいい写真で話題になった金井仁弘さんは現役パ研部員である)に入ったとのことですが、プログラミングや数学の勉強はパ研に入ってからなのでしょうか。
高橋 パ研でもプログラミングの勉強はあまりしませんでした。かといって、数学をバリバリやっていたかといえばそうでもなくて、いろいろ遊びながら、わいわい楽しんでやってました。金井くんの記事を読んで、「最近のパ研はマジメだなぁ」と思いましたよ(笑)。
でも、僕の代は数学系の実力者が多かった。同期がけっこう、数学オリンピックなんかで活躍していました(筆者注:数学オリンピックの成績優秀者一覧を見ると、「筑波大学附属駒場高等学校」の名が多い!)。彼らには、今でも勝てる気がしないです。そういう環境だったので、数学的な問題をみんなで解いてみよう、といったような遊びはよくやっていましたね。たしか、Imagine Cup 2006に出たとき、アルゴリズム部門の1次予選がパズルゲームのような問題だったんです。それを「みんなでやってみようか」って解いてみたり。ベスト12くらいまでの中に、パ研メンバーが5人は入っていたと思います(笑)。
―― 「変態」ぞろいですね!(筆者注:ほめ言葉)
高橋 ええ、変態集団だと思います。
―― 高橋さんがプログラミングを始めたのはいつだったんですか?
高橋 Imagine Cup 2006で、1次予選の問題はプログラミングがほとんど不要だったんですが、2次予選ではC#のソースコードをいじる必要があったんです。でも、C#なんて勉強していなかったので、問題のソースコードを見ても意味が分かりませんでした。一応、中学3年生のころに4ビットマイコンを扱う授業があって、その授業内でほんの少しだけプログラムには触れていました。「面白いな」とは感じたんですが、深入りはしませんでした。そのときは野球をやっていましたからね。
―― では、プログラミングを始めたのは、コンテストに出場するためだったと。
高橋 はい、スパコン2006(筆者注:高校生向けの「スーパーコンピュータコンテスト」。本選通過者ページには高橋さんの名前が)に出るときに勉強しました。C言語で書く問題だったのですが、そのときは「if文ってどう書くの?」とか聞きながら頑張っていました(笑)。
―― CやC#以外に、何か手を出している言語はあるんですか?
高橋 まだ本格的に手を出しているわけではないんですが、いろいろ触れてみる予定です。半年くらい前に、1日だけPHPを触って掲示板システムを作ってみたことがあったんですが、「あ、これは僕には合わないな」って(笑)。これから、PythonやRubyを調べてみようと思っています。個人的に、構文の見た目がキッチリしていないコードはとても嫌なので、まずPythonかなと(筆者注:Pythonはインデントまでルール化されている)。
―― コンテスト以外に、何か開発してリリースする、ということはされているんでしょうか。
高橋 今のところ、あまりしていないですね。というのは、自分が欲しいなぁと思うソフトって、大体すでに作られているでしょう。今でもプログラミングといえば、アルゴリズムコンテストのためにコーディングしている、というイメージです。
―― こうしてお話ししていると、プログラマや数学者というより、まさに「アルゴリズマー」という名がふさわしいと感じます。実際のところ、いま高橋さんの中で大きなウェイトを占めているものは「アルゴリズム」なんでしょうか。
高橋 そうですね。今のところ、将来は研究職を考えているんですが、アルゴリズムが分かっていると、どんな分野の研究でも力が発揮できるんじゃないかな、と思うんです。今後、活動の場をIT系の分野だけにしぼっていくつもりはありません。日本での就職にこだわる必要もないかな……と。
―― 今日、取材するに当たって、アルゴリズマーという人はどんな仕事に就くんだろう、と思っていたんですよ。例えばセキュリティ分野で、新しい暗号化方式を考えたりするのかなぁ、とか……。
高橋 うーん、そうですね。まだそこまで具体的には考えていないですが、例えばなにかほかの専門分野の領域に入っていって、そこで新しいテクノロジーを開発することになるのかな、と思います。
Copyright © ITmedia, Inc. All Rights Reserved.