実力を測るのにFizzBuzzも二分探索も使えない 〜 CodeEval

これも、WEB+DB vol64のp195ページにあったネタ(タイトルは、一部そこから引用しています)。

採用担当者とプログラマとをマッチングさせるサービス「CodeEval」が一般公開されたとのこと。
WEB+DBの記事は、Rails Hub情報局からの記事で、そこではアルゴリズムのコーディングで採用を判断してよいのかについて疑問を呈していると記されている。むしろ、Twitter APIを扱った簡単なデータ加工プログラムを書かせたり既存フレームワークに関し簡易的なHackをさせたりするほうが良いという考えだ。

フレームワークに関する簡易的なHackって何だ?と思ったことは置いておいて、この点に関しては理想を言えばどちらも必要だと思う。ただ、会社によって仕事の内容も、求められるスキルも異なるので、採用する側が適当なものを選択するだけの話だと思う。どちらかが使えないという話ではない。利用できる選択肢が1つ増えたということで、Code Evalの誕生は良いことだと思った。

最近は全然見ていないので分からないが、「Uva Online Judge」とか「Top Coder」のような、アルゴリズムで勝負するサイトでは、制限時間内に問題の答えを出すソースコードを提出するだけなので、ソースコードの読みやすさとか、再利用性を考えたコードか、といった点は評価できないと思う。Code Evalでそれが測れるのかは知らんが。

ところで、私も就職する前は、プログラミングコンテストの問題を解いていた。
私が使用していたのは、「Uva Online Judge」が主で、暇つぶしに「Project Euler」も使用していた。言語はC言語。友達にはC++の使用を薦められたが、扱いなれたC言語で解いていた。ただ、Project Eulerは実行速度の制限がなかったので、多倍長整数の計算をする必要がある場合はC言語だと面倒だったので、rubyを使っていたw。あー、就職してからは全く解いていない・・・。今の会社で求められるのは、そのような能力ではないことが理由。学ぶこと・求められることは沢山あるので、まずいと思っていてもアルゴリズムの勉強が疎かになっている。非常に残念な感じ。
そんな私には、Top CoderよりもCode Evalをマッチングの判断基準とする会社の方があっているのだと思う。

それにしても、Dropbox ChallengesとかFacebook Puzzlesというのもあるのか。
企業が実施しているのって、Google Code Jamくらいしか知らんかったわぁ。