海外就職希望のソフトウェアエンジニア向け・面接での頻出質問について
以前、こちらのブログで海外就職を希望するソフトウェアエンジニア向けに採用ステップの流れを公開しました。
「海外でエンジニアになるためにはどんなステップが必要?」とイメージが湧かない方は一度目を通してみてください。
今回は、これまでの私の転職活動経験をもとに海外のIT企業面接がどのような内容で構成されているのか。回答はどのように作成したら良いのか。簡単にご紹介していきます。
上の記事で触れている通り、エンジニアの面接には大きく2種類存在します。技術面接と非技術面接です。
今回は非技術面接(コーディングやシステム設計以外)に関する内容をお話していきます。
※非技術面接は技術的な経験に関する質問を含みます。あくまで、実際にコーディングや設計をその場で行う以外の面接を指します。
1. 英語面接への準備(心の準備)
あくまで母国語が日本語で英語での仕事を探している方に向けた内容です。
英語面接って緊張しますよね?
ただでさえ面接は緊張感がありますが、それを母国語でない言語で回答しなければいけない不安が伴います。
私自身、最低でも10回以上は英語面接を経験していますが、今でも開始直前まで緊張しています。
不安な要素は何か。簡単にまとめると以下のような内容ではないでしょうか?
- 質問内容
- 英語で上手く回答できるか
- 相手の英語が聞き取れるか
「質問内容・英語回答」に関しては、英語面接の回数を重ねていけば自然と慣れていく部分ですので心配いりません。経験でカバーできます。
当たり前のことですが「相手の英語が聞き取れるか」が面接では非常に大事です。面接は自分の言いたいことだけを伝える場所ではありません。相手とのキャッチボールする場所です。
私は英語に関してそこまで不安はないのですが、一度ドイツ企業の面接を受けた際に相手の強いアクセントが上手く聞き取れず、変な感じになってしまったことがあります。
後にも先にも非技術面接で通過できなかったのはその一回だけです。
英語圏以外の場所で仕事を探す場合は、相手の英語にもきちんと対応することが求められます。
これらの点を事前に把握しておけば、特別気を配ることはありません。
2. 面接の相手
まずは質問の内容を知る前に、面接の相手が誰であるのかを頭に入れておく必要があります。
ポジションや会社の規模次第で非技術面接の相手は変わりますが、おおよそ以下の通りです。
- リクルータ(人事)
- エンジニアリングマネージャ
- 部長・CEO
基本的に面接の相手は事前に知らされているはずですので、相手のLinkedInのプロフィールなどを事前に確認しておきましょう。気持ち悪いと思うかもしれませんが、相手がどんな経歴なのか(エンジニア的な経歴のあるエンジニアリングマネージャなのか?など)を把握することで相手に伝わる言語で回答することができます。
ここで気をつけておきたいのは、回答に含める専門用語のレベルです。
基本的にズブの素人が面接することはありません。リクルータであっても基本的な技術スタックの用語は認知していますので、基本的な用語(プログラミング言語(Java, Ruby, Python, Goなど)やクラウド(AWS, GCP, ...)、Docker、Kubernetesなど)は含めて問題ないです。
またマネージャであれば、自身もバリバリのエンジニアなのかによって、プロジェクトのシステム設計をどこまで詳細に話すのか決めたりすることができます。
ほとんどの場合、面接での会話を通して相手のレベル・守備範囲も知ることができますが、事前に頭にいれておくとより準備がしやすいと思います。
3. 具体的な質問内容
質問内容は多岐に渡りますが、ジャンル分けするとこのような形になります。
- 事務的な質問
- 転職に関する質問
- 経験に関する質問
- 現在の職場に関する質問
- 働き方・人間関係に関する質問
- 技術知識に関する質問
事務的な質問
事務的な質問は基本的に事実に基づいて答えていけば問題ありません。希望給与は交渉の側面からハッキリ伝えるかどうかは自身で判断してください。
- 簡単な経歴・自己紹介
- 入社予定日は?
- 希望給与は?
- ビザサポートの必要有無
- 不明な点は?
面接の最後は逆質問の時間が設けられているので、以下の質問を必ず先方に確認しましょう。
- 採用プロセスの詳細:何回面接・技術面接があるのか
- 次回面接の案内:いつまでに結果を伝えてもらえるのか
転職に関する質問
転職に関する質問は転職に至った経緯や動機であったり、将来的なキャリアプランなどを確認する質問内容が多いです。
企業側が募集しているポジションとあった人材なのか、ミスマッチを防ぐ質問でもあります。
- (企業名)の印象は?
- (ポジション名)に応募した動機は?
- 転職しようと考えた動機は?
- 日本から(現地国名)に移住することについての印象・動機は?
一般的な志望動機に加え、移住することについてもポジティブに捉えているのか確認されます。
企業への最低限どんなサービスを展開しているのか、日本からも使うことができるのであれば使ってみた感想など企業への興味を示しましょう。
経験に関する質問
経験に関する質問は候補者の成果や仕事内容に関するものなど、仕事に関して企業側が気になっていることを聞かれます。
主な質問としては、
- 最近のプロジェクトの成果と改善点は?
- 最も苦労した経験は?
- アジャイル開発とは?
- 〜という技術を使った経験は?
- 自身の強みと弱みは?
- メンターの経験は?
などが挙げられます。実体験に絡めて自身の経験をアピールしましょう。募集要項をしっかりと確認しておくと大体企業側が求めているスキルセットは把握できるので、事前に再確認しておきましょう。
現在の職場に関する質問
現在の職場に関する質問は、あくまで企業側の参考程度に確認している内容が多いと思います。
- 現在のチーム構成は?(エンジニアの数など)
- プロジェクトの進め方は?(メンバーの役割・構成、開発体制など)
- 現在のチーム内での役割は?
あまりにも応募企業との体制に違いがあると敬遠されてしまうのかもしれませんが、致命的な回答をすることはないと思います。
素直に現状の様子を話しましょう。
働き方・人間関係に関する質問
意外と答えにくいのが、このジャンルの質問だと思います。回答に候補者のパーソナリティが反映されるからです。
質問の内容としては、
- 同僚からどういった強み・弱みがあると言われる?
- 同僚と意見の対立があった場合の解消方法は?
- 意思決定のフローは?
- 理想の上司・嫌いな上司の人物像は?
- メンターするときに意識することは?
といったところです。
これらも実体験をもとに回答できれば、より信憑性が高い情報を与えられると思います。
実体験ベースと言っても、明らかに反社会的な言動・行動をしてしまった過去があっても武勇伝のように話すのは止めましょう。
外国人だからと言って、全てがオープンだと考えるのは間違いです。本音と建前が存在します。特に面接というプロフェッショナルさが求められるシーンでは、しっかりと大人な対応をしましょう。
技術知識に関する質問
技術知識に関する質問は挙げてもキリがありません。
普段から自分で調べる際に、どこまで深く理解しようとするかで回答できる問題も増えるでしょう。
例としては
- 基本的なLinux・Gitコマンド
- 最も解決に手間取ったバグは?
- プログラミング言語特有の質問(goroutineとは、deferの使い所 等)
- VagrantとDockerの違いは?
- 〜パターンとは?(デザインパターン)
- マイクロサービスについてどう考える?
などです。
この手の質問をする側としては、最低限知っていて欲しいレベルと知っていたら嬉しいレベルがあると思っています。(少なくとも私は)
また、どこまで簡潔に要点を説明できるのか。流行りの技術に対して上辺だけの内容でなく、歴史的な背景も含めて理解しているのか。など、普段からの思考の部分も見ていると考えています。
パーフェクト解答できると良いですがわからなければ知ったかぶりをせずに、わからないとハッキリ伝えたほうが良い印象を与えられるかもしれません。