プログラミングコンテストで腕磨き!初心者が成長できる3つのワケ

こんにちは。侍エンジニアブログ編集部のゆってぃーです。

『自分の実力を測りたい!』

スキルを覚え、こんな事を思う人は多くいると思います。

自分が今、どのくらいのスキルなのか気になるのは当然のことですね。

自分のスキルを測る方法として『コンテスト』があります。

初心者の人にとっても、コンテストに出ることを目標にしている人はいるんではないでしょうか?

そこで今回は、プログラミングのコンテストはどんな物があるのかご紹介したいと思います。

初心者がプログラミングコンテストに出るメリット

課題を見つけることが出来る

プログラミングのコンテストは、色々な種類があります。

一般的なコンテストでは、全員が与えられた同じ課題をこなすために、プログラムを組んでいきます。

このコンテストでは、他の人と競い合うことで自分の実力を計ることができます。

なかなか、プログラミングを競い合う機会はないので、楽しみながら実力が計れることはコンテストの魅力ですね。

コンテストの中には、プログラミングがものすごく早い人がいます。

そこで「なぜあの人はあんなに早くプログラミングを行うことができるんだろう。」と考えることで、自分との違いや課題を見つけることが出来ます。

作品出展型のコンテストでは、業界の識者が自分の作品を評価してくれるため、自分では気付かない視点で問題点や強みを知ることが出来ます。

他人から見て、自分はどのくらいのスキルがあるのか、何が足りないのかを把握することでさらなる成長に繋がります。

柔軟な発想を得ることができる

仕事であればエラーのないプログラムを作成すれば良いですが、コンテストでは如何に早く課題をクリアするかが求められます。

普段と違う発想が必要になるため、様々な視点から課題を考えることができ、必然的に柔軟な発想力が鍛えられていきます。

また、コンテストでは優秀なエンジニアの作品を識者が解説してくれます。

なかなかプログラムを解説付きで紹介してくれる機会はないので、優秀なエンジニアの考え方や技術を得ることが出来るチャンスです。

そこで自分との違いや考え方を取り入れることで、自身のスキルアップに繋ぐことが出来ます。

人脈を広げることが出来る

コンテストの参加者とコミュニケーションを積極的に取ることで、色々な人脈を作ることが出来ます。

同じ考えを持った仲間の様々な価値観に触れることで、自分にあったキャリアパスが見つかるなど新たな可能性が生まれることもあります。

その中で「共同開発」「スキルの共有」など、今までにない経験をすることも可能になります。

また、自分の作品を評価してくれる企業があれば、スカウトなどキャリアアップの可能性もあります。

人脈次第で自分の選択肢を広げることが出来るため、コンテストでは率先してコミュニケーションを取っていきましょう。

プログラミングを学ぶ目標・目的になる

目標・目的が決まらないあなたへ

「プログラミングをスキルを身につけたい!」

と思ってもいても、目標・目的が無くて途中で諦める人も多いです。

そんな人はまず、「コンテストに出場する」を目標にするといいでしょう。

コンテストに出場するためには、もちろんスキルが必要になってきます。

なので、スキルも身につき自分の実力も知ることができます。

種類別プログラミングコンテスト

コンテストの種類

[アルゴリズム]
出題された課題を如何に早くクリアするかを競う
[ショートコーディング]
少ない文字数で機能を実装することを競う
[ソフトウェア・セキュリティ]
ハッキングやバグ探しを競う
[AI(人工知能)]
ゲームなどの人工知能をつくって競う
[発想力]
作品を提出し競うコンテスト

アルゴリズム系コンテスト

AtCoder

AtCoder株式会社[引用:AtCoder]

【コンテストの特徴】
初心者向けのコンテストで、プログラミングを始めたばかりの人でも参加しやすい課題が用意されています。

基本的には、初心者や入門者向けのコンテストが多いですが、時には企業と提携し「初級〜上級」全てを対象としたコンテストを実施していることもあります。

まだコンテストに参加したことがなくて不安という方におすすめのコンテストです。

ショートコーディング

コードダンジョン

コードダンジョン[引用:コードダンジョン]

【コンテストの特徴】
コードダンジョンは、普通のコードゴルフと違いレベルが上がっていくと禁止文字が増えていき、普通にコードを書いたら必ず使う演算子や関数などが使えなくなっていきます。

そのため、普段では考えないような柔軟な発想力を鍛えることが可能です。

段階ごとにレベルが上がっていくので、ゲーム感覚でショートコーディングを楽しむことが出来ます。

ソフトウェア・セキュリティー

SECCON

スケジュール___SECCON_2016

[引用:SECCON]

【コンテストの特徴】
基本的には上級向けのコンテストが多いのですが「CTF for ビギナーズ」という初心者向けのコンテストも開催されています。

コンテストの規模はでかく、予選を突破しなければ本選に参加することは出来ません。

予選は2日間かけてクイズ形式の問題を解いていき、本選では攻防戦方式で行われます。

優秀なエンジニアが多く参加しているため、スキルアップにはもってこいのコンテストです。

AI(人工知能)

SamurAI Coding

SamurAI_Coding_2017-18_🔊[引用:SamurAI Coding]

【コンテストの特徴】
AIプログラムを組み、お互いのAIを戦わせる対戦型のコンテストです。

プログラミングスキルの他にもアルゴリズムやストラテジー、設計スキルが必要になります。

ゲーム形式で行われますが、様々なスキルが必要でこのコンテストを目指すだけでも多くのスキルを身につけることが出来ます。

ゲームが好きな方におすすめのコンテストです。

発想力(オリジナル作品出典)

HSPプログラムコンテスト

HSPTV_[引用:HSPプログラムコンテスト]

【コンテストの特徴】
HSPで作られた作品を審査・表彰するコンテストです。

作品を作らなくても、応募作品に触れることが出来ます。

審査員に評価されることで、自分の課題などを見つけることが出来るため、作品を作ったら積極的に応募してみましょう。

まとめ

いかがでしたか?

コンテストで自は分の実力を知ることもできるし、自分の課題を再認識できるいい機会です。

どの種類のコンテストに出るかによって得られる課題も違いがあります。

自分の目的に合ったコンテストを適切に選び、さらなる成長に繋げてもらえたら嬉しいです。

現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

LINEで送る
Pocket

書いた人

小林 幸秀

小林 幸秀

茨城県出身。29歳。地元茨城で機械のエンジニアを10年間やっていて、侍エンジニア塾と出会い、今はライターとして侍で楽しく日々を過ごしています。最近の趣味は本を読むことです。日々成長するために頑張っています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説