面接の心構え(エンジニア向け)

1. はじめに

この記事は、就職や転職、案件の面接(面談)が苦手なエンジニア向けに書いてあります。

私自身、最初は面接がとても苦手でした。
面接官を前にすると緊張してしまい、うまく言葉にできず、面接が終わった瞬間に、だめだろうな、と感じたことが何度もあります。

しかし、少しでも上達しようと考えながら面接に臨み、今では、ほぼOKをいただけるようになってます。

では、どのようにしたら、面接がうまくいくようになるのでしょうか。

以下は私個人の見解なのですが、少しでもみなさんのお役に立てたらと思い、記事にしました。

2. この記事のゴール

面接をお互いの理解を深める場と捉え、合否にかかわらず、自分を出し切り、お互いに気持ちよく面接を終えることをゴールとします。

全ての面接でOKをいただけるのがベストですが、企業が求める人物像も様々です。
必ずしもOKをもらえるとは限らないので、仮に落ちてしまっても、もっとこうすれば良かった、と後悔することなく、次に繋がるようにしましょう。

もっとも、仕事を取りに行ってるので、ある程度の売り込みは必要です。

※自分の経歴説明を、経歴書の読み上げで済ませるのはNGです。ご注意ください。(あなたの良さが伝わりません)

3. 面接準備

私の経験上、面接がうまく行くかどうかは、9割方、準備で決まります。
自分自身のプレゼンの場でもあると考えると、どれだけ準備が必要か分かりますね。

それでは、どのような準備をすればよいか、見ていきましょう。

3-1. 自分自身の経歴を十分に理解する

自分のことぐらい分かるよ、と思われるかもしれませんが、自分のことでも、意外と相手に伝えられない方が多いです。

経験者であれば、職務経歴書があると思います。
まずは自分の経歴一つ一つについて、相手へ簡潔に説明できるよう、以下を書き出してみましょう。

※面接官が技術に精通しているとは限らないので、あまり専門用語を多用せず、誰にでも分かる言葉を使った方が印象が良くなります。

・概要
 例)
 ◯◯業界の△△システム改修
 大手予約サイトの新規機能開発

・詳細
 例)
 予約サイトのリニューアルに伴い、ユーザビリティ向上のため、◯◯機能、◯◯機能を新規で開発した。

・担当範囲
 例)
 要件定義、基本設計、詳細設計、実装、テスト設計、テスト

・規模
 例)
 全体で◯人月、担当箇所は◯人月

・チーム構成、ポジション
 例)
 4人チームのサブリーダーを担当
 要件定義と基本設計をメインで担当し、メンバーの技術的サポートを行った

・その経歴で一番がんばったこと
 これは自分のアピールポイントに繋がるので、よく思い返して、必ず出すようにしましょう。
 これがあると、その経歴に対する自信になります。

・その経歴で一番苦労したこと
 意外とよく聞かれます。どのような局面をどう乗り切ったかを見ているようです。

・業務改善をした経験
 これがあると非常に強いです。もし無ければ、今からでもいいので、何か改善できそうなものがないか、探してみましょう。
 完璧な開発現場は存在しないので、必ず何かあるはずです。(作業の時間短縮、会議の効率化など) 

3-2. 面接を受ける企業や案件の情報を把握する

自分のことを十分に理解したら、次は相手の情報です。
得られる情報は限られているかもしれませんが、集められるだけ集めて、自分が働くイメージができるようにしましょう。

場所や事業内容、業務の内容や規模感、チームや部署の人数、使ってるサーバや言語、フレームワーク、DBなど、できる限りの情報を集めることで、よりリアルにイメージできるようになります。

3-3. 事前に質問を考えておく

面接では必ずと言っていいほど、最後に何かありますか?と聞かれます。途中でも質問できれば、質問して大丈夫です。事前に、業務に関連する質問を3つくらいは考えておきましょう。

3-4. 身だしなみ

印象が良くなるので、必ず整えましょう。
相手に全く同じことを伝えても、清潔感があるだけで、伝わり方が変わります。

4. 面接でのやりとり

十分な準備を済ませたら、いざ本番です。
落ち着いて、自分のペースで丁寧に受け答えをしてください。

きちんと相手を見て話をすることができれば、事前に用意したメモを見ながらでも大丈夫です。

4-1. 経歴の説明

経歴の説明は2パターンあるので、その場に合わせてください。

・自分から説明するパターン
まずは、そのプロジェクトに関連がある経歴だけを説明してください。
仮にJavaのプロジェクトであれば、Javaの経歴について、Web系であれば、Web系に絞って説明します。

経歴の内容は、事前に書き出した概要や詳細、担当範囲、ポジション、成果、改善した内容などを簡潔に説明してください。
説明に自信が無い場合は、事前準備の段階でノートに書き出し、何度か練習するとスムーズに説明できます。

ちなみに、関係ない経歴の話が多いと、相手が退屈になったり、長いな、、とイメージダウンになったりするので、説明する内容は絞った方がいいです。
事前準備で、話すべき内容を整理しましょう。

・相手の質問に答えるパターン
面接官の方が事前に経歴書をチェックしてくださり、最初から質問をいただくケースもあります。
相手の質問をよく理解した上で、丁寧に回答してください。

このとき、焦ってすぐに回答する必要はありません。
質問の意味が少しでも分からなければ、自分の理解が合っているか質問し、的確に回答できるようにすり合わせを行いましょう。

4-2. プロジェクトの説明(先方から)

面接官の方から説明してくださることが多いと思いますが、特に説明が無い場合もあります。そのときは、参画するプロジェクトについて、こちらから質問するようにしてください。

また、説明を聞いてるときは、必ずメモを取るようにしてください。面接官によっては、メモを取らなかっただけでNGになることがあります。

逆の立場で考えると、分かりやすいです。
これから一緒に仕事をする人が、自分が説明しても全くメモを取らない相手だった場合、どうでしょうか。
嫌な気持ちになるし、その人に期待できませんよね。

プロジェクトや企業の説明の中で、少しでも気になったり、知らない言葉が出てきた場合は、後で質問できるように、下線などで分かるようにしておくと便利です。

4-3. 先方への質問

一通り話を伺ったら、今度は、こちらから質問をする番です。
ここで活きてくるのが、事前に準備していた質問と、面接中にメモをしたキーワードです。

質問は、そのプロジェクトに関するものであれば、何でも大丈夫です。
例えば、簡単な質問であれば、チームの人数や体制、リリースサイクル、脆弱性対応、夜勤の有無など。
プロジェクトに参画するための心の準備として必要と思う質問をしましょう。

その質問をした理由を聞かれることもあるので、前向きな理由もきちんと考えておくと、印象が良くなります。

※夜勤したくないので、などのネガティブな理由はNGです。

4-4. 面接の最後に

前述の通り、面接官から、最後に何かありますか?と聞かれることが多いです。内容はなんでもいいのですが、以下のような対応がいいと思います。

・まだ質問していないものがあれば、質問する
・意気込みを伝える

質問や伝えることが特に無かったとしても、時間を取って対応してくださった面接官の方に対して、必ず、感謝の気持ちを伝えてください。

5. 面接中に詰まった場合の対応

面接官からの質問でうまく答えられないと、焦ってしまい、頭が真っ白になることがあります。
こうなると、自分を出し切れずに終わってしまいます。

詰まっても、できるだけ自分のペースに持ち込む努力をしましょう。(焦ってすぐに答えるのは、非常に危険です)

以下に、幾つかのパターンを用意しましたので、参考にしてください。

・質問の意味が曖昧な場合

◯◯というのは、△△という意味ですか?と確認。
→質問の意味をきちんと理解するまで確認

・よく知らない言葉を使われた場合

「すみません、◯◯の意味をよく分かってないのですが、教えていただけますか?」と尋ねる。
→言葉を知らないだけで、意味が分かれば答えられたりする

・すぐに思い出せない場合

「すみません、少々お待ちください。」と、考える時間をいただく。
→焦っても、変な回答しか出てこない

・全然知らないことを聞かれた場合

「すみません、◯◯については知識(経験)がありません。これは必須でしょうか?」と確認。
→意外と必須じゃなかったりする
→必須でも必須じゃなくても、素直に頭を下げて、勉強しておきます、と誠意を見せる

勢いで答えると、そこで話が終わってしまい、気まずい空気になってしまいます。
そうならないように、丁寧な受け答えを心がけましょう。

また、上記の例でも分かると思いますが、謙虚な姿勢と、きちんと答えようとする前向きな姿勢が大事です。

これが出来れば、お互いに気持ちよく面接を終えることができます。

6. 参考

単に理論だけ並べても分かりにくいかもしれないので、少し、私の実例を交えて解説します。

例えば、以下のような経歴書があったとします。
(内容は一部修正してます)

画像1

これを単純に読み上げる方もいらっしゃいますが、それでは成果が伝わりません。
私であれば、各プロジェクトへの思い入れも込めて、以下のように説明します。

・経歴書No.1の場合
1番のエステ予約サイトの開発ですが、ここではメンバーとして、集計バッチ修正の詳細設計以降を担当しております。
非常に短期間ではありましたが、改修期間の短縮を実現し、とても大きな成果を挙げております。

もしよろしければ、詳細にお伝えしてもよろしいでしょうか?(念のため確認)

詳細にお伝えいたしますと、一部、集計結果が間違っているものがあり、リーダーの方に、ロジックの修正を依頼されました。
内容を確認したところ、改修範囲が9クラスに及び、影響範囲を含めた試験を行うと、最低でも5人日の改修でした。

そのまま進めてもよかったのですが、ある疑問を持ちました。
その疑問というのは、やりたいことに対して、改修コストが大きすぎるのではないか、というものです。

再度、リーダーの方に仕様や改修の背景をヒアリングし、ロジックを詳細に見直したところ、SQLを2行修正するだけで、同じ結果が得られるという結論に至りました。

これにより、影響範囲が大幅に減り、当初5人日の改修だったものを、試験を含め、2時間で終わらせることができました。

ヒアリングとロジックの見直しを含めても4時間でしたので、結果的に、改修コストを10分の1に圧縮できた、ということになります。
・経歴書No.2の場合
2番の在庫管理システムにつきましては、完全にお任せいただき、要件定義や、AWSでの環境構築から行なっております。
また、技術選定も行なっており、経験は浅かったのですが、Pythonでの開発を選択し、遅延なく納品しております。

Pythonを選択したのには理由があるのですが、ご説明してもよろしいでしょうか?(念のため確認)

この企業では、元々、PHPで開発された既存サービスがあり、ゆくゆくはその改修も、ということで、PHPでの依頼でした。
しかし、お客様と様々な話をしていくうちに、既存サービスの新バージョンをPythonで作っていること、そして、エンジニアの方もPythonエンジニアが多い、ということが分かったのです。

これにより、私が抜けた後もメンテナンスがしやすいPythonを選んだ方が、将来的なメンテナンスコストは下がる、という判断に至りました。

まだ不慣れな言語ではありましたが、不明点は情報を整理して調査と質問を繰り返し、PHPで作った場合と同じ期間で納品することができました。

基本的には、ロジックをきちんと考えることさえできれば、言語はあまり関係ない、というポリシーを持っておりますので、その場その場で最適なものを選んでおります。

私としては、単に得意な言語で開発するよりも、先のことまで考えて、何を選ぶか、ということの方が大事なのではないか、と考えております。

このように、自分の経歴を突き詰めることで、他のライバルに差を付けることができますね。

7. 最後に

面接は、相手によって難易度も変わってくるため、こうすれば絶対に大丈夫、という方法はありません。
でもせめて、自分をきちんと出し切り、相手に分かってもらった上で、結果を判断して頂きたいものです。

いい面接を行うことが出来れば、一つのビジネススキルとして、またはヒューマンスキルとして、非常に有用なものになります。

人生は一度だけなので、自分を見つめ直し、そして理解することで、みなさんが、いい社会人生活を送れることを願っております。

最後まで読んでくださり、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?