就活に備えて何かしたい、技術力上げたい!!と考えいろいろ検討していたところ「AtCoder」に目を付けました。
プログラミングをやっていたら一度は耳にするコンテストだと思います。
ただ実際に活用した人は身近にあんまりいなかったり・・正直そもそもAtCoderってなにかよくわからn・・
そこで今回はAtCoderの有用性、やってみる価値、始め方や流れを調べなおしたのでまとめようと思います。
AtCoderとは?役に立つ?
AtCoderはAtCoder社が運営するプログラミングコンテストです。
プログラミングコンテストというとU-22とか浮かびますが、数あるプログラミングコンテストの中でも「世界規模」であり「アルゴリズム特化のコンテスト」になります。(U-22は作品を提出する系)
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プ…
AtCoderは役に立つ?
私のように就活・技術の向上などに役立てようと始める人も多いですが、遊びやゲーム感覚で始める人もかなりいるようで(というかガチ勢高レベル層は楽しんでやってる、すげえ)、当然このような大規模かつたくさんの人材が集うコンテストには優秀な人材を求めた企業もアプローチしてきます。
本人たちはネットゲームとして楽しんでいるAtCoderですが、企業から見れば、「毎週土曜の夜からコンテストに参加し、それ以外の日も、授業や仕事以外の時間に熱心に勉強をしている、極めて高度なIT人材」となるわけです。
実際のところ、彼らがどういうモチベーションで取り組んでいるかはともかく、能力的には他を圧倒するとんでもない能力を持った人材が大量にいます。AtCoderの上位30%ほどである「緑色」(前出の画像の800~1199点)の人材は、他社転職サイトのアルゴリズムスキルチェックだと、上位1~2%に匹敵します。
競技プログラミング参加者の高いモチベーションから生まれる高い能力が知られてきたことで、AtCoderには多くの企業が注目しています。競技プログラミングで成果を出すプログラマーを、高度IT人材として、リクルーティングしよう、という動きが活発になっているのです。
これまでにAtCoder上でコンテストを開いた企業は20社以上存在します。今や、競技プログラミング、およびAtCoderは、IT人材市場にとって、無視できない存在に成長してきているわけです。
リクルートやドワンゴ、サイバーエージェント、KLabなどのウェブ系企業、MUJINやCADDiなどの勢いのあるベンチャー企業などの、いわゆるIT企業はもちろんのこと、DISCOなどの製造業の企業や、ヤマト運輸などの一見ITに関係ない企業も、コンテストを開催し、人材獲得に乗り出しています。
この部分を見ただけでもわかると思いますが、就活・技術の向上、人脈など様々なスキルに繋がるため、参加して損することはないものだと思います。
特に専門的な技術よりもポテンシャルを要求される新卒の場合、より評価されそうですね。
以下の記事も参考になる、おすすめ↓
AtCoderはここ数年で大きく成長し、関わりのある企業も大きく増えました。競技プログラミングが社会に与える影響も、確実…
※ただ、この記事がわかりやすいですが、AtCoderでの経験が絶対的な切り札になるというわけでもありません。
AtCoderでの経験は学生生活で頑張ったことやアピールポイントなどの説明にはいかせるでしょうが、等しくコミュニケーション能力が必要になりますし、ここで培われるプログラミングスキルもアルゴリズム対処能力はつきますが実際の開発スキルがめちゃくちゃ向上するわけではないことなどを頭には入れておいた方がいいです。
(追記:コーディング試験対策にもつよつよやとおもいます!)
AtCoderのレベル
AtCoderにはレベルが目に見えてわかる色制度があります。このため自分に力がついているのか、成長できているのかとても分かりやすいものだと思います。
※灰色ランクは一回出場で達するので喜べるものではありません。(かと言って1つ上の茶色や2つ上の緑なども低レベルかというとそうでもない・・普通にムズイ)
色制度の具体的なレベルはこの方の記事がわかりやすいです↓
近頃「AtCoderの色を就活等でアピールしたい時に上手く出来ない!」と言われるので、「どれくらいのレベルの人なの?」と…
赤色 (SSSランク R2800~3199 上位0.3%)
この辺から化け物しかいないので説明をサボります。僕もここです。
ちなみに最高位の金冠は世界に9人しかいないみたいですね(日本人は一人いるらしい、レベチ)
AtCoderに必要なもの
櫃世になる必須なものなどは基本的にないです。(ユーザー登録くらい?)
言語についても対応しているものであれば大丈夫みたいなので言語を新しく学びなおす必要性もなさそうです。
言語について
上記の通り特にこの言語にして!!みたいなのはないみたいなんですが、「だったらみんなどんな言語使ってんの?」と疑問に思ったため調べてみました。すると全体的にC++がめっちゃ使われてるみたいです。(原因は参考になるサイトやコードの説明がC++多めだったからのようです)
以下の記事がめちゃくちゃわかりやすくまとめられてます。
AtCoderの流れ・始め方
AtCoderの有用性がわかったところですが、具体的な始め方や流れなどわからない状態ですね。
まとめようと思ったのですがわかりやすい記事があたのでそちらを載せておこうと思います。
NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。好きなアルゴリズムは最小カットやマッ…
こちらは登録~初級・中級・上級レベルまでまあ網羅してくれてますw(これからめちゃお世話になりそう)
まとめ
いろいろまとめてみましたが、思ったより簡単に始められそうですね。技術力上げるためにも、自分の技術力のレベル測るためにもこれから活用していこうと思います。