maximum80の日記

「Empower Engineering!」をテーマに自立自走エンジニア組織によって日本を元気にするため日々奔走している事業家のブログ

エンジニアが技術面接に臨む上で意識すべき3つのポイント

技術選考の導入と種別

新田です。 皆さんも聞き慣れているかもしれませんが、 エンジニアとして就職活動を展開しているのであれば、 ほとんどのケースで訪れるのが、近年多くの会社で取り入れられている 「技術選考」 です。

日本企業で導入が進む技術選考

Googleなどの海外のIT企業がエンジニアの採用に際に導入をしていた 「テクニカルインタビュー」というものが、日本企業にも近年導入され始めています。

背景としては、倫理憲章に伴う就職活動時期の「遅延化・短期化」が進んでくる中で、 企業においては選考の効率化がテーマとなってきています。

その中で、ことエンジニア採用における企業が最も効率化すべき点が「スキルマッチ」となっています。 そうして、多くの企業が近年様々な方法で導入しているのが、この技術選考です。

技術選考の内容

技術選考にはいくつかの種類や方法がありますが、 大きく分けると以下の4種類に区別されます。

形式 \ 選考フェーズ 課題 面接
コーディング codecheck ホワイトボードコーディング
成果物提出 GitHub採用 技術面接(これまでの開発物の発表・説明)

それぞれの技術選考についての具体的な内容や特徴については、別エントリにて説明します。 今日お話する点は 技術面接 です。

技術選考とは、選考過程において面接時に、これまでの開発成果物(GitHubリポジトリ等)を用いて、 成果物における説明や質問に回答する形式の面接を実施する選考のことです。

選考フェーズが進んでいる方も多くいる中で、 この技術面接における質問をよくされるようになりましたので、 今日はこの技術面接で意識すべき3つのポイントについて紹介したいと思います。

技術面接で意識すべき3つのポイント

1,成果物そのものではなく成果物を作った”あなた”自身を知りたい

成果物の説明を要求されると、エンジニアである皆さんは 手間ひまかけて制作した成果物を熱心に説明したくなるでしょう。

しかし、今自分自身が置かれている場所は、 成果物発表の場ではなく技術面接である、ということを念頭に置きましょう。

端的にいうと、企業の人達は「成果物そのものには興味がない」ということです。 (※目的が違うよ、という意味で)

企業の人達が知りたい事は成果物を作ったあなた自身です。

例えば、JPHACKSとか何かしらのハッカソンでチーム開発したものを成果物として発表するとします。

コンテストやハッカソン内でプレゼンしたように、プロダクトそのものについてを説明したくなってしまいがちですが、 企業の人達が最も気にしているのは「それで、あなたはどこの役割を担当して、どのような貢献をしたのか」という部分です。

成果物プレゼンではなく、自分プレゼンであることを忘れないように、意識してみてください。

2, 何の技術を使ったかよりも、なぜその技術を使ったのかを知りたい

成果物のプレゼンでは、「どのような技術を使ったか」というような技術スペックについても聞かれると思います。

もし、新しい技術や挑戦していたりするのであれば、 Docker、AWS、Reactなど、近年モダンとされている技術スペックを並べたくなるかと思います。

ここで企業が気になっているのが、「なぜそれを利用しようと思ったのか」です。

会社でプロダクトを開発する場面においても 技術革新やプロダクト成長に伴う技術アップデートは必ずおこります。

  • 機能拡張に耐えうる用に、また一から設計し直して、新しい言語やフレームワークで作り直そう
  • 言語やフレームワーク自体のバージョンアップデートがあったから、自社のプロダクトも更新しよう

などなど、エンジニアは日々技術進化と向き合うのも仕事の一つです。

自社で活躍することができるエンジニアかどうかという点においては、 技術者としての嗅覚・センスが問われています。

なぜなら、会社は 技術負債をつくりたくないから です。

実際にその技術を使ってみてどう感じたのか。

言語特性やフレームワークの利便性をどう感じたか、また他のフレームワークと比較すると利点や欠点は何か。

誠実にその技術と向き合って感じたことを伝えるように意識してみてください。

理由なく「とりあえず友人におすすめされた」とか「聞いてみたからやってみたかった」 のであれば、変に知ったかぶりをするのではなく、素直にそれを伝えるのが良いかと思います。

3, 今の技術スキルではなく、技術ポテンシャルを知りたい

これが最も抑えておくべき視点です。

技術面接において「まだ自分が出来ていないこと」や「自分の技術レベルの低さ」を引け目に感じる必要は一切ありません。

学生であれば、就業経験のないエンジニアが、プロとして現場で5年、10年働いているエンジニアよりもスキルが高いということは殆ど無いと考えて良いと思います。

趣味や学業でエンジニアやるのと、仕事でエンジニアやるのとでは大きく異なります。

なので、企業は今のあなたのスキルではなく、 会社に入社した上で技術を伸ばせていけそうかどうか についてを知りたがっていることを意識しましょう。

そのため自分がどれだけエンジニアとして成長してきたか、していけるかを意識しましょう。

  • この一年間で身につけた技術は何か
  • 今後伸ばしていきたい技術は何か

このように成長性を表す上で時系列で自分のスキルについて話すことができるようになることが良いかと思います。

また、ただなんとなくではなく、何か開発をしてみて自分に足りていないと感じたこと、次に挑戦してみたい技術など、きちんと整理した上で理由を持っておくことが良いでしょう。

技術に対してオープンに

色々とポイントを整理してきましたが、これらに共通しているいちばん重要であることは「技術に対してオープンであること」です。

自分がわからないことや知らないことに対してまっすぐに向き合う

ことができれば、エンジニアとして絶対に成長していけると思いますので、 是非そのような心構えをもって普段からエンジニアリングを楽しんだり、技術面接に望んでもらればと思います。