優秀なエンジニアの定義

今回は、優秀なエンジニアの定義についてお話しようと思います。
皆様の開発チームには、優秀なエンジニアはいますでしょうか。または、今まで優秀なエンジニアと一緒に働いたことがありますでしょうか。
優秀と言われるエンジニアは、あまり多くいないと思いますが、今までの経験則から10人いたら1~2人は優秀なエンジニアと言われるくらいの比率で、存在しているかと思います。
優秀なエンジニアと一緒に働くことは、チームにとって、とてもメリットのあることで、過去にわからないことを教えてくれたり、何か問題が起きた際にサクっと対応してくれたりというようなことがありました。
それでは、Subroqの考える優秀なエンジニアの定義を紹介していきます。
前提として、関わるプロジェクトによって優秀の定義が変わると思っているので、受託開発と自社開発、それぞれにおける優秀を紹介します。
受託開発
1. リカバリ処理を最後まで責任もって対応してくれる
2. 無理な要件に対しても折衷案などで提案してくれる
自社開発
1. 0→1のプロトタイプをサクッと作ってくれる
2. 急遽な仕様変更などに対しても柔軟な対応をしてくれる
これらについて説明していきます。
[受託開発] 1. リカバリ処理を最後まで責任もって対応してくれる
受託開発の場合、何か問題が発生すると各所への連絡や、その問題の影響範囲の調査など工数がとてもかかることが多いです。
例えば、何かのデータ連携や集計処理が失敗しており、それをリカバリ対応が必要になったとします。その際に、優秀なエンジニアは、影響範囲やどのくらいで復旧できるか、また、リカバリ作業中もどのくらい進捗しているかを逐一共有してくれます。さらに、リカバリ完了後も、後日問題なく動いているかの確認や、どのような恒久対応を行うかも提案してくれます。
これは、チームで開発しているという意識とサービスへの影響の理解、また、責任感がないとできないです。
中には、報告なしにリカバリ作業だけ行い、完了後も連絡せずに、逆にチームが混乱するなんてこともありました。
このように優秀なエンジニアは、周りへの共有などチームとして働いていることをきちんと理解していて、最後までしっかり対応するような責任感を持っています。
[受託開発] 2. 無理な要件に対しても折衷案などで提案してくれる
受託開発を行うと、技術的な問題やスケジュールの問題などから、実現できないような要件が降ってくることがあるかと思います。
これに対しては、できないと跳ね返すのではなく、顧客が何をやりたいかをきちんと理解して、技術的な問題とスケジュールの問題を解決するような折衷案を出せる人が優秀なエンジニアだと思います。
できないと突きかえすことによって、営業側との関係が悪くなったり、案件自体がなくなることもあるかと思います。中には、それでも問題ないような案件もありますが、感情的にならず、なにが難しいか、どこまでならできるかなどをきちんと説明する能力がある人は、チームメンバーからも優秀と認められることが多いです。
[自社開発] 1. 0→1のプロトタイプをサクッと作ってくれる
自社開発の場合、要件が定まっていなかったり、アイデアのみで開発を行うことがあるかと思います。
そのような、なにもないところから開発する工程(0→1)をサクッと対応できる人は優秀なエンジニアだと思います。これを実現するには、インフラからアプリケーションまでの幅広い知識が必要です。
要件が固まらないと開発ができないというのではなく、自社開発なので、自分も当事者としての意識をもって臨まないと、このように素早い対応を行うことはできないです。
プロトタイプがあるとそこからさらに議論や要件が詰まるため、製品として完成するまでの時間も短くなる可能性があります。
[自社開発] 2. 急遽な仕様変更などに対しても柔軟な対応をしてくれる
自社開発を行っていると、急遽の仕様変更が多々あると思います。その際に、フェーズを分けた対応や機能を実現することができる最小の開発を行い、その後にきちんと対応するような柔軟な発想ができるエンジニアは、優秀だと思います。
「今回の要件は、仕様変更だからすぐには対応できない」という考えではなく、自社開発なので、自分もそのサービスを提供している一員としての意識を持つことでこのような対応ができるようになると思います。
受託開発でも自社開発でも、圧倒的な技術力をもったエンジニアはもちろん優秀なエンジニアだと思いますが、それ以外にも今回あげたような、考え方や対応を行うことができる人も優秀なエンジニアだと思います。
いかがでしたでしょうか。皆様の周りにも今回あげたようなことを対応してくれる優秀なエンジニアはいますでしょうか。
もし、優秀なエンジニアを採用できない、または、採用を手伝って欲しい、チームビルディングを手伝って欲しいなど、フリーランスエンジニアの採用/活用にお困りの方は、是非ご一報ください。