【IT】96%が屈辱の「初級以下」判定、AtCoderのプログラミング実力判定試験の深層
■ このスレッドは過去ログ倉庫に格納されています
プログラミングの実力を測るのは難しい。対象者が書いたプログラムを人の目でチェックするには、時間も手間もかかり、評価者に高いプログラミングの能力が求められるからだ。かと言って一般的な試験問題では、プログラミングの知識を測ることはできても、プログラムを書く力を測るのは困難だ。
この問題に真正面から挑戦しているのが、様々なプログラミングコンテストを運営しているAtCoderである。受験者にプログラムを書かせて実力を自動判定する新型の検定試験「アルゴリズム実技検定」を始めた。
この検定は、1からプログラムを作成する能力を問うものだ。同社によると「知識型ではない」「受験者が得意なプログラミング言語を選べる」「アルゴリズムの実力を測る」といった特徴を持つという。オンラインで参加する形式なので、自宅など好きな場所で受験できる。
同社は、この検定の第1回試験の結果を2020年1月15日に公表した。実施日は2019年12月14日で、458人が受験したという。
出題される問題数は15問で、100点満点。配点は、1問目が9点、2問目と3問目がそれぞれ8点、4問目から6問目がそれぞれ7点、7問目から15問目がそれぞれ6点になっている。
受験者は、獲得した点数に応じて5段階のランクに分けられる。25点から39点が「エントリー」、40点から59点が「初級」、60点から79点が「中級」、80点から89点が「上級」、90点から100点が「エキスパート」に認定される。24点以下は「未認定」になる。
AtCoderは、第1回検定を受験した458人のランクの割合を公表している。
https://cdn-tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/03494/01.jpg
最も多かったのは初級で約33%。ほぼ3分の1に相当する。以下、人数が多い順に、中級、エントリーと続く。
意外だったのが、上級よりもエキスパートのほうが多かったことだ。全体の14%に相当する66人がエキスパートのランクを獲得した。さらに、そのうちの38人は100点満点を獲得していた。
コンテストの参加経験があるかどうかで成績に大差
同社は、受験者をAtCoderの定期コンテストへの参加経験がある「AtCoderユーザー」と、AtCoderの定期コンテストへの参加経験がない「一般受験者」の2つに分けて、各ランクごとの比率を公表している。一般受験者は全受験者の3割弱である126人だった。
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/03494/ まぁ確かに日本のプログラマはなんかレベル低い
教育しても生徒やるきないし アルゴリズムを知ってるか暗記試すんならそうなるだろ
大事なのは必要なアルゴリズムを調べて実装に持ち込む能力 ごめん読み間違えた
全体的な話なんだな
ほとんどのプログラマはアルゴリズム知らないでも組めちゃうしね >>3
これリモートで自宅からでもできる形式じゃないの?
君の望み通りの形式だと思うんだが >>5
こういう試験では
要件に最適なアルゴリズム採用・設計を行う能力は測り難いと思うのよね
プロマネ側の勝手な要望だけどさ >>2
ゲームでも作らせりゃいいんだけどな
つまんねぇからやる気出ないんだから もとより理解するのは大変な仕事だよ
一目見てわかるのは同業者に他ならない インフラ系だから業務アプリ使ったことないけど、100MM超えるようなウォータフォール型案件でも個々人のプログラミング能力って重要なの? 俺が言うた通り
全角半角でどやるただのコーディング屋がアルゴリズムまでできるとか思ってるから不幸なんだよ。 なんでそんな人が試験を受けてるんだ
プログラミングなど全員ができる必要はないだろう >>7
よく調べもせずに適当なこと言って間違い指摘されると
勝手に要件ころころ変えるプロマネ(笑) atcoderは時間決められてるから参加しづらい。
不正を防ぐためには仕方ないんだけど。 今客にメンテを依頼されてるソースが
全部グローバル宣言された変数で関数内にはローカル変数は一切使わないという
男気溢れるプログラムだ
翌日に即効でごめんなさいと客に言ってしまった俺は男気を口にする資格はない RAM1kとかならやるだろ
その上で同時に使わん変数のアドレス被らせたりも >>21
どこで誰が書き換えるか分からんソースは危険すぎる hollow world.
を表示するだけなら100点だな >>21
他人のためにプログラミングしなくてよくなってから
俺もそういう独善コードを書く幸せを堪能してる >>21
ワロタw
クラス使い分け出来ないコードはよく見かけるが、全部グローバルなら、ワイもごめんなさいする笑笑 昔のBASICって全部グローバルで変数名2文字縛りとかだったよなぁ。
あれで大規模なプログラムを書いてたパイセンって男気溢れてたんだろうなぁ プログラミングは文系でも理系でもない。
理系なら理路整然とプログラミングできると思ったら大間違い。 >>21
今まさに量産してるわ、すまんな
OOPもClean Architectureも理解してるが、50年前の技術で止まってる老害共の絶対王権には勝てなかったわ アルゴリズムの分からないプログラマも糞だが、
優秀な奴はそもそもAtCoderなんかやらんだろ >>7
これは格好悪いw
まぁ適当なこと言う前に一度解いてみなよ
正直こういう問題と環境に慣れてないと
現役プログラマ、数学わかってる人でも
初級判定出ると思うよ
つかこの記事、エキスパートが14%いるって書いてるのに
初級以下96%ってどういう事よ 数学に強いけど、足し算ができない記者が記事を書いているんじゃないの? >>36
Atcoder未経験者の96%じゃね?読んでないけど 業務アプリに凝った仕組みとか、アルゴリズムなんて必要ない
バカでも分かりやすい、バカでも修正しやすい
コードが書けることが重要 >>39
大抵機能増やした際のデグレから破綻してくケース多いし、テスタブルであることが重要。
確かに言う通り無駄に凝ったコードは要らんが、テスト組むには疎結合とか参照透過性とか、それなりの知識が要るぞ >>11
絶対に変更しない覚悟があるなら
動けばいいんじゃない
糞コードだと後でメンテがバカ高くなる >>42
AtCoder主催の試験の成績だろ?
AtCoderユーザーの方がいいのが当たり前だろ
無意味なデータ >>44
俺がレスした理由は35が「スレタイだけ見て、AtCoderユーザはこの試験で点取れないアホが多いと決めつけてる奴」に見えたからだよ
お前が35本人かどうか知らんが、優秀な奴はAtCoderなんかやらんという主張はなにを元にしてるんだろう? 俺は学部1年のときにプログラミング覚えてアルゴリズムの勉強もしたけど、数学も得意だったしすぐにマスターした
社会人になってからの仕事の方が向き合う価値があると思ってるし、コンテストなんか興味ない
勉強始めたばかりの学生なら分かるけど、社会人になってからもコンテストとかやってる人なんて、大学受験の数学の問題を大人になってからも自分の確認のためにやってる冴えない人と同じくらいにしか思えない なるほど、つまり競技プログラミングは実務の役には立たず、社会人AtCoderユーザは時間を無駄に使っているだけってこと?
それは社会人AtCoderユーザが優秀でないことの理由づけとしては弱いかなあ
1つは、水色くらいまでの知識なら実務に役立つ部分は大いにあるだろうということ
もう1つは、AtCoderを趣味でやっている人と優秀な人の集合は少なくとも背反しないこと
「ゲーム好きに優秀な奴はいない」という主張と同じに見えるな 連レスになるが、競技プログラミングは頭を動かす趣味だからむしろ世間一般よりも頭を動かすのが好きor苦でない人たちの集まりだと思う >>35
AtCoder ランクとは
https://jobs.atcoder.jp/info/recruit
SSS 世界に通用するユーザです 上位0.4%
SS 日本トップクラスのユーザです 上位1%
S コンテストにかなり特化した人材です。このランクからは訓練を積んでいない場合、絶対に勝てません 上位3%
A 極めて優秀な参加者です。数百人規模の会社でも、誰もこのランクに到達できない可能性があります 上位7%
君の言う「優秀な奴」ってどういうレベルよ
そこまで言うなら赤余裕なんだろうな? 日本ではプログラマを大事にしないからな。
まあ、コーディングの質に依存するソフト作りをしてないっていうか。 まぁ、AtCoderやってるから優秀でないってこともないだろうね
ただ、仕事でも研究でもトップランナーたらんとする者はいかに他の人と違う新しいことを成すかに価値を置いてるわけで、
全員同じ土俵でスコア化できるもので他の人より優れてることに価値を見出したりあまりしない
高校時代に偏差値80だったことをいつまでも自慢してる人とか、今の仕事で成果が出てない人だし 世界のプログラマ 理数系で学位取得したオタク
日本のプログラマ Fラン卒や元フリーター
日本のオタクはギークにもなれない プログラミング=オタク じゃなかったのか?
そもそも一般人にやらせたらどの国でもほとんどできないだろ アルゴリズムを使う仕事なんて無いのに暗記してるのは唯のオタクで趣味なだけなのに無駄無意味
どういう所がハイスペック人材求めててどれくらいが対価をちゃんと払えるの? >>46
>プログラミング覚えてアルゴリズムの勉強もしたけど、数学も得意だったしすぐにマスター
ようこそ、24時間戦う要員。
余計な事をせずにやってる振りだけしてください。 >>47
そもそもAtCoderをしらない
業務でやってて知るかそんなもん、といいたい >>54
アルゴリズムを使うっていうのが意味不明なんだが、どのように解くことが良いのか、条件によって良いアルゴリズムを選択する。
知らなければ妙な方法で問題を解決するわけで、解法自体が正しいか否かすらわからないだろう。
いや、正しさを証明できればいいが、そんなことをやるぐらいなら「常識」に頼る。
つまりは定番のアルゴリズムを使う。
知らなければ使えない=使えないPG ほんとこういう”頭のいい馬鹿”をターゲットにしたのはやめとけ更に業界を悪化させるだけだ
プログラマーは効率第一なんだから必要ない分野は要らないし必要になった時覚えれば良い
プロの細分化が必要で巨艦主義の使えないハリボテは要らんのだ でも結構実務の「何かをやりきれる」知恵つけるきっかけにはなるからな
AtCoder は競技プログラムに全降りしてる印象だから研究者レベル
paizaのスキルチェックのほうが実務レベルに近しいかもね いや日本のプログラムっていうのは誰が見ても理解出来ないし疲れるクソを垂れ流してお金をもらう
仕事というのすら憚られる一部の出来る奴が尻ぬぐいする介護業務ですよ >>60
そりゃ日本人の悪癖で精鋭求めるからだろ
猿でもできるような単純作業に落とし込んで仕分けして使えばいいのに
精鋭教育なんてしてるから介護業務になるんだよ >>60
また日本ハー日本ノーか
米国に頼んだプログラム、ソース付きで納品されてきたけどテスト以前の問題で突き返したら移民だからって言い訳してきた
中国は協力会社が使って苦労してたけどコメントが中国語で意味なし品質が高いわけでもない安いだけだったようだ
わかるように書かせる
ソースコードレビューすればわかるはず
やってない? >>62
ちょっと付き合った数人だけ見て
全部分かった気になっちまいやすいのが日本人の悪いところ
アメリカでも中国でも日本企業と付き合うところってのは、
悪い意味でそれなり・・・
たとえ、その日本企業が日本人からみて一流企業であってもな >>59
研究者レベル?
数学できる人から見たら競技プログラミングなんて簡単だよ >>64
だから解いてから言えと
制限時間とかリソース使用量とか
普通に引っかかるからさ
簡単とかいう奴は絶対解いてないよ
プリファードとかキーエンスとかが
これで試験やってるくらいなのに >>49
ある物事についてその物事で上位0.4%に入らないと批評できないならネット民の99%消滅しそうだな >>65
多くのプログラマーにとってピーキーな課題クリアが必要とされる仕事は存在しないんだよ
業務に全く関係無い不必要な勉強を強いてそれが出来なければプログラムの実力が無いなんておかしな話
平社員全員にに経営者目線が必要だって言ってMBA自費で取らせるようなもんだ 企業が一部使ってるからって何の証明にもならんけどな
一時Googleなどが面接で奇抜な難問を出すのが話題になって
Googleがやってるんだからと他の企業も後追いしてフェルミ推定とか流行ったが
Google自身が効果が薄いと認めて廃止された >>67
2時間ありゃ1回できるんだから
一度やってみりゃいいじゃん
なんちゃら試験みたいな事前勉強もいらんし
映画1本程度だろ
それでやっぱり簡単余裕ってなら何も言わんよ
受けずに言ってる限り「東大出てもアホ」とか
その試験にも受からん奴が言ってるみたいに滑稽だよ >>69
それは都合のいい面だけ拾ってるだけだろ
gogleの話は
「質問への回答とその後の活躍に相関なかった」
ってだけで、今googleで働いてるやつが
その手の試験をクリアした、って事実は変わらん
そもそもatcoderの問題別に奇抜じゃないし
境界条件とかスケーラビリティ考える練習にも
丁度いいぞ >>71
きみ典型的な仕事で結果出せない学歴マウントおじさんにしか見えない
他人に無駄な時間使わせようとするしコスト感覚とか全くないよね
無駄な仕事増やすタイプだから身内に一番いて欲しくない人種だわ >>72
奇遇だな、俺にはあんたは
何だかんだ文句言うばっかりで
結局手を動かさない無能に見えるわw
まぁ匿名でお互い罵ってりゃいいやね、
仕事できるかどうかは自分が一番分かってるし
で、1度くらいやってみるのってそんな大変?
どうせこんなこトコに駄文書くくらいだから
暇あるでしょ? >>73
時給四千の二時間分の八千くれるならやってやってもよいよ そもそも事前勉強必要ないように見えないんだけど
対策前提の問題を対策なしで解かせて「ほら解けないでしょ?」ってやりたいわけ?
それマウント以外の意味ある? いやだって>>64で簡単とか言ってるし
事前勉強は要らないよ、
本当に数学とプログラム得意ならね >>77
そりゃ仕事に対しての料金請求だからね
ただ受けるだけなんだから最低時給でいいよ、小遣い稼ぎ
結果出せって依頼ならお勉強の時間分も請求するけど
安くしとくからちゃんと払ってくれよw
それとも口だけなの?w 事前勉強いらないって
仮に本当に数学とプログラム得意で競技プログラミング経験なしの人がいて
その人がいきなりこれ受けたらエキスパートとれるってこと? >>78
いや、8000円で結果開示してくれるなら
結構面白そうと思ってるよ
うまくいきゃブログのネタにもなるし、元取れそう
ただ、結果の公開担保とか振込手続きとか考えると
結構面倒くさそうで途中でポシャりそうな気が
>>79
それも含めての「簡単」コメントでしょ?
別にできなくはないと思うよ、超天才ならね
書いてあることが暗記必須な内容でもなし
俺の頭じゃ残念ながら事前練習必須だけど >>63
中国は仕様を読み切らずに平気でゴミを作るけどな
日本ハーとか日本ノーって君のいう一部のまともを見てるだけ 問題みてみたら?
Mとか結構競プロチックだから数学とプログラミング得意でも未経験だと解けないかもね
https://atcoder.jp/contests/past201912-open/tasks >>78
本当に使い物になる4000円?
業務スーパーキタ?
使えるスーパーマンは桁が違うわけで 過去問らしきものを見たが15問で5時間?
一問20分
で、その時間でいわゆる、
「普通はこういうアルゴリズムで解けそうだろうが、もっと上手い方法はないだろうか?」あれこれ考える、
文字列の問題だが空間にマップして、ビットマップのマスク処理使って、等々
で、それを考え実験し、この方法だといったんコードが多くはなるし、この問題では処理時間もかかる、
が、問題の形が少し変わった時に応用がしやすい、データが大きいときにはかえって有効、などということを突き止める
ことをしたがる人間、一問につきさすがに3時間だか5時間全部を使わざるを得ないバカなプログラマーは、最低レッテル点しか取れない、昭和の伝統に沿った立派な試験だな相変わらず >>84
そんなん心配しなくても
最初から最高効率に近いコード書かないと
リソース制限&時間制限にあたるテストだから
心配しなくていいよ
優秀な人は試行錯誤なんてせんと一発で書くよ >>69
あれなんて日本人の悪い所がはっきり出てるよな
検証をしない
自分で思考しない
なにかしら権威がやってたらそれを妄信する
日本人に自浄作用がないってのもここら辺が由来する
人質司法が全然改善されないのもそう >>84
そこに書いてあるような逡巡は一瞬で判断できるんだよ。
考えるというよりカンで決まる。
決まらないほど難しいなら問題設定が悪いか自分のスキルが低いか。
どっちなのか、判断はお任せする >>7
技術ついていけなくて調整側に回った奴には関係ない話 >>40
AtCoderのようなプログラミングコンテストでは測れない指標ですね。
この手のコンテストはエラー処理すら考えずに問題解けばいいので。
機能拡張のしやすさとかも一切考えないでいい。
ちなみにAtCoderをdisってるわけじゃないよ。
例えていうとF1レーサーとバスの運転手では要求される能力が異なるってこと。 >>82
くだらなすぎる
数学どころか知能テストレベル...
企業の採用選考の足切りに使うならいいかもね
面接で知能テストのスコア聞くわけにもいかないから >>86
そもそも前例が無いと会議で通らないし
→ 結果、パクリ合いでレッドオーシャン化 プログラマーの能力を計るには全く趣の異なる2つの指標があるから難しいんだよね。
1つは難しいプログラムを完成させる能力、もう1つはお客さんが欲しがっているソフトウェアを完成させる能力。
世の中で問われるのは圧倒的に後者なんだけど、欲しがってるものなんて欲しがってる人の数だけあって、
しかも欲しがってる本人すら具体的にどんものが欲しいか上手く言えないという状況だから、
プログラマーの能力なんてそう簡単に評価しようがないってわけ。 >>90
ださすぎるw
せめてコード提示するくらいはしろよ という意味では最低限ソフトウェア開発の実務ができて、
想像力を働かせて相手が欲しがっているものを上手く作るやつが
世間的に「優秀なプログラマー」という風に認知されるのかなと思う。
つまり、プログラマーといいつつ実は言語で解決できない領域を扱う職種なのよ。
文学や論文では表現できないから振る舞いを帯びたソフトウェアという形にする、
というのがプログラマーのお仕事というかな?
もちろんそれを実現するための基礎知識、基礎技能としての情報処理技術はあるんだけどさ。
知識や漫然とした経験だけあってもまったく役に立たないのがこの職種。
という意味では天性の洞察力、想像力をとても求められる職業と言えるか。 で、「俺はこんなに優秀なのになぜ認められないんだ!!」とか
家で無修正海外サイトを見てシコシコしている「自称報われないプログラマー」に言いたいのは
「お前、そもそも相手が欲しがってるものをしっかり想像して作ろうとしてるか?」
ってこと。
相手が今欲しがっているもの、これから必要になるであろうもの、
そういうことをしっかり考察、想像した上でプログラム書いてるか?
1ミリもしてないだろ。
だからお前はこんなに稼げる職種についても安月給なんだよ。
発注者が考えていること以上のことまで考えて形にするのがプログラマーのお仕事。
そもそも先回りして考えるということをしてないだろ?
言われたらやろっと。みたいな調子でいるから
「こいつプログラミングはできるらしいけど駄目なやつだな」という評価なんだよ。 >>2
そりゃそうだよ
土方の方が楽に稼げるだもん
アメリカみたいに腕を磨けばプログラマで年収5000万円や1億円を稼げる社会とは違う >>2
というより、プログラマーのお仕事についての理解が浅い。
知識という部分では別にアメリカも日本も違わんよ。
という意味ではプログラマー云々以前に、
「俺の仕事ってなんだろうな?」と職業人として考えられるやつが少ないんだと思うわ。
そういう連中見るたびにマックス・ヴェーバーくらい嫁って思うけどな。
俺に相談するんじゃなくてさ。 という意味では、プログラマーって職業はその人間がどの程度誠実で有能かってのが赤裸々になるとこあるんだよ。
逆に優秀なやつにとっては自らの優秀さを示すためにこれ以上ドヤれる職業はない。
いくらプログラミングに詳しくても相手を理解できる誠実さと有能さがなきゃ
良いソフトウェアとしての形にはならん。
まあ、何もかもをプログラマーのせいにするのも可哀想ではあるが、
そのくらい影響力がある職業ではある。
そりゃ相手が考えていることを1聞いたら10読み取って、
コンピューターを駆使して計算しちゃうのだから
優秀なプログラマーってのはちょっとニュータイプというか
できない人から見れば怖いと感じることすらもあるだろう。 >>94
どこまでも専門性は認めない立場なのね。
> という意味では天性の洞察力、想像力をとても求められる職業と言えるか。
ただのプログラマーがそんなもん駆使しないといけない時点でおかしいと思わないのか。 >>95
プログラマーや会社組織についてどんだけ夢見てんだw ■ このスレッドは過去ログ倉庫に格納されています