2月ピックアップ

株式会社さくら
 店名 
株式会社さくら
 住所 
東京都 東京都中野区

IP電話をお探しなら当社さくらまで! 安心の料金プランでサービス提供いたします。

レンタル エイト
 店名 
レンタル エイト
 住所 
東京都 東京都西新宿3丁目

IP電話、レンタル携帯、WiMAX-emobile等、激安対応!まずはお電話を!! 皆さまのご期待にお答えします!!

ロイズリサーチ
 店名 
ロイズリサーチ
 住所 
東京都 新宿区西新宿6丁目12-7

はじめて探偵事務所、興信所へご相談をお考えの方へ 親切、安心、明朗会計、まごころ込めて調査いたします。

スキマ産業のブログ | IP電話 比較 レンタル携帯 比較

イマドキの“学生プログラマー”は何を考えているの? | IP電話 比較、すきま産業
2014年11月26日 15:04:57

イマドキの“学生プログラマー”は何を考えているの?

ITmedia エンタープライズ 11月26日(水)14時8分配信

 今、理系学生の間でプログラミングが密かなブームになりつつある。といっても、アプリやWebサービスを作るような一般的なプログラミングとは違う。アルゴリズムを駆使し、難題を解く早さを競う「競技プログラミング」だ。



 2014年11月8日~9日に東京・秋葉原の「アーツ千代田3331」で、世界初とうたうプログラミングの祭典「CODE FESTIVAL 2014」が開催された。今どきの学生は何を目指して競技プログラミングをしているのか、そもそもなぜプログラミングを始めたのか。メインイベントであるプログラミングコンテストの主催者や参加者の大学生らに話を聞いてみた。

●対ビッグデータに役立つ? 「競技プログラミング」の世界とは

 プログラミングコンテストとは、与えられた問題に対してプログラミングで計算を解き、その早さや解答数を競う大会だ。

 今回のコンテストの参加者は大学1年生から博士過程までの学生で、約700人の参加者から予選を勝ち抜いた200人が会場に集結。制限時間3時間という本戦(決勝戦)でプログラミングの腕を競った。成績上位の30名には、中国で行われるアジア大会への出場権が与えられる。

 このコンテストは共同開催社の「Atcoder」がメインとなって企画している。その代表取締役の高橋直大さんはまだ26歳と若いが、競技プログラミングの解説書を出版するなど、アルゴリズムと競技プログラミングを日本で広めるために奔走する、業界の第一人者だ。彼は個人や企業が扱うデータ量が増え続ける“ビッグデータ時代”において、今後プログラマーに求められるのは「アルゴリズム」を使いこなせる能力だと話す。

 「プログラムの計算スピードって、組み方によって1万倍……いや本当はもっと全然違うんです。上手な人が組めば0.1秒で終わるけど、下手な人が組んだら1億年たっても終わらない、そのくらいの差が出ることもあります」(高橋さん)

 確かにコードが書けたとしても、プログラムの実行速度が遅くては実用に耐えないものになってしまう。大量のデータを扱う際に、どう効率的に処理するかというのは時に大きな問題となる。

 競技プログラミングは、普通のプログラムでは長時間終わらないような計算処理を、アルゴリズムを工夫して実用的な処理時間におさめていくスキルを磨けるため、ビッグデータ時代に必要とされる人材の宝庫ともいえるだろう。実際に高橋さんも学生のときに複数のWeb企業から声がかかったそうだ。

 「『このプログラミング言語が書けます』というのは、今後スキルとして大きな差が出にくくなるかもしれません。言語というのは勉強して覚えれば、誰でも書けるようになるわけですから。アルゴリズムに必要とされるのは、計算量の省略といった数学的アプローチ。今後はこれができる人が重宝されると思います」(高橋さん)

 大会に参加する学生たちは、そういった目的のために競技プログラミングをやっているのだろうか。高橋さんに聞いてみると、意外な答えが返ってきた。

 「いや、あまり目的とか考えていないと思いますよ。ただ暇だったり、ただ楽しいからやっているだけという人が多いと思います。就職のためとかそういうこともないですね。実務に直接結びつくかというと、そうでもないですし。どちらかというと『働くのはめんどくさい』と思っている人が多いんじゃないでしょうか(笑)」

 本当にそうなのだろうか。コンテストに参加した学生に話を聞いてみた。

●「タダで寿司が食えるってよ!」

 プログラミングコンテストの多くはWeb上で行われる。参加者同士で面識があるケースは少ないが、Twitterではつながっている。そのため、現実世界でも本名ではなく、ハンドルネームやTwitterのアカウント名で呼び合うことが多い。

 もちろん、中には面識のある友人を誘い、グループで本戦まで勝ち上がってきた参加者もいる。本戦後に談笑していた4人組の男子学生に話を聞いてみた。

 彼らは東京工業大学でアマチュア無線好きが集うサークルのメンバー。彼らが今回コンテストに参加したのは、1人が「寿司とピザがタダで食えるイベントがあるってよ」と誘ったのがきっかけだという。

 彼らの知識や興味のバックグラウンドはバラエティに富んでいる。中学からゲームの開発を行っていたという人もいれば、大学に入ってから授業でプログラミングをはじめた人などさまざまだ。予選の1週間前に競技プログラミングを始めて、いきなり本戦出場を決めた強者もいた。

 サークル内でもボードゲームのAIを実装して対戦させたりと、楽しく、好きなことをしている印象を受けた。コンテストに参加した目的も、競争というよりは単に楽しそうなイベントがあるから来たという感じだ。

 将来のビジョンについても皆「特に考えていない」という。単純に“楽しさ”を求めて競技プログラミングをしているが、彼らが扱うプログラミング言語は「C++」「Python」から、スクリプト言語の「HSP」などと多彩。「有名どころは全部触ったことがある」というから驚きだ。友達との交流が、そのままスキルアップにつながっているように感じる。

●「まわりにもっとやっている人がいれば……」

 学生プログラマーの世界は男性がほとんどだが、本コンテストは本戦参加者200人のうち、女性プログラマーが4人いた。

 その1人が玲香(ハンドルネーム)さん。彼女はどのようにしてプログラミングの世界に飛び込んだのだろうか。

 都内の大学で情報系を専攻している彼女は、小学生のころに初めてPCを触り「フリーソフト」を使ったのがプログラミングに興味を持ったきっかけという。「タダで使わせてくれるような便利なソフトを作る人がすごいと思いました。自分もPCを便利に使えるようなソフトを作りたいと思ったのが、きっかけです」(玲香さん)

 そして、中学生のときにはフリーソフトを初めて作り、大学生になって競技プログラミングに出会った。現在は専攻の関係でまわりにプログラマーは多いそうだが、高校ではまったくいなかったため、プログラミングをする機会も自然と減ってしまったという。

 「まわりにプログラミングをやっている人がいれば、もっとやっただろうな……」(玲香さん)

 環境がプログラミングへのモチベーションを左右すると玲香さんは話す。友達をプログラミングに誘ってみたこともあったが、なかなかうまくいかなかったそうだ。

 そんな玲香さんは、来年は大手インターネット関連会社に就職し、アプリの開発に従事する予定だ。競技プログラミングの世界からアプリ開発の道に進む人は少なく、Webサービス系の企業や機械学習の研究者などになるケースが多いという。アルゴリズムを極めることが、直接業務のスキルアップにつながるとは限らないためだ。それでも、競技プログラミングがアプリ開発に応用できる点はあるという。

 「最近のアプリ開発は、ただアプリを作れるだけじゃダメだと思うんです。レコメンド機能などはアルゴリズムで動きますし、扱うデータ量が多くなれば、それを効率的にさばけるアルゴリズムも必要になってくると思います」(玲香さん)

●プログラミングを“お祭り”に――「コミュニティを広げたい」

 CODE FESTIVAL 2014を支える裏方にもスポットライトを当ててみよう。本イベントは“プログラミングフェスティバル”と名乗るように、コンテスト以外のコンテンツも多数用意していた。「太鼓の達人」や「Dance Dance Revolution」といった“音ゲー”やボードゲームで遊べるブースや、コードを筆で書いてみるといった一見プログラミングと関係がなさそうなものも多い。

 プログラミングに関係するものならば何でもアリ――言わば学生の“文化祭”のようなスタイルにした理由を、この企画のサブプロジェクトリーダーであるリクルートの秋田毅さんはこう話す。

 「普通のプログラミングコンテストは世界じゅうどこでもやっています。2013年にも一度『Recruit Programming Contest』という名前で開催したんですけど、まだ全然可能性が分からなかったんです。そこで一度学生にヒアリングしてみて、その意見を反映させたものを作ってみようと思いました」(秋田さん)

 日本各地の大学でヒアリングをした結果、音ゲーが競技プログラミング業界の人たちと親和性が高いと分かったという。また、オフラインで行われるプログラミングコンテストの規模が小さいことから、成績上位の“固定メンバー”ばかりがいつも参加しているという実態もヒアリングで分かった。そのため、本戦の参加者を200人という他に類を見ない規模にしたそうだ。

 普段、オンラインでしかつながってない人と実際に会ってコミュニティを広げてほしいというのが主催者側の狙いだ。参加者にバイキング形式の食事をふるまい、遠方から参加する人には、交通費や宿泊費をリクルート側で負担するなど「太っ腹すぎる」という声も参加者から上がっていたが、それだけリクルートがこのイベントに賭ける思いは強い。

 「競技プログラミングというのはまだニッチな業界かもしれないが、エンジニアになる1つのきっかけになれば幸いです。実際、優秀なエンジニアは名だたるWeb企業では優遇されている。日本のエンジニアはもっと評価されていいはずです」(秋田さん)

●学生が求めているのは「楽しさ」と「環境」

 今回の取材を通し、学生たちが「楽しさ」や「環境」を求めて競技プログラミングをやっているという印象を受けた。イベントの参加者は本当に楽しそうで、参加者側の想いと、主催者側の狙いがうまくかみ合ったようだ。

 何事も楽しくなければ続かない。それはプログラミングも同じだ。このイベントの大きな目的として「世界で活躍するような優秀なプログラマーが日本からもどんどん生まれてほしい」とリクルートの秋田さんは語っていた。

 コンテスト形式で競争心をあおるだけではなく、友達感覚でコミュニティを広げて楽しんでもらい、プログラミングの世界に興味を持ってもらう――これが、今どきのプログラマーの育て方なのかもしれない。