会員登録すると
このコラムを保存して、いつでも見返せます
「僕としては、AtCoderにもっとスキルアップやコーディング試験対策に直接つながるような要素があるとうれしいんです」
こう問題提起するのは、外資就活ドットコムのコーディング試験企画で高評価を得た、国立大学大学院生のDさん(*1)(企画について記した記事はこちら)。以下の記事では、そのDさんと高橋直大AtCoder社長による、オンライン対談の模様を伝える。
ユーザーの進言に、高橋社長はどう答えるのか。そして国内屈指の競技プログラミングプラットフォームといえるAtCoderは“ゲーム”なのか、それともスキルアップの場なのか―。学生の率直な問いを起点に、AtCoderの本質が浮き彫りになる。【藤崎竜介】
*1 LINE株式会社の協力の下、同社が実際に選考で出すレベルの模擬コーディング試験を実施。希望者の中から選ばれた学生9人が受験し、Dさんはその中で最も評価が高かった。
◆内容や肩書は2022年10月の記事公開当時のものです。
1. コーディング試験と競プロは「全然違うもの」。評価ポイントも異なる
2. AtCoderを、純粋にゲームとして楽しめるか……
3. ユーザー拡大をあえて最優先しない、AtCoder流の“情熱”
4. AtCoderを高橋氏がクビになったら!?
コーディング試験と競プロは「全然違うもの」。評価ポイントも異なる
Dさんは、LINEのコーディング試験を題材にした外資就活ドットコムの企画に参加して、高評価を得ました。試験を受けてどんな感想を抱きましたか。
コーディング試験は、AtCoderなどの競プロとは全然違うもの、という印象を受けました。アルゴリズムに関する知識というよりも実装力を問う感じだったので。そこが難しくもあり、面白くもあると感じました。
確かに別物ですね。AtCoderは問題を解くのを楽しんでもらいたいので、実装は軽めにしてアルゴリズムについて考えてもらうことに重きを置いています。コーディング試験とは、評価のポイントも違いますしね。
今回の企画では、どこを評価されるかを意識しましたか。
多少はしました。AtCoderのようにスコアだけではなく、コードの可読性もかなり重視しているんだろうな、と思っていました。LINEの就職説明会でそういった話を聞いていたということもあり。
やっぱり、そのあたりはかなり意識しているんですね。いいことだと思います。ところで、プログラミングはどのように始めたのですか。
今は大学院の1年目ですが、プログラミングは大学に入った年に始めました。せっかく情報系の学科に入ったのだし早いうちにコードを書けるようになりたいと思っていたところ、友人にAtCoderを教えてもらって、参加し始めました。
ではAtCoderでプログラミングを始めた感じなんですね。うれしい限りです。参加したてのころの印象って覚えていますか。
始めたころはすごく難しいと感じました。正直、分からないことだらけでしたね。ただ、AtCoderは特にそうですが、競プロって簡単な問題なら分からないなりになんとなく数式をいじくり回していると、解けちゃう時ってあるじゃないですか。
そういう経験をするたびにどんどん楽しくなって、次第に知識も身についていった感じですね。
AtCoderを、純粋にゲームとして楽しめるか……
AtCoderでの参加履歴を見ると、使うプログラミング言語は最初がC++で、その後Rubyになって、今はPythonになっていますね。どういう経緯で使用言語を変えてきたのですか。
C++から入ったのは、たまたま最初に教えてもらった言語だからです。でも、C++は僕にはちょっと難しくて……。それで、ネットで調べて「もっと簡単な言語」と紹介されていたRubyを使うようになりました。しばらくRubyでコンテストに出たりしていたのですが、次第に研究などでPythonを使う機会が増え、主に使用する言語になっていきました。
今回の模擬試験もそうですし、今はコンテストや試験だとほとんどPythonで書いています。
卒業後の進路についてはどう考えていますか。
基本的にはITエンジニアとして企業に就職したいと思っています。企業選びで一番大事にしているのは、どんな技術を使うかなど、日常業務が自分にフィットするかですね。あと強いて言えば、いろいろな人たちに使われるBtoCのサービスだと、やりがいを得られるのではないかと感じています。
今は研究でどんな技術に関わっているのですか。
強化学習でロボットを動かす研究をしています。学部生の時から、継続して取り組んでいるテーマですね。
では、「どんな技術を使うか」という話でいうと、機械学習に関わる職場への就職を希望しているということですか。
そうですね、そうなれば理想です。
なるほど。ところで、今回こうした機会を設けられたので、ユーザーとしてAtCoderに対する疑問や要望があれば聞いておきたいです。
実は、ぜひ聞いてみたいことがあります。AtCoderですごく強い人って、よく「AtCoderはオンラインゲームみたいなもの」といったことを言いますよね。一方で僕は純粋にゲームとして楽しめているわけではなくて……。正直な話、それがここしばらくAtCoderにあまり参加していない理由でもあるんです。
僕にとってAtCoderはゲームというより、自己研さんの場なんですよね。実際、勉強になりますし。既に述べた通り、プログラミングを始めたころはすごく助けられました。
では、ある程度プログラミングを覚えた段階で、より実践的な勉強に時間をかけるようになった感じでしょうか。
そうなんです。例えばですが、Webアプリケーションフレームワークについて学んだりとか。
誰もがAtCoderをゲームと捉えられればいいのかもしれませんが、実際は僕みたいな人も結構いると思うんです。なので聞きたかったこととしては、今後ユーザー拡大を見据えて「勉強」「自己研さん」といった色合いを強める可能性はありますか、ということなのですが、どうでしょうか。
ユーザー拡大をあえて最優先しない、AtCoder流の“情熱”
難しい話ですね。実はそういう疑問や意見を聞くことは、結構あります。それに対して僕がまず思うのは、「ゲームとはいっても、例えば『Apex Legends』(*2)みたいなものとは全く別物なんじゃないかな」といったことです。
*2 PlayStationなど用の人気シューティングゲーム
確かに全く違いますね。
そうですよね。だから、AtCoderは曖昧な領域というか、「ゲームだ」とか「スキルアップの場だ」とか明快にいえるものではないと思うんです。一方で、どちらに重きを置くかは、運営者として意識しています。
要は、「ゲームの要素を持たせつつも、一番大切なのはIT人材の育成」みたいな方針か、それとも「大事なのはユーザーに楽しみを与えることで、IT人材のキャリア支援はその副産物」という感じなのか。
◆対談はオンラインで実施
どちらなのでしょうか。
完全に後者です。理由は単純で、僕やAtCoderの社員が後者に対してより強い情熱を持っているからですね。例えばAtCoderを就活対策のツールとして位置づけるなら、その面でもっと実用的なサービスにすることは、その気になれば割とすぐにできます。コンテストとは別に「〇〇エンジニア用」みたいな問題集を作って、全部解けた人を認証するみたいな感じでしょうかね。
でも、少なくとも今はそれをやっていないわけですね。
はい。AtCoderの運営って、結構情熱ベースで動いていて。僕を含め社内の人間の「○○をやりたい」という思いで物事が進んでいきます。そして今社内には、僕のようなAtCoderの「楽しさ」を第一に考える人が多いんです。
逆にいえば、仮にこれからAtCoderに入社する人がいたとして、その人が就活対策ツールみたいな方向性に強い情熱を持っていたら、そうした色合いが強まる可能性はあります。今は優先していないですが、スキルアップを促す機能を強化する必要性自体は感じていますし。
そうなれば、僕としてはありがたいです。
対応範囲を広げすぎると中身が薄くなって、何をやっているかよく分からない状態になるので、AtCoderのあり方を劇的に変えることはないとは思います。一方で、意欲のある人が会社に入ったり、既存メンバーの手が空いたりすれば、話に出たような新機軸にもチャレンジしたいと思っています。
その方がユーザーは増えると思います。
確かにそうですね。ただ、ユーザーの拡大はあまり意識していないというのが、正直なところですね。
なぜでしょうか。
基本的に今のAtCoderは、主にコアなファン層、つまり上級者に支えられている状態です。よりボリュームのある層を取り込むなら、難度を下げたりするのが自然ですよね。ゲームとか、どんなコンテンツでもよくある話です。
AtCoderはそれをやらない、と。
ええ。確かにやった方がユーザーは増えると思いますが、一方で上級者の一部は離れていってしまう……。そうなると、僕がもともとやりたかったこととかなりずれてしまいます。
なので、「譲れない一線」みたいなものはあります。それを越えてまで、ユーザーを増やしたいとは思わないですね。
それにIT人材の需要が高まり続ける中、AtCoderはDさんの例のようにスキルアップや就活対策の面でも既にある程度評価を得ているので、今のままでも自然にユーザーは増えると考えています。
AtCoderを高橋氏がクビになったら!?
なるほど、よく分かりました。あともう一つ、別の話で聞きたいことがあります。就活をしている身なので、やはり面接などで何が見られるかは気になります。実際エンジニアって、プログラミングのスキル以外だとどういう点が評価されるものなのでしょうか。経営者としての観点などを、聞きたいです。
AtCoderの場合は10人くらいの規模ということもあって、単純に候補者が会社のカルチャーに合うかを見ることで、割といい(合否の)判断ができていると思います。小さい会社の利点ですね。
一方、大企業は大変です。それぞれカルチャーが異なる複数の部署があって、多くの場合どこに配属させるかが明確ではない状態で、合否を決める必要がありますから。
それに、大企業だとたいてい面接は何度か行われますが、その場合一般的には毎回評価者が変わります。
なので結局、どの部署でも求められて、どんな面接官でもある程度測ることができる、汎用的・普遍的な力がポイントになることが多いと思います。その汎用的・普遍的な力が何かというと、当たり前すぎるかもしれませんが、コミュニケーション力ですね。
要は対話ができるか、自分が考えたことを表現できるか、といったことです。
あと評価者がエンジニアの場合は「一緒に仕事をしたい」と思わせられるかがポイントになるので、自分が入社することで具体的にどんなメリットがあるかを、アピールすることも大事ですね。
ありがとうございます。参考にしたいと思います。
最後にこちらからも1つ質問させてください。仮に僕が今AtCoderをクビになって、Dさんが社長になったとしたら、どんなことをしたいですか。
繰り返しになってしまうのですが、やっぱり僕が望むような、より実践的なサービスにすると思います。例えば、「これが解けたらLINEのコーディング試験をクリアできる」みたいな問題を出す感じですね。
確かに、そういう方向性もあり得るかもしれませんね。他方で、AtCoderで青色(*3)以上の上級者なら、今回の模擬コーディング試験も余裕でハイスコアを出せたと思いませんか。
*3 AtCoderでは成績に応じて、上から赤色、だいだい色、黄色、青色、水色、緑色、茶色、灰色、黒色と色別にユーザーがランク付けされる。今回の企画では、中級者とされる茶色、緑色のユーザーを対象に参加者を募集。つまり、AtCoderユーザーの上位1割前後といわれる青色以上の上級者は、参加していない。Dさんは緑色(AtCoderのランクについては、公式ページで詳細を確認できる)
それは、その通りですね。
そうなると、今のAtCoderのあり方のままでもいいんじゃないかと思うんですよね。AtCoderでレベルアップしたら、結果としてコーディング試験などで生きる力も身についているというか。
分かります。でも、それってコーディング試験対策としては、最短ルートじゃないと思うんです。
なるほど、確かに最短ではないですね。
最短がいいことなのか、つまり試験のハックみたいなことがいいことかについては、正直確信はありませんが……。
それにしても、今日はいろいろと生意気なことを言ってしまいました……。
いえいえ。こういう場で気後れして何も言えなくなってしまう人もいるので、そうではなくどんどん言ってくれて、うれしかったですよ。
とても興味深い話を聞けました。貴重な時間でした。
こちらこそ、ユーザーの方の声を聞けて有意義でした。
ありがとうございました。
ありがとうございました。
【お知らせ】エンジニア/データサイエンティストのためのスカウトイベント「Terminal」
現在、国内外の名だたるテック企業から特別なスカウトやオファーが届くイベント「Terminal」の参加エントリーを募集中!
▼対象参加者
1. インターンなど、実際の現場でプログラミングを用いた開発経験がある人
2. 競技プログラミング、データ分析コンテストの経験がある人
3. 研究・自主開発などでプログラミングを行なっている人
年収1,000万円以上のオファーが届く可能性もあります!
特設サイトからのエントリーをお待ちしています。
※エントリーには、外資就活ドットコムへの会員登録と、開発経験の入力が必要となります。
会員登録すると
このコラムを保存して
いつでも見返せます
マッキンゼー ゴールドマン 三菱商事
P&G アクセンチュア
内定攻略 会員限定公開
トップ企業内定者が利用する外資就活ドットコム
この記事を友達に教える