IT企業の新卒エンジニア・プログラマ採用面接官になったので面接内容を就活してる人のために晒す


うちの会社はきっちりした技術試験を作るほどのリソースを採用にかけられていないので、エンジニアの面接官が応募者のスキルレベルを測ることになっています。今年、そのエンジニア面接官に任命されたのですが、面接をしてみると、こちらの知りたいことと応募者のアピールして来ることが噛み合っていないということに気づきました。

面接に使える時間は限られていますので、お互いにその時間を最大限有効に使いたいものです。他社の面接官も気持ちは同じだと思いますので、一例として参考にして頂ければと思います。

エンジニア面接の目的

  • 超すごい人を探すのではなく、エンジニアとしてのキャリアを始めるための最低限の基準を満たしていることを確認する
  • ソフトウェアを作ることと開発スキルをつけることに対する熱意と行動力がある人を求めています。熱意だけで行動が伴わない人は求めていません
  • 「〜の経験があります」「〜歴N年」「中学の頃から◯◯をやっています」と言われてもピンキリなので、ピンからキリまでのどこぐらいかを探る
  • 口下手でも良いのでエンジニリングの基礎が身についている人をうまく見つけ出す

アピールされてもしょうがないこと

  • 高いコミュ力や社交性
    • コミュ力は共同作業で支障が出ないレベルであれば十分です。例えば、友達グループで旅行の計画を立てて、無断遅刻とかせず、ひどい喧嘩したりせず、みんな楽しく過ごして帰ってこれるぐらいで十分です。社交的であるとか、アピールがうまいとか、交渉力があるとか、リーダーシップが取れるとかはエンジニアとしてはあくまでおまけであり、技術力がなければ意味がないです
  • 最先端技術の知識
    • 基礎力がある上にアンテナを張ってるのなら良いですが、表面的な先端技術の追いかけだけならすぐに陳腐化するので高く評価は出来ません。ただし、社内での今後の導入が決まっている技術をこちらが教えてもらえるくらい精通してるのなら話は別です
  • 「〜大好き」(例「ゲームが好きです」「インターネットが大好きです」)
    • 野球がどれだけ好きでも、観戦してるだけの人はプロ野球の入団テストを受けても意味がないです。それと同じで、IT消費者側としての「好き」はエンジニア採用の合否の判断材料になるべく使わないようにしています
  • 卒論・修論研究の内容やレベル
    • 業務に直結しない限り、合否の判断材料にはしません。真面目にやってるかどうかがだけが気になります。

面接内容

本人が経験ありと言っている技術(複数あれば、経験年数が長かったり、得意と言っているもの)について具体的な知識やスキルを問います。基本的なこと(入門書籍、「一週間でできる〇〇」レベル)の質問にスラスラ答えられれば合格点を出します。マニアックなことは聞きません。

  • HTML歴N年という人であれば当然知ってるはずの下記のようなことを聞きます。
    • 「改行を入れる時はどういうタグを使いますか?」
    • 「箇条書きを作る時はどういうタグを使いますか?」
  • Linux/Unixの経験ありという人であれば、
    • 「カレントディレクトリのパーミッションを知りたいときはどういうコマンド使いますか?(実際にその場でやってもらい)出力から何が読み取れますか?」
    • 「1000行あるファイルの800行目を確認したい時ってどうします?(実際にやってもらう)」
  • プログラミングはAIZU ONLINE JUDGEの問題セット「Introduction to programming」と同じような問題を得意な言語で解いてもらう
    • 2問用意して、応募者自身でどちらか出来そうな方を選ぶ
    • 正しく動きさえすればよい。コードの綺麗さ、アルゴリズムの速さ、メモリ消費などは気にしない
    • 一発でできなくても良い。何回でもコンパイルや実行をしてみて直せば良い
    • 分からないことが出て来たら途中で質問しても良い
    • 完成したら、出力とコードを見せてもらう
    • 10分ぐらいで打ち切る
    • 他にどんな書き方を考えたか、もっと時間があったらどこをどう直したいか聞く
  • Gitを使ったことがある人
    • GitHubからのクローン、ブランチの作成、ファイルの追加、コミット、GitHubへのプッシュを実際にやってもらう

高度なことやマニアックなことは入社後に身につけてもらえば良いので、入社までには基本がきちんとできてることですね。

エンジニア就活生にお願いしたいこと

  • エンジニアリングの基礎が身についている人
    • エンジニアリングの基礎が身についていてさえいれば、飾ることなく普段通りで構わないので、軽い気持ちでリラックスして面接に来て下さい
  • エンジニアリングの基礎が身についていない人
    • 1ヶ月ぐらいでいいのでプログラミング言語一つとUNIXやGitを真剣に勉強して来て下さい。
    • できれば何か一つ自分なりの作品(斬新でも高品質でもなくて良い)を制作してみて下さい。制作してみると、本当にこの仕事が好きか、向いているかがよく分かると思います。世間で言われている自己分析に時間を費やすよりよっぽど有意義です。

あと、ほとんど何も身についていないことを「〜歴N年」って沢山並べないようにして下さい!

Linux/Unixが出来ると言いたい人はこちらの本を一通り読んでおくと良いと思います。

イラストでそこそこわかる LPIC 1年生

イラストでそこそこわかる LPIC 1年生

GitHubが出来ると言いたい人はこちらの本の第2、3、4章を読んでおくと良いと思います。

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)


終わりに

では、就活生の皆様の就活と採用面接担当の皆様の面接がうまく行くことに願っています。