この業界の入社試験

IDEA*IDEA経由、。Yahoo!のPHPプログラマを採用するときの面接試験です。米Yahoo!であって、多分日本のヤフーではやってないでしょう。ものすごい個人的な偏見ですがw


一応、元サイトを見てみましたが、PHPやっていないのでよく分からず。ただ、PHPを知っていないといけないというような特定の知識に偏った問題を出すのはどうなんでしょうと。かのJoelも、

2番目にまずい面接者はクイズショー面接者だ。このタイプの人は頭がいいというのは「たくさんの事実を知っていること」だと思っている。彼らはただひたすらプログラミングに関する雑学問題を出し、正解に対してポイントを与える。面白半分に、地上で最悪の面接質問を挙げておこう。「Oracle 8iのvarcharとvarchar2の違いは何か?」これはひどい質問だ。この特定の雑学について知っている人と、あなたが採用したいと思う人との間には、想像しうるどのような相関もない。そんな違いを誰が気にするの? 15秒もあればオンラインで調べられるというのに!

採用面接ゲリラガイド(version 3.0) - The Joel on Software Translation Project

と言っていますし。ま、これはPHPプログラマの採用なので、これぐらいは当然知っておくべきだろうというレベルなのでしょうけど。



話変わって。


書けるかな…? - @ikikko のはてなダイアリーで取り上げたFizzBuzz問題もそうですが、こういうのを入社試験なり査定評価なりでやらないのが不思議。いや、もちろんFizzBuzzテストの有効性 - みねこあみたいに、やっているところもあるのでしょうが、大多数の会社はやってないのでは?


料理人を雇うのに料理の腕を見せずに雇う店がないように、プログラマの腕を見ずにいいプログラマを雇えるものなのでしょうか?*1。もちろん、プログラミングスキルだけが全てではないのでしょうが、最低限のスキルがないといわゆる上流工程の仕事もできるのかな?現状、それで業界が回っているからできてるのか?けど、上流工程の人たちが技術が分かっていないのも、デスマーチといわれるものの一因では?


と、下っ端の身分からいろいろ言いたいこと言ってみました。俺みたいな一個人が何をほざいても、すぐに現状が変わることなんてありえないでしょうから、今自分にできることを精一杯やるしかないのですがね。問題意識を持っているかいないかだけでも違いが出ることを信じて、ひたすら…w



話戻して。じゃあ、どんな問題を出せばいいの?という疑問には。


どこかのブログで見つけたけど、一例としてはこんな問題が。「以下のコードが潜在的にまずい理由を述べよ」だったかな。元ネタがどこだったか忘れたので、正確にこんな問題だったかは微妙ですが。

ArrayList list = new ArrayList();

どなたか、コメント求む!5秒くらいで答えが思い浮かんだけど、ちょい自信ないので答え合わせしましょ♪

*1:これも確かJoelだったかな?