プログラマーの力量を見極める--面接官になったら尋ねるべき質問実例集 - IT業界を生き抜く秘密10箇条 - ZDNet Japanソフトウェア開発者を採用する面接の場においては、応募者の専門家としての力量を見極めることが最も困難な作業の1つである。
現時点でプログラマーの面接についての自分の考えをまとめておきます。
結論:
- プログラマー採用にあたって応募者の力量を見極めることは困難ではない。(面接で見極めることは困難である。)
前提:
- 短時間の面接(対面して話す事)でプログラマーの力量を実用的な精度で見極めることは不可能である。
- 中途採用において、PCやネットと切り離した無菌室状態での力量と現実世界での成果には大きな差がある。
- 専門技能(プログラミング)の高低と人間性の良し悪しは無関係である。
採用方法:
- ソースを見る。(githubのアカウント名を教えてもらえれば十分である)
- 会って世間話する。
プログラマーの力量を見極めるにはソースを見れば良い。公開できるソースが無い場合は業務で作っているもの(たとえばブログ)を作ってソースを見せてもらえば良い。会う必要は無い。(ブログを見せてもらえば精度があがる)
プログラマーのとしての力量が十分であれば、それとは全く別に「自分たちと楽しく仕事ができるかどうか」を実際に会って確かめる。(要は人間性=良い人かどうかを確かめる)世間話をすればいい。(大抵プログラマー同士の世間話はプログラミングに関することになるが。)
この2番目のプロセスは応募者にとって会社側を精査する場でもある。なるべく良い印象を持ってもらえるようにおもてなししよう。また退職はコスト的に非常に大きな損失なので入社後にお互いのミスマッチが起きないようになるべく現状を正直に話そう。(ミスマッチに気づくのが早ければ早いほど損失は小さくなる)
実際に会う面接は高コストなのでこの順番を逆にしてはいけない。
たったこれだけで採用コストは減り、精度は格段に上がる。採用する側がスーパープログラマーである必要もない。(ソースが読めれば普通のプログラマーで問題無い)
プログラマーの専門職としての社会的価値は成果物である動くプログラムである。PCやネットと隔離せず、それをなるべく自由な状態で作って見せてもらおう。プログラマーの力量を見るのにソースより雄弁なものがあるだろうか?
イチローがどんなに人格者だろうが内野安打が打てなければ偏屈糞バッターだ。キム・ヨナがどんなに(もしもね)アバズレでもトップクラスのアイススケーターであることは疑いようが無い。
管理職としての技能が知りたいなら別のプロセスが必要だろう。
何故このやり方を皆がとらないのかについての組織論は、このやり方を自分が取れない組織に入った時にまた考えます。