年々新しいプログラミング言語が登場し、さらに新しい言語も現在進行形で開発されています。昨日身に付けたスキルが今日陳腐化することも少なくありません。そのため、プログラマーは他の業種と比べると日々勉強の連続であり、自分のスキルを磨き続けることが求められます。
そこで大切なのが「自分は今、どれくらいのコーディングスキルを持ち合わせているか?」を知ることです。現状を知れば強みと弱みを把握できます。改善点が分かれば、持続的に成長することも可能です。しかしながら、日々の業務の中でコーディングスキルを確認できる機会は限られており、なかなか自分のスキルが把握できないというプログラマーは多いでしょう。
本記事では、プログラマーが知っておきたい自分自身のコーディングスキルをチェックする方法についてご紹介します。
コーディングスキルチェックとは?
コーディングスキルチェックとは文字通り、プログラマーが自分のスキルを把握するために行うチェックです。一般的に、プログラマーが身に付けている言語を初級・中級・上級のうちどのレベルにあるかを明確にし、チェック方法によっては採点方式でスキルが明確になります。
足りないところは勉強すればよいですし、得意な分野は積極的にアピールして責任ある仕事を与えてもらうことに繋がります。プログラマーにとってコーディングスキルチェックとは、自身の技術レベルの向上を助けてくれる有効なツールでもあるのです。
プログラマー・エンジニアがスキルチェックをする必要性
自分の課題を客観的に把握できる
エンジニアがスキルチェックをするメリットは、自分の不足部分を客観的に把握できる点です。現状を把握することで、改善点が明確となり、不足している部分を補充することで持続的に成長できます。
ITエンジニアは、ほかの業種と比較しても最新の製品やトレンドの研究を怠らずに自分のスキルを向上させていかなければ、要求に応えられなくなってしまいます。
書類選考を効率よく進められる
スキルチェックや資格を取得することで、自己の能力を把握し、強みを活かすことや弱点を補えます。企業における書類選考においても、自己の得意分野をアピールすることに繋がります。そのため、定期的なスキルチェックによる能力の可視化や資格の取得は選考において有効と言えます。
スキルチェックができるサービス8選
コーディングスキルをチェックするにはどうすればよいのか?最も簡単な方法は、コーディングスキルチェックのWebサービスを利用することです。無料で利用できるサービスも多いので、日ごろから気軽にチェックしてみましょう。
①paiza(パイザ)
ITエンジニア・プログラマー向けの転職・就活・学習サービスを運営するpaizaによるコーディングスキルチェックサービスです。paizaを利用するメリットは、コーディングスキルチェックを実施できるだけでなく、その結果として書類選考なしで面接可能な求人が知れることです。
Java、PHP、Ruby、Python2、Python3、Perl、C、C++、C#、JavaScript、Objective-C、Scala、Go、Kotlin、Swiftと幅広い言語に対応しており、自分が扱っているプログラミング言語においてどれくらいのスキルを持ち合わせているかを把握できます。利用も無料なので、気軽にコーディングスキルをチェックできます。
paiza : https://paiza.jp
② Topcoder
無料でコーディングスキルを気軽にチェックできるのがTop Coderです。問題の難易度や正解数によって、自分がどれくらいのスキルを持っているのかが確認できます。Top Coderの特徴は、他者の回答が見られることです。正解コードの中からお手本を探して、自分のコーディングスキルをアップさせることもできます。
対応している言語はJava、C++、C#、VB、Pythonと少ないですが、登録や利用は無料なのでいつでも気軽にチャレンジできます。問題は個人で回答するタイプと、他者とトーナメント形式で成果を競い、成績に応じて賞金がもらえるタイプもあります。
このシステムによって良質なコードがTop Coderに集約されるため、コーディングスキルチェックだけでなくコーディング学習にも最適です。
Topcoder : https://www.topcoder.com
③ AtCoder
Topcoderと似たように難易度別に問題を解き進めて実力を把握できるのがAtcoderです。特徴は何といっても日本語による日本のサービスであることです!
スキルチェックしてみたい。でも英語はちょっと、、という方はここから初めてみるのも良いかもしれません。
AtCoder : https://atcoder.jp
以上のようなコーディングスキルチェックサービスは他にもあるので、自分にとって使いやすいサービスを選択しましょう。ただし、サービスごとの問題の難易度が異なるため、1つのサービスに限定されるのではなく、複数のサービスを利用して自分のコーディングスキルを総合的に判断することも検討してみましょう。
④freeCodeCamp
freeCodeCampは、GitHub lssuesが管理するオープンソースのプログラミング学習サイトです。
全て無料で、チャットツールのGitterと連携して質問や、ほかのエンジニアたちとさまざまな情報交換ができるようになっています。また、サイトは英語ですが、Free Code Camp Tokyoという日本語のコミュニティも存在します。
⑤Codeforces
Codeforcesは、プログラミングコンテストのサイトです。こちらもTopcoderと同様、世界的に有名なサイトです。
⑥CheckiO
CheckiOスキルチェックは、Python3かJabascriptを使って出題される問題をゲーム感覚で解いていくサイトです。問題を解いていくと次第に難しいことができるようになります。なんとか頑張って問題を解くと、ほかの人が書いたスクリプトを見ることができるので勉強になります。海外のサイトですが、ほとんどの問題は日本語に翻訳されています。
⑦Google Code Jam
Google Code Jamは、Googleが主催するグローバルコーディングコンテストです。
世界中のプログラマーが、オンラインで開催される4つのラウンドを経て、最終ラウンドへ出場します。このコンテストで良い順位が取れたら、エンジニアとして就職するのがとても有利になるかもしれません。
https://codingcompetitions.withgoogle.com/codejam
⑧TOPSIC
プログラミングおよびSQLのコーディングテスト問題と受験プラットフォームを提供するクラウドサービスです。オンライン受験、リアルタイム採点が可能となっており、「いつ」「誰に」「どんなテスト」を受けさせるかを設定するだけで、簡単にスキルを判定することができます。
https://products.sint.co.jp/topsic
スキルランクの見方について
スキルランクの見方は各チェックサービスにより評価方法などは異なっていますが、今回は一例としてpaizaでのランク分けを解説します。paizaでは、スキルをSランク〜Eランクの6段階で評価しており、制限時間は1〜6時間で、paizaのスキルチェックで出された問題を制限時間以内に解くことで、paizaランクを上げてくことが可能です。
Sランクの評価
Sランクは、非常に高いスキルを要し、上位2%に該当し逸材レベルのエンジニアです。経験者であってもこのレベルに達するのは困難です。このランクは専門領域での研究や開発が可能で、即戦力として活躍できます。
Aランクの評価
Aランクは、高いスキルで、上位8%に該当します。検索エンジン、データ解析、ユーザー管理など、複雑で大規模なプロジェクトに関わることができるレベルです。またプログラミング上級者で、条件を問わずにシステムやソフトウエアなどを新規開発できるエンジニアで、計算量や高度なアルゴリズムを組めることが要求されます。
Bランクの評価
Bランクに該当する人は一定以上のスキルを持っており、上位30%に入ります。Bランクのエンジニアは業務システムやWebアプリケーションの開発などの効率的なロジックを自身で考えだし、組み立てることができます。
Cランクの評価
Cランクは、上位60%で、基本的なスキルを十分に習得したレベルです。
If・for・while・foreach・変数、ソートを駆使して指示通りのプログラムを書けることが要求されます。
Cランクのエンジニアは、業務システム、Webアプリケーションの運用・保守、一部開発ができるなど、エンジニアとして仕事をするには最低限のレベルです。
Dランクの評価
Dランクは、If・for文は要習得済みの未経験者レベルです。既存のフレームワークを活用することできる業務はありますが、プロのエンジニアとして仕事をするためには、まだ半人前と言えます。
Eランクの評価
Eランクは、スキルチェック以前の初期状態で最初はみんなEランクです。
コーディングスキルを組織的にチェックするには?
では、プログラマーが個人的にコーディングスキルをチェックするように、組織に帰属しているプログラマーのコーディングスキルをチェックする方法はあるのでしょうか?前述したコーディングスキルチェックサービスを利用するのもよいですが、組織的に実施する場合は各人の成績を管理して、必要に応じて教育を実施したり適材適所を実現しなければいけないため、無料サービスとなると機能は十分ではありません。
そこで検討すべきが、組織向けに提供されているコーディングスキルチェックサービスです。組織向けサービスではプログラマー全員に同一問題を同時に受けさせて、それぞれのスキルを統合管理できます。組織内で互いのスキルを確認することになるので、競争意識が芽生えますし、人材の適材適所も可能でしょう。
組織的なスキルチェックのサービス「TOPSIC」
企業や学校など組織向けのプログラミングスキル判定サービスとしておすすめしたいのがTOPSIC(トップシック)です。TOPSICは初級から上級まで、幅広いプログラマーのスキルをオンライン・リアルタイムに判定できるクラウドサービスであり、従量課金制での利用もできます。
従業員のプログラミングスキルチェックおよび能力育成に採用できることはもちろん、中途採用や新卒採用時のプログラミングテスト、開発委託者選定の際、外国人採用やオフショアの判定など幅広いシーンで利用できます。プログラマー採用時のミスマッチを防げますし、従業員のプログラミングスキル飛躍にも貢献します。
TOPSICがプログラミングスキル判定サービスとして優れている点は、世界的なプログラミングコンテストを運営しているAtCoder社が問題を作成していること、新しい問題が次々提供されること、オンライン・リアルタイムで自動採点されること、結果分析と受験者管理を組織的に行えることなどです。
これらの特性により、プログラミングスキル判定サービスを単なるチェックとして終わらせるのではなく、組織が抱えるプログラマーを総合的に管理するためのツールとして活用できます。また、TOPSICは以下すべての言語に対応しています。
組織全体でのコーディングスキルチェックを実施する際は、TOPSICの活用を検討してみることをおすすめします。
まとめ
プログラミングを始め、ある程度の実力がついたと感じたあなたは、スキルチェックを通じてエンジニアとしての力量を把握することが大切です。
スキル測定を定期的に行うことで自分の実力を正確に把握して弱点を補うことができます。また、そうすることでモチベーションが上がりスキルアップにもつながります。メリットあるスキルチェックをぜひ活用してみましょう。
- カテゴリ:
- キーワード: