1000人以上のエンジニア選考した結果を型化した
今日はいままで1,000人以上エンジニア選考(書類審査や面接)をし、試行錯誤の過程で型化したノウハウを公開したいと思います。
もちろん書類や面接だけではエンジニアリングスキルは測れませんが、多量の応募を効率的に捌いたり、たくさんのエンジニアに合うための一助になると思いますので参考にしてもらえればと思います!
選考ポイント
まずは選考のポイントです。
皆さんは、STARというGoogle社の構造化面接法をご存じでしょうか?S.T.A.R.手法は、貴方がどのような状況で(S)、何を担当し(T)、具体的にどのような行動をとり(A)、どんなような結果を導き出したか(R)、を聞き出すやり方です。
STARは、
S – Situation(状況)
T – Task(職務)
A – Action(行動)
R – Result(結果)
の略です。
全体を通して、筋が通っているか、論理的であるか、考えて行動しているか、結果を元に反省して改善していける人物かを測ることを目的とします。
面接などで質問をする際に意識してみてください。
エンジニアスキル別確認ポイント
次にエンジニアスキル別に確認するポイントを公開したいと思います。
《ベーススキル》
・プログラミング経験3年以上 かつ FW利用の開発経験1年以上あるか?
・LAMP環境での開発経験があり、サーバにログインしてリリース作業や設定ファイルの確認/修正が行えるか?
・アジャイル開発の経験 があるか?もしくは志向があるか?
《コンピテンシー》
・傾聴力/協力行動が取れるか?
・主体的に問題解決行動を起こせるか?
・決められた範囲を超えた行動ができそうか?
《業務特化》
・担当領域のサービス仕様を50%把握しているか?
→例えばコルクの場合、出版やメディア業界の業務知識が有り、サービス開発をしたことがあるかを確認する
《サーバ・インフラスキル》
・サーバ構築の経験はあるか?
・ネットワーク構築の経験はあるか?
(Firewallや負荷分散装置、DNSなどの単語を質問する)
・AWSやAzureなどクラウドインフラの経験はあるか。?
《アーキテクチャースキル》
・RailsやFuelPHP・Laravelなどフレームワークの仕様を深く理解し、担当領域にアジャストできそうか?
・ソースレビュー(仕様面を除く)を任せられるか?
・パフォーマンス観点による改善を推進できるか?
《マネジメントスキル》
・10名規模のチームを統括した経験があるか?
・進捗/課題管理を使ってマネジメントができるか?
・リスクを見立て、エスカレーションできるうか?
・事業の意思決定を支援できるか?
《データ分析スキル》
・1億件以上のデータを取り扱った経験があるか?
・効率のいいSQLを書いた経験があるか?
・データ分析環境を行うときの3プロセスを確認する
(データ抽出・データクレンジング・データ統合)
具体的には下記を参考に。
《UI/UXスキル》
・UIとUXの違いを説明してもらう
・具体的にどんな設計を行ったかを説明してもらう
(d-schoolのOBSERVE・UNDERSTAND・DEFINE・IDEATE・PROTOTYPE・TESTの話など)
面接時の3つの質問
最後にエンジニアには3つの質問をして、どの程度のエンジニアリングスキル・志向があるかを測る。
1.あなたがプログラミングをするときの注意点はなんですか?
模範解答)
・要件観点(要件に沿った開発をする)
・セキュリティ観点(パラメータチェック/SQLインジェク/クロスサイトスクリプティング/CSRF)
・品質:名前・変数
・例外処理をして保守性
・パフォーマンス
2.フレームワークを利用する理由は何だと思いますか?
模範解答)
・品質の標準化
・モジュールの再利用による生産性向上
・保守性・運用性の向上
3.これまでに携わってきた開発プロジェクトの中で、一番の自信作と言えるものはどんなものですか?
・その中であなたが果たした役割は?
・その中で特に工夫した点、解決が困難だと思われた課題に対してとったアプローチは?
最後に
いかがでしたしょうか?僕はいままで面接した方にはすべて上記のポイントを数値化し、且つ定性的な評価をメモっています。
(ここでは公開しませんが笑)
そうすることで、相対的に比較することができるようになりますので、おすすめです。
もし宜しければ、ぜひフィードバックいただけると嬉しいです。
そして、僕のTwitterアカウントは @daisakku で、テクノロジー・マーケティング・経営などをつぶやいています。
ぜひフォローしてもらえたら嬉しいです!
サポート頂けたら、意味のあるnoteだったのだと励みになります。 サポート頂いたお金は、コミチの漫画家のサポートに利用させて頂きます。