
エンジニアであればプログラミング技術の上達は欠かせません。練習の方法はいろいろありますが、プログラミングの問題をたくさん解くというのは、ゲーム感覚で遊びながらできておすすめです。
そうした遊びの要素を取り入れたプログラミングサービスの中でも、世界のエンジニアの間で人気の高い「HackerRank」をご紹介します。プログラミングの問題を数多く解けて、さらに、問題を解いた成果に応じて企業からのオファーももらえるというユニークなサービスです。
目次
リクルートも出資を決めた、プログラミングサービス「HackerRank」とは?
「HackerRank」は、世界中のエンジニアが、様々な領域のプログラミングの問題にチャレンジできるサービスです。2012年にローンチされ、多くのエンジニアに利用されています。2015年にはリクルートホールディングスが、「HackerRank」を運営するInterviewstreet, Inc.に出資を決めており、ますます注目を集めています。
こうしたプログラミングにゲーム感覚で挑戦する取り組みを「コードチャレンジ」と呼ばれ、これをWeb上で行えるサービスとしては「Topcoder」が有名です。
プログラミングだけで面接? 求人サイトとしての顔を持つ「HackerRank」
「HackerRank」が面白いところは、ただプログラミングの問題を解くだけではなく、求人サイトが組み合わさっているという点です。企業が問題を提出し、それを解いたエンジニアが成績に応じてランク付けされます。それにより、企業が本当に技術力のあるハッカーを見つけることができるという仕組みになっています。いわば「プログラミング面接」を行うことができるのです。
ユーザーのエンジニア側は問題を解くだけで、企業へ自分の技術レベルをアピールすることができます。純粋にスキルのみで評価されるという、フラットな求人サイトといえるでしょう。
さらに、このサービスは就職活動のために行うというよりも、ただプログラミング課題を解くのが楽しいというゲーム感覚で利用できる点も魅力です。エンジニアからしても楽しみながらプログラミングを行うことで、実力を最大限発揮できるというわけですね。
「HackerRank」にチャレンジ!今すぐはじめる7ステップ
それでは実際の使い方を順に見ていきましょう。
1. 言語を選ぶ
自分の得意な言語が選び、問題を解いていきます。言語はC++、Java、SQL、Ruby、Python、さらには人工知能、データベースといった分野が揃っています。
2. プログラミングの問題を選ぶ
問題には成功率、最大点数、難易度を見ることができます。また、難易度やジャンルごとに検索することができます。
3. 問題にチャレンジ!
コードを書いて問題を解いていきます。こちらの問題はC++です。
成功するとこういう画面になります。
<Java>
こちらはJavaの問題。
<Artificial Intelligence>
こちらは人工知能に関する問題です。
4. ディスカッションスペースで世界中のエンジニアとナレッジを共有
各問題ごとにユーザーが自由に書き込みできるディスカッションスペースがあり、わからないことがあれば質問をしたり、共有されているナレッジを見ることができます。
5. 実績をあげるとバッジを獲得
このように問題を解いていくことで、ポイントが加算されていき、ランクがあがっていきます。ポイントに応じてバッジが獲得でき、実績がひと目でわかるような仕組みになっています。
6. 世界ランキングで世界中のエンジニアと競い合える!
Leaderboardでは世界中のユーザーが参加するランキングを見ることができます。全世界のエンジニアと競い合える、とてもエキサイティングなランキングです。
7. プログラミングコンテストで実力を試す
サイト上では随時、様々なコンテストが開催されており、実力を試すことができます。こうしたコンテストに参加することで、練習のモチベーションにもなります。
開催されるコンテストはカレンダーで一覧できます。
ゲーム感覚で取り組めるプログラミング課題
こうして見てみると、バッジの獲得やランキングといった仕組みがあるため、ゲーム感覚でチャレンジできるようになっていることがわかります。エンジニアとしては求職のためというより、面白いからチャレンジするという姿勢で取り組むことができる、画期的なサービスとなっているのです。
「HackerRank」でプログラミング量をこなして、世界に挑戦しよう!
ゲーム感覚でプログラミングの問題を解いていき、同時に企業との「プログラミング面接」も行えるサービス「HackerRank」をご紹介してきました。プログラミング初心者は量をこなすための練習の場として、中級者以上は自分のプログラミングスキルを世界で試す場として、ぜひ活用してみてはいかがでしょう。
※掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。