AtCoderとはなに?就職・転職で有利になるのは何色から?
こんにちは!
現役Webエンジニアの今井(@ima_maru)です。
今回は、プログラミングコンテストが開かれるAtCoderについて書きます。
「AtCoderは知ってるよー」って方は下までスクロールしていただくか、目次からお好きなところまで飛んでください。
それでは解説していきます。
AtCoderとは?
AtCoderとは、日本最大級のプログラミングコンテストが開かれるサイト
もしくは、それを開催している株式会社AtCoderのことを指します。
日本の中では、一番有名なプロコンのサイトなのではないかと思います。
様々なIT企業と連携し、それに沿ったコンテストも開催したりもします。
スキルによってレートが付き、そのレートによってランクが決まります。
そのランクはIT企業の面接で役に立つことも多いです。
AtCoderで学べることは「アルゴリズム」
AtCoderは、プログラミングの知識の中でも、「アルゴリズム」に特化しているといってもいいでしょう。
まずは「アルゴリズムって何?」という方に向けて簡単に「アルゴリズム」とは何かを説明をします。
突然ですが、同じ結果を出すプログラムでも、
- 「3秒」で結果が出力されるプログラム
- 「1年」で結果が出力されるプログラム
だったら明らかに①のプログラムを採用したいですよね。
もっと具体的に、
- データ数Nに対して、N回の処理が必要なプログラム
- データ数Nに対して、N×N回の処理が必要なプログラム
この2つのプログラムについて考えてみましょう。
例えば、入力データ数が「1個」だった場合、どちらのプログラムも1回の処理で済むことになりますね。
しかし、入力データ数が「100個」だったらどうでしょう?
①のプログラムは入力データ数に比例して「100回の処理」でプログラムが終わりますが、②のプログラムは入力データ数の2乗に比例して「10000回の処理」が必要になってしまいます。
この「10000 - 100 = 9900回」の処理回数の差は無視できるものではありません。
計算速度を意識したプログラムでは特に重要視される部分でしょう。
このように、同じ答えを出すプログラムでも解き方や考え方が違うと処理の数が大幅に変わってしまう場合があります。
その時の「解き方」や「考え方」のことをアルゴリズムと呼びます。
良いアルゴリズムで実装したプログラムは、計算時間が短くなったり安定して動作したりとメリットがいっぱいあります。
逆に、あまり良くないアルゴリズムで実装してしまうと、データ数が多くなった時にフリーズしてしまうというようなことが起こります。
そのため、「より良いプログラム」を書きたいのであれば、問題の解き方や考え方である「アルゴリズム」を勉強することも多少必要になってきます。
もっと詳しくアルゴリズムについて知りたい方は、以下の記事をご覧ください。
AtCoderのランクは就職や転職に有利に働くか?
「AtCoderのランクは就職や転職に有利に働くか?」
結果から言えば、有利に働きます。しかし、有利に働くのはアルゴリズム面での話です。
まず「有利に働く」ことの理由・根拠は、「AtCoderは国内最大級のプログラミングコンテストであり、IT企業からの認知度が非常に高いから」というのが大きいでしょう。
AtCoderは日本国内において最大級の競技プログラミングのサイトです。
同時参加人数は3000人を超えることもあり、多くのIT企業が「AtCoder」に注目しています。
しかし、測れる能力には限りがあります。
AtCoderなどのプログラミングコンテスト全般で測れる能力はアルゴリズム関係になります。
例えば、「セキュリティ対策」に関する知識は測れないです。
AtCoderは、プログラミングのコンテストを開催している企業です。「もの作りのアイデアを競う」だとか、「製品を作る」という部分から少し乖離した、「複雑な処理を正しく記述する」だったり、「計算時間のかかる処理を、数学的/情報科学的にスマートに処理する」だったりを競うコンテストになります。
【競技プログラミングで測れる能力】
高速で正確なコーディング(プログラミング)力
量の多いデータや、複雑な計算に対し、高速に演算出来るプログラムを書く力
パフォーマンスを改善する力
高度なアルゴリズムの知識を要する処理を記述する力【競技プログラミングで測れない能力】
大規模なチーム開発などにおける経験やノウハウ
引用元:競技プログラミングと現代社会、および就職について
コードの保守や運用に関しての知識やノウハウ
セキュリティ対策に関する知識やノウハウ
フレームワークやデータベースに関する知識
そして残念なことに、多くのIT企業は高度なアルゴリズムの知識を必要としません。
webサイトを作るにも、そのようなアルゴリズムの知識はほとんど必要としませんし、どちらかというとセキュリティや保守運用といった知識のほうが重要です。
一方、AtCoderのランクを重要視する企業は、専門的なアルゴリズムを必要とする企業の可能性が高いです。
- 画像認識:フィルタ技術など
- 深層学習:機械学習:誤差逆伝播法(バックプロパゲーション)に使う偏微分などの知識など
- 暗号通信:素因数分解(RSA暗号の原理)のアルゴリズムなど
- 検索技術:クローラや検索アルゴリズムなど
このように、専門的な知識ばかりです。
そのような高度なアルゴリズムを必要とする企業に勤めたいのであれば高いランクを獲得すると、とても有利に就職・転職を進めることができるでしょう。
基礎的なアルゴリズムの知識は、多くの分野で必要になってきます!
AtCoderの色(ランク)とその評価
AtCoderではランクごとに色が付きます。
ランクはコンテストに参加するたびに変動するレートの400ごとに色がついていて、
■黒色→■灰色→■茶色→■緑色→■水色→■青色→■黄色→■橙色→■赤色
という順番でランクが上がっていきます。
AtCoderの色(ランク)とその評価
AtCoderの社長であり、赤ランクでもある高橋直大さんが書かれている評価は、以下のことです。
色 | 概要 |
---|---|
灰色 | 参加すれば誰でもなれるので意欲以外の保証はなし。 |
茶色 | 学生で茶色なら優秀だがエンジニアとしてはちょっと物足りない。 |
緑色 | 大抵の企業でアルゴリズム力は十分。 |
水色 | 基礎的なアルゴリズム処理能力については疑いのないレベル。 |
青色 | 一部上場のIT企業でも、一人もいないことが結構あるレベルになる。 |
黄色 | 化け物。競プロの問題を解く機械だと思っておけば良い。 |
橙色 | あたまおかしい。 |
赤色 | もうなんか世界大会とかに招待されたりする。 |
AtCoderのランク人口・統計
AtCoderの現在のランク分布は↓以下から見れます
【ガチでおすすめ】ITエンジニアに就職したいなら登録待ったなし
これからエンジニア就活をするという学生の方に、最強の就活エージェントである「レバテックルーキー」をおすすめします。
実際に、22卒のWebエンジニアである私が利用して最高だと思った就活エージェントです。
レバテックルーキーの魅力は以下のようなところです。
- エンジニア就活のプロが始め方やコツなどを教えてくれる。
- 自己分析を手伝ってくれる。
- 自分の求める条件に合ったIT企業をいくつも紹介してくれるため、探す手間が大幅に省ける。
- エントリーシートを加工して送ってくれるため、何枚も書かなくて良い。
- 紹介企業の質が高い。(ブラック企業には行きたくないね!)
- 紹介企業の詳細が一目でわかる資料が有料級。(これが無料はやばい)
- 面接官と繋がっているため、面接対策が異常に強い。どんな理由でお見送りになるかまで知れたのは『チート』だと思った。
- もちろん就活⇒内定まで全て無料!!
まだまだ魅力がありますが、それを書くと長くなってしまうので、気になる方は以下の記事をご覧ください。
そんな「レバテックルーキー」ですが、サービスを受けるには2つの条件をクリアしている必要があります。
- 大学生・大学院生・専門学生・高専生・短大生である【文系・理系・情報系は問わない】
- ITエンジニア志望・もしくは興味がある
この条件に当てはまる方は、ぜひとも早めに登録することをおすすめします。(就活は早めにはじめると超有利になります。)
\ カウンセリング~内定まで"全て無料"! /
実際に僕もレバテックルーキーで最終内定を決めました。質の高い企業紹介と就活サポートが魅力の最強就活エージェントです。(ガチでオススメ)
終わりに
AtCoderを開催しているAtCoder社の社長「高橋直大」さんは、世界的なプログラミングコンテストで優秀な成績を収めている方です。
高橋直大さんのブログはこちら