仕事柄、中途採用の面接官を引き受けることがあります。

私の場合、専門がソフトなので、その人にソフトウェア技術者としての技術力があるかどうかを見ることが期待されている場合が結構あります。
メカ、ハードなどの技術者も面接しますが、半分くらいはソフト関係かな。

もちろん、それ以前に技術の吸収に対する態度などを聞いておいて、現在の技術力を測り、今後の期待値を推定するのですが、本日はその人の現在の技術力をはかる質問で私が良くする質問をご紹介します。

■過去の経験をきく


現在持っている技術なので、過去にそれを使ってどのくらいのプログラムを作ったのか、あるいは設計したのかを効かないといけないのですが、

 ・DFDは書けますか?

ときいたら、ほぼ100%「はい」という答えが返ってくるでしょう。

それを、その答えから、面接している人が本当にDFDを理解していなければ答えられないような質問をしないといけません。

そこで、こんな聞き方をします。

・あなたが使えるプログラミング言語は何ですか。
・それぞれのプログラミング言語でどんなプログラムを書いたことがありますか。
・それは何行(何ステップ)くらいのプログラムですか。

ここまでは、簡単に答えられる質問ですね。

・では、そのプログラムをデバッグするのに、一番困ったバグはなんだったでしょうか?
・そのバグはどうやって発見しましたか?
・そのバグの原因はなんでしたか?
・どうやって解決しましたか?
・なぜその対策が最適でしたか?

というところが質問の核心。これは、実際に経験がないと答えられません。

ただし、経験があるだけでは採用OKにはしません。この質問には、ウラ(本当に知りたいこと)があります。

バグの発見から解決までの3つのステップはワンセットの質問で、これだけ聞くと大体その人の持っている技術力と仕事力が分かります。

例えば先日ダメだった人の答え(ちょっと一般化して書いておきます)。


★――――――――――――――――――――――――――
・一番困ったバグはなんだったでしょうか?
→ユーザが操作していると時々演算結果が違う場合がでるというバグがありました。

・そのバグはどうやって発見しましたか?
→ユーザから計算結果が違うという指摘を受けました。

・そのバグの原因はなんでしたか?
→処理Aをやっている時に、割り込み処理でBをすると広域変数を書き換えてしまうので、計算結果が狂いました。

・どうやって解決しましたか?
→処理Aをやっている時には、処理Bの割り込みが入らないよう、割り込み禁止にしました。

・なぜその対策が最適でしたか?
→同時動作に問題があるので、同時動作を禁止しました。
――――――――――――――――――――――――――★


さらっと書きましたが、色々お話を聞くと、どうもプログラム上の問題ではなく、基本設計に問題があるものでした。つまり、基本設計がきちんとできてないのに、小手先でごまかして、問題をおきなくしただけに聞こえました(どうも基本設計は別の人がやったみたい)。

つまるところ、他の技術の設計者に対しても同じなのですが、

 品質意識があるか
 設計指針を持っており、その指針に基づいた対応ができるか?
 設計的な根拠をもって対応しているか
 対策の選択肢を複数個検討した上で、最適解を選んでいるか?

ということを事実をもとに聞こうとしています。

こういうのが、わりとバグ対応やトラブル対応に現れるんですね。

■その他の質問


その他、経験の浅そうな人(新卒や、第2新卒くらいの若手)にはこんな質問。

・リアルタイムOSにはどんな種類があるか知ってますか?
・それぞれの特徴を教えて下さい

・オブジェクト指向を理解していますか?
・クラスとインスタンスの違いはなんでしょう?

・RFCを読んだことがありますか?
・RFCであなたが最も大切だったと思ったところはなんですか?
・それはなぜですか?

要は、「あなたの得意な言語はなにか」を聞いておいて、その特徴をちゃんと捕まえているかどうかを突っ込んで質問します。これに明確に答えられれば、「まぁまぁ勉強しているな」と判断します。

たとえ、「RFCを読んだことがない」と言われても、それ自体で減点することはありません。
しかし、「読んだ」「知っている」と答えた以上は、その知識がちゃんとあるかは突っ込みます。

意外と付け焼刃的に「できる」「知っている」という人が多い、というのが今まで面接をいろいろやっての経験値ですが、あなたは自分の専門分野で、似たようなものの違いの説明をちゃんとできますか?

■同じテーマの記事

面接質問:その課題に対してどのような計画を立てましたか?

面接の質問で、あなたは課題に対してどの様な計画を立てましたか?という設問があります。ウチの会社では昇進の時の申告書にこれを書く欄があります。これに課題:システムの構築10/12 マネジメントレビュー11/13 プロジェクトキックオフ12/03 第1次報告会::04/07 カットオーバーと書いてきたツワモノがいます。私は唖然として、どうコメントするべきかしばらく悩んでしまいました…。計画とは課題に対する工夫とマネジメント別記事..

メールはプルシステム1

以前の記事にも書きましたが、1日に約300~500件のメールが来ます。このためかつてはメールをチェックするだけで多い時で1日に3~4時間かかってました。これじゃあ、会社にメールを見に来ているのか仕事をしに来ているのかわからない状態になってしまってました。メールの処理時間を効率化するメールというのは、そこに書かれている内容を読んで理解し、それに対してアクションを起こして、今持っている業務を前進させることが目的なのですが、自分が何かしなければならないメールは..

相手を驚かせる褒め言葉を使う

「ありがとう」感謝を伝える言葉というのは、コミュニケーションを円滑にするだけでなく、相手に「この人の頼みなら聴いてやろう」みたいな相手を積極的にこちら側に取り込む力があります。ただし、いつも「ありがとう」と言っていると、だんだん効果は薄くなります。これも心理現象のひとつとして説明はできるのですが(限界効用逓減で調べてみてください)、そういう事が起こりにくい、ちょっとした方法をご紹介します些細なことに注目する単純に言..

「自分も賛成です」で終わらせない

「この人、できる」と思わせるコツのひとつに、「知識があると思わせる」「鋭い指摘をする」という方法があります。これに使う知識や見識は別記事で時々書いているように、読書や上司の視点で考えるなどのトレーニングで身についていきますが、どんなにトレーニングをしようとそれを使わなければあるかどうかはわからないんですね。使わなければ、「無能だ」と思われてしまいます。社会人になると、学生時代の実力試験のような評価するための確認がなくなるので、「知識がある」とか「知識がない..

言葉に出して言ってレまうと、平静になれる

よく、なにかの集まりで挨拶をするときに、「ちょっと緊張しています」と言ってから話し始める人がいますよね。以前は、そういうのを聴くと、「そりゃ緊張くらいするだろ。だからってそんな意味のないことを言われても…」と思ってましたが、実はこれ、心理学的には、気持ちを落ち着かせる効果があるのだそうです。そういえば、そういう人に限って、話し始めるとジョークを飛ばしたり、脱線したりする人が多かったような…緊張しているときには緊張し..

キャリアのためにすべきこと、してはいけないこと

キャリアサラリーマンとして、「キャリア」と言えば業務経験と職位と社内外の知人の豊富さでしょうか。その中でも特に1つだけであれば、やっぱり職位が上がるというのは、会社の中であなたの能力が認められたという点で、一番嬉しいですかね。当然、職位が上がれば収入も上がります。これもうれしい面ですね。では、職位が上がるためには何をしなければならないかというと、当然仕事で結果を出すことですが、それだけでは不足です。特に上司との人間関係には注意しなければなりません。ここで言う上司とは..