目次
タイプ別:優秀なエンジニアの定義
前提として、活躍できるエンジニアは企業によって異なるため、エンジニアの優秀さを汎用的に定義することは難しいといえます。なのでこの記事では”今の時代に求められるエンジニアの優秀さ”という観点で、「テックリード型」「エンジニアリングマネージャー型」「プロダクトマネージャー型」3つのタイプに定義してご紹介します。
テックリード型
テックリード型は技術力に特化したエンジニアです。ビジネスサイドのアイデアを実現する高い技術力を持ち、モダンな言語の豊富な開発経験があるなど、技術に関して特定の強みを持っていることが特徴です。
またバックエンド・フロントエンド・インフラなど複数の専門分野の知識を身につけ対応できるエンジニアはフルスタックエンジニアと呼ばれ、多くの企業から高いニーズがあります。
エンジニアリングマネージャー型
エンジニアリングマネージャー型は、自ら手を動かし開発できるエンジニアリングスキルに加えて、開発組織そのものをマネジメントする能力を兼ね備えているエンジニアです。ジュニアレベルのエンジニアの育成、ナレッジやノウハウの蓄積、コードレビューチェック、プロジェクトの立て直しなど開発組織全体が良くなるように取り組むことができます。
急激に組織が成長し、開発組織を運用していく必要があるベンチャー企業などから高いニーズがあります。
プロダクトマネージャー型
プロダクトマネージャー型は技術的な観点とビジネス的な観点の両方を持ち合わせ、プロダクトをグロースさせられるエンジニアです。また高いコミュニケーション力でビジネスサイド・エンジニア・デザイナーなどのステークホルダーと連携を取りながら開発を進めることができます。
従来のウォーターフォール開発からアジャイル開発へとプロダクトの開発手法が移り変わるにつれて、グロースを前提にプロダクトの核となる機能を選定しスピード感のある開発に取り組む企業が増えてきました。その背景から、ビジネス観点を持ったエンジニアの需要は伸び続けています。
優秀なエンジニアの特徴8つ
優秀なエンジニアの定義をタイプ別に3つご紹介しました。次に、優秀なエンジニアが持つ具体的な特徴を8つ紹介します。
以下の全ての要素を兼ね備えたエンジニアと出会うことは非現実的かもしれませんが、自社にとって必要なエンジニア像と照らし合わせながら、ぜひ採用要件の優先度づけの参考にしてみてください。
複数領域をまたぐ技術スキル
1つ目は複数領域をまたぐ技術スキルを持っていること。エンジニアという職種は専門性の高い職種であるため、専門的な知識や技術スキルを持っていることは必須です。
それに加えて、日々新しいプログラミング言語が登場しトレンドが入れ替わる中で、常に新しい情報を取り入れ学びを深めているエンジニアは優秀と評価される傾向が高くなります。
ビジネススキル
2つ目はビジネススキルを兼ね備えていること。技術的な知見を元にプロダクトをグロースするためのロードマップを引いたことがあるなど、ビジネス的な観点を持つエンジニアは多くの企業から重宝されます。
また適切なタスク分配や進捗管理などはプロジェクトを円滑に推進するために必要なスキルです。技術にとどまらずにビジネス全般の知識やスキルを身につけているエンジニアは、さまざまな場面で活躍してくれるでしょう。
自走力
3つ目は自走力があること。これは特にスタートアップやベンチャー企業など組織が成熟しきっておらず、事業成長が個々人の能力に依存しているフェーズの企業にとって必須のスキルといえます。
開発のルールや文化などが未整備のため、自ら情報を取りに行ったり、足りない部分を補うために積極的に学習するなどの自発的な動きができるかどうかが重要です。
コミュニケーションスキル
4つ目はコミュニケーションスキルです。エンジニアという専門性の高い職種であっても、ビジネスサイドやデザイナーなど多岐にわたるステークホルダーとの円滑なコミュニケーションを取れるかどうかはプロダクト開発の成功を左右します。
逆にコミュニケーションスキルが乏しい人材だと業務上でのやり取りやチームワークに支障が起きてしまうリスクもあるため、選考の際には既存社員とコミュニケーションが取りやすいかどうかの観点も取り入れることをおすすめします。
協調性
5つ目は協調性です。特に上場前後まで組織が大きくなりつつあるフェーズの企業では、ある程度開発のルールや指針などが固まりつつあることが多いです。また創業メンバーたちが培ってきた文化や風土が言語化されている場合もあるでしょう。
それらを理解し尊重しつつも、外部からの刺激を与えて組織を成長へと導くようなエンジニアは優秀なエンジニアといえます。
マネジメントスキル
6つ目はマネジメントスキルです。開発組織が急成長している企業では、マネジメントスキルを持つエンジニアは貴重な存在となります。
後輩を育成することはもちろんですが、開発組織全体をより良くするための俯瞰した視点を持っているエンジニアは活躍の幅も広いでしょう。
課題解決能力
7つ目は課題解決能力です。プロダクトやシステム開発において一切のトラブルを避けることはほとんど不可能です。そのため大事なのはトラブルに対してどのように対処し解決するかを考えられることです。
選考時に課題に対処した経験やプロジェクトを立て直した経験を深掘りするなど、課題解決能力を測れる質問を聞くようにしましょう。
エンジニアを面接で正しく評価するためのコツはこちらの記事でも解説しています。
ステークホルダーを巻き込む交渉力
8つ目はステークホルダーを巻き込む交渉力です。これは特に大手企業で成果を出すために必要なスキルです。大手企業は組織の枠組みや人事制度がしっかりしていたり、プロジェクトのステークホルダーも増えるため動きづらいと感じる場面も出てきます。
一方で数多くのステークホルダーを動かせるだけの交渉力を発揮できれば、非常に大きな社会的価値を生み出すことが期待できます。
優秀なエンジニアを採用するためのポイント3つ
優秀なエンジニアの具体的な特徴をご紹介したところで、優秀なエンジニアを採用するために大切なポイントを3つ解説します。
ポイント①:開発組織のトップがエンジニア採用の意識を持つ
最も大切なのは、CTOやエンジニアリングマネージャーなど開発組織のトップ層がエンジニア採用への高い意識を持ち行動することです。例えばリファラル採用のために積極的に外部の人と食事をする機会を設けたり、毎日1通でもスカウトを打つなど。
トップ層自らが採用に積極的な動きを見せることで、メンバーにも採用の重要性が浸透し、全員採用の文化が作られていきます。特にエンジニア採用は人事だけのスキルで成果を出すことは難しいため、従業員一人一人がエンジニア採用を自分ごととして捉えることが重要です。
ポイント②:エンジニアがカジュアル面談をする
優秀なエンジニア採用成功のポイント2つ目はエンジニアがカジュアル面談を担当することです。エンジニアという職種は専門知識やスキルを必要とするため、深く技術にまつわる話をすることが魅力づけにつながります。
そのためエンジニアが面接やカジュアル面談に参加することで、技術力を測ると同時に自社に対する志望度を上げることができます。特に優秀なCTOや知名度のあるエンジニアであればより高い効果を期待できます。
ポイント③:自社の技術や開発組織について発信する
3つ目は、自社の技術や開発組織の文化について発信することです。いくら良い取り組みを行っていたとしても、発信しないと伝わりません。
テックブログやSpeakerDeckなどを活用して、エンジニアに向けた情報発信文化の醸成に取り組んでみましょう。
まとめ
今の時代に求められる優秀なエンジニアの定義や、採用を成功させるポイントについて解説してきました。エンジニア採用の領域は常にトレンドが入れ替わるため、”優秀さ”の定義も激しく変化しています。そのため”自社で活躍するために必要な知識やスキル”を明確にすることが何よりも大切です。ぜひ本記事を参考にして自社にとって優秀なエンジニアの採用に取り組んでいただければと思います。