フルスタックエンジニアを採用する方法〜面接で質問すべき5つのこと〜

この記事をシェアする

この記事は、TalentLyft社のブログ記事“How to Find and Hire a Full Stack Developer”を著者の了解を得て日本語に抄訳し掲載したものです。
LAPRAS published the Japanese translation of this original article on TalentLyft in English under the permission from the author.

本記事では、フルスタックエンジニアを採用する方法を紹介します。フルスタックエンジニアに何を求めるべきか、面接では何を質問すべきかを説明します。

※本記事におけるフルスタックエンジニアの定義は後述しています。

フルスタックエンジニアは比較的採用しやすい

多くの採用担当者にとって、エンジニア採用は大きな課題です。

ただ幸運なことに、10年前と比べ近年はスペシャリスト採用の需要が高いため、フルスタックエンジニアを採用することはそこまで難しくありません。
さらに、StackOverFlowの調査によると、アンケートしたエンジニアの内48.2%の人が自分はフルスタックエンジニアだと回答しています。

なので、もしもフルスタックエンジニアを探しているのであれば、人材不足には困らないでしょう。

だからといって、考慮すべきことがないというわけではりません。本記事では、フルスタックエンジニアを採用するためのベストな方法を紹介します。

フルスタックエンジニアの仕事とは

フルスタックエンジニアとは、バックエンド(PHP,Python,.NET) とフロントエンド (JavaScriptとそのフレームワーク) の両方のプログラミング言語に精通している人のことを指します。主にバックエンドを担当していますが、WEBサイトやアプリケーションがユーザーから見てどのように見えるかを操作するためのフロントエンドも知っている必要があります。

企業は、技術毎に個々のエンジニアを採用せずに済んでコスト削減になるため、フルスタックエンジニアを採用することを好みます。しかし、フルスタックエンジニアを採用する時には気をつけるべきことがあります。フルスタックエンジニアを自称する多くのエンジニアは、実際にはいくつかの技術に関しては表面的な知識しか持っていません。なので、しっかりと彼らのプロフィールやポートフォリオを確認する必要があります。

面接でフルスタックエンジニアへ質問すべきこと

フルスタックエンジニアは幅広く多くの知識を必要とするため、面接で評価するのが難しいかもしれません。面接では、候補者が自社で扱っている全ての技術について十分に理解しているかどうか確認します。

質問例を紹介します。

質問1:あなたが取り組んだプロジェクトとその際に使用した技術を教えてください。そして、どうやってその選択をしたのかも教えてください。

この質問に対する回答は、候補者が全ての開発手法を知っているかどうか知るのに役立ちます。バックエンドとフロントエンド両方に特定のツールセットを選択した理由が正しい、且つ説明が具体的であるかを確認します。

質問2:プロジェクトをゼロから構築するには、どのような技術が必要だと思いますか?

この質問に対する回答は、候補者がスタートアップのようなダイナミックな環境で働く意欲があるかを示します。候補者がすぐに言語や技術を思いついてそのプロセスを大まかに説明できたのであれば、この候補者はプロジェクトにぴったりだと判断できます。

質問3:最近学んだことは何ですか?

この質問は、候補者から提供された情報が十分に正確かどうかテストをするために使われます。つまり、候補者が本当にフルスタックなのかを確認できます。技術のトレンドはすぐに変化するため、業界の最新動向を知り、常に新しいことを学ぶのが大切です。

質問4:リモートで働いたことはありますか?

この質問は、リモートワークのメンバーを雇う場合、特に分散チームで働く時に必須です。従来型の企業であれば、リモートワークの経験がない人材を雇っても問題ないですが、リモートワークは誰でもできるわけではないので、そうはいきません。リモートワークのメンバーを採用する時、彼らのリモートワーク経験に注意を払う必要があります。

質問5:チームで働いている時に経験した最近のプログラミングの課題について話してください。そして、どうやってそれを克服しましたか?

この質問に対する回答は、候補者が危機的な状況においてどのように対応するかを示します。また、そのような状況でのチーム内での動きやチームメンバーと共同作業できる能力も示されます。

追加の質問

もちろん、プロジェクトに必要な一連の技術に関する質問もする必要があります。
もしも自身が技術知識に疎い場合は、技術的な質問はエンジニアやCTOなどに任せましょう。

おわりに

面接では、候補者のスキルと経験をテストし、候補者が自社の開発で使われる全ての技術について、十分な知識を持っているかを証明することが重要です。そのためには一般的にコーディングテストをすることが望ましいですが、そうでない場合には上記5つの質問を参考にしてください。海外と日本で異なる部分もありますが、これらの質問は日本においても有効でしょう。