技術者の就職面接をして感じたこと

結城浩

2000年2月25日

立場上、面接官をする機会が最近多い。 技術者の面接である。 面接でプログラムを書かせるわけではない。 その人の書いたプログラムを見ないでプログラマの能力を測るのは難しい。

新卒の場合だと、 若いです/がんばります/何事も勉強だとおもってやります、という押し方もあるかもしれないが、 中途採用の場合だとそれでは駄目だ。 即戦力になる、何かキラリンとした一点がないとなかなかつらいと思う。 しかもその一点が客観的な評価、現実的な実績と結びついていると強いと思う。

プログラマなら作ったプログラムとその行数、そして言語。 システムエンジニアならまとめたプロジェクトとその中での自分の果たした役割。 マネージャなら関わったプロジェクトの規模と数。 基本データとしては、以上だろうか。

でも、それらの内容がすばらしくても、 採用する側の企業の必要と合わなければ採用されないこともある。 不採用になったとしても、それは人格が否定されているわけではないし、 技術力が否定されているわけではないことすら多い。 どうかめげないで、いろんな道を模索してください。

自分が学生のころに面接されたときのこと。 先生のつてで、ある超大手の外資系コンピュータ会社に面接に行った。 技術的な話を少しした後で、 面接官から「あなたは一人で仕事をするタイプですか、 複数人で仕事をするタイプですか」と尋ねられた。 そのとき(若かった)私は何だか急に「こう言ったらこう思われる。ああ言ったらああ思われる」などとパニックになってしまって、 しどろもどろで、めちゃくちゃな答えをしてしまった。 そのときの結果は不採用であった(そのしどろもどろの返事が原因かどうかは知らないけれど)。

自分が面接をする側の立場になってみると、 面接でのやりとりというのはずいぶん総合的なものだということがわかってきた (といっても私は人事が専門ではないので、私の認識が一般的な面接官の持っている感覚と同じかどうかはわかりませんが)。 総合的というのはどういうことかというと、 質問に対する答えの内容だけではなく、 その答えの合間ににじみ出るその人の経験や、 知識や、問題解決能力や、性格など全体が「答え」になっているのだ。

さて、それはそれとして、 私が面接のときによく受験者に尋ねる質問は以下のようなものである。 この中には「情報として答えが知りたい質問」と、 「こういう問いをしたときにどのように答えるかという態度が見たい質問」が混じっています。 もちろんこれらの問いには「正解」や「確実に採用される解答」というものはありません。 念のため。 これらの問いは受験者が「自分について」語るためのきっかけのようなものですね。

  • あなたが使えるプログラミング言語は何ですか。
  • それぞれのプログラミング言語でどんなプログラムを書いたことがありますか。
  • それは何行(何ステップ)くらいのプログラムですか。
  • これまで携わったプロジェクトはどんなものでしたか。
  • そのプロジェクトでのあなたの役割は何でしたか。
  • これからどんなプログラム(プロジェクト)をやってみたいですか。
  • これからのインターネットで必要とされる技術は何だと思いますか。
  • 製品(商品、プログラム)を開発する上で最も大切なことは何だと思いますか。
  • あなたは一人で仕事をするタイプですか、複数人で仕事をするタイプですか。
  • 英語で書かれた仕様書を渡されてプログラムを書くだけの英語力はありますか。
  • RFCを読んだことはありますか。

以下は「何でも知っています」という風の相手に対して軽くチェックを入れるための質問。

  • オブジェクト指向を理解していますか。クラスとインスタンスの違いは理解していますか。
  • (C言語を理解しているかどうかのチェックとして)構造体/ポインタを理解していますか。
  • (C++言語を理解しているかどうかのチェックとして)仮想関数を理解していますか。
  • (Java言語を理解しているかどうかのチェックとして)メモリリークが起きない理由はなんですか。

いま就職活動をなさっている方々の上に主のよき導きがありますように。