キャリア

HackerRank(ハッカーランク)はプログラミングの問題を解いて企業からのオファーが届くサービス

HackerRank(ハッカーランク)はプログラミングの問題を解いて企業からのオファーが届く

実際にプログラムを勉強すると、簡単なゲームみたいなのは作れるようになったけど、それ以降何をすればいいのかわからない……とか実際に何になるのかわからない……みたいな状況に陥りがちです。

仕事でプログラムを使うならまだしも、興味がわいてプログラミングを勉強したけれど、使う機会がないなんてことは良くあることです。そこで今回はhackerrank というサービスを紹介します。ここでは、いわゆる「競技プログラミング」みたいな問題がたくさん載っており、そういった問題を解き進めていくことで企業からのオファーをゲットできたり、定期的にプログラミングコンテストを主宰しているサービスです。

Hackerrankを実際に使ってみた

何はともあれ、やってみるのが肝心です。こういったサービスは敷居が高いので、あまり踏み込めないものですが、登録してみました。登録するのはメールアドレスがあればすぐできて、スムーズに登録できました。学生かどうかなど一通り聞かれたあと、いきなり問題を解かされます。といっても、与えられた二つの数を足すだけです。それを乗り越えるとこんな画面につきますね。

ここではMathematicsを選んでみます。するとこんな感じ

難易度は三段階。Easy、Medium、Hardで分野は基礎・整数論・組み合わせ論・線形代数などいろんなものがあるみたいです。とりあえずいったサービス最初の問題を見てみましょう。

全部英語なんですよね。これを頑張って読むと、なんかジム君がn組の靴下の中から一つずつ取り出して最初に1組のペアがそろうのにかかる、理論上一番多い取り出し回数は?って感じ。最初の問題だけあってそんなに難易度は高くないですね。英語があまり読めなくても、しっかりsampleは書いてくれているので、まったく英語が読めないと大変ですけれど、多少読めなくても推測することができます。で、どんな感じでコードを提出するかというと、

Write your code hereと書かれているとことにコードを書いて、返り値を指定すればよいんですね。難しそうなところはあらかじめ書いてくれています。親切。書いた後Run Codeを押すと、サンプルに対してプログラムを動かしてくれて合っているかどうかを判定してくれます。ここでうまくいってそうだなって思ったら、Submit Codeを押せばこのサイトがあらかじめ用意してあるいろんなパターンに対して検証されて、見事合ってるとみなされると、

Congratulations! やったね。これが大まかな流れで、これを繰り返していきます。こうして問題を解くことで、ポイントが加算されて行ってランクに反映されていくのです。こんな感じ。

やってみた実感としては、単純な感想ですけど、楽しいです。いろんな分野の問題が用意されているので、まずは自分の得意なところから始められるし、ポイントが加算されていくのもいい感じですね。ゲーム感覚で進められるし、これでオファーなんて来るんですから一石二鳥というものです。

Hackerrankの特徴

・問題を解くことでランキング化される
・その成績によって企業からオファーがくることも
・問題はいろんなプログラミング言語で解くことができ、分野も多い
・わからない問題に対しては問題ごとにほかのユーザーに質問できるスペースがある
・問題のコードを書くことだけに集中できる
・サイトはすべて英語(もしくはロシア語か中国語)

問題を解くことでランキング化される

これは前書いた通りです。全部あってなくても部分点がもらえたりしますし、ランキングでは国籍も表示されるので、日本の中で何位だ!みたいなのも分かります。このランキング化というシステムがモチベーションになりますね。特定の分野の問題をたくさん解いたりするとバッヂももらえるそうですし、ゲーム感覚でプログラミングができます。

その成績によって企業からオファーがくることも

Hackerrankはもともと企業にIT人材を提供するサービスでもあるので、たくさんの問題を解いたり、定期的に開催されるコンテストでよい結果を残すとオファーがくるそうです。夢がありますね。

問題はいろんなプログラミング言語で解くことができ、分野も多い

私自身はPython3を使っていましたが、他に様々な言語で解答することが可能です。逆に言えば、新しい言語を、解ける問題を使って学ぶこともできますし、分野ごとに別の言語で解答することももちろん可能です。

わからない問題に対しては問題ごとにほかのユーザーに質問できるスペースがある

Discussionという場所があり、問題について討論できます。討論とはいっても見てみると質問がほとんどです。が、日本語のコメントは見たことがなく、すべて英語になってしまいます。が、日本のユーザーもたくさんいるので日本語で質問したらもしかしたら返信がくるかもしれませんね。

問題のコードを書くことだけに集中できる

ここが心配な方も多かったのではないでしょうか。実際にプログラムを書いてもどうやって提出するんだろう……みたいな。私もそう思っていましたが、面倒くさい部分を書いてくれていることが本当に親切でした。

サイトはすべて英語(もしくはロシア語か中国語)

このサイトの唯一といっていい問題です(笑) 問題文が長いとげんなりします。サンプルがあるからまだ理解はできるとはいえ、ある程度の英語力がないとプログラムを書く前に挫折してしまうかもしれません。しかし、これからの時代英語はもはや必須の能力なので、私自身も英語の勉強でもあるんだと思いながらやっています。

hackerrankの評判・口コミ

Hackerrankの公式Twitterはフォロワー28000人。これだけでも大きいサービスであるとはわかりますが、Twitterで検索してみると、主に外国の方のツイートがよくヒットします。

悪いことを言っているのはほとんどないですし、日本ではまだあまり有名ではないかもしれませんが、今後広まっていく可能性は十分にあります。

まとめ

プログラミングを少し勉強した、けど使う場面がない人やプログラミングの勉強をもっとしたい人にとてもおすすめです。すべて英語という敷居の高さはあるものの、そこまで英語に悩むこともなく、しかも楽しくゲーム感覚でプログラミングを勉強で、企業からのオファーまでもらえちゃう、おすすめのサイトです。

HackerRank公式