技術選定が与える人材採用への影響とおすすめの選定基準(約3200文字)
こんにちは。株式会社オプティマインドSaaS事業部長の母利(もり)と申します。私は今オプティマインドというスタートアップでSaaS事業の統括をしていますが元々はエンジニアで2020年1月から社内でビジネスサイドに転向し、マーケ、IS、FS、CSの構築に携わっています。そんな中で元エンジニアだからこそ感じるビジネスサイドとの感覚のずれなどをnoteにまとめて発信しようと考えました。
対象読者
対象としている読者は
・スタートアップの経営者
・スタートアップやその他IT業界で働くビジネスサイドの人たち
です。
「経営者・ビジネスマンに知って欲しい、エンジニアのホンネ」というテーマでビジネスマン向けにエンジニアリングの基礎や考え方について発信して行こうと思います。
今回のテーマ
初回の今回のテーマは「技術選定と人材採用」です。
ビジネスサイドから見たらエンジニアがどういう基準でプロダクトを作るための技術やツールを決めているのかってなかなかわかりづらいのかなと思います。そんな中で「こういう選び方をするとやばい」や「こういう選び方がおすすめ」という考え方を人材採用という観点を軸に書いていこうと思います。
技術選定をした時点でエンジニア採用のTAM(total addressable market)が決まる
ビジネス用語でTAMという単語があります。そのビジネス・プロダクトが最終的にとりうる市場の広さを表す単語です。技術選定と人材採用の関係性にもこの概念が当てはまります。図で表すと以下のような感じです。
* ちなみに上の図は言語やフレームワークをごっちゃにしていたりフロントエンドやバックエンドの区別ができていませんが、わかりやすくするための例なのでそこは気にしないでください。
この図の丸の面積が採用の対象となる人材の数だと思ってください。例えばPerlというプログラミング言語があるのですがそれを「使う」と決めた段階で採用できる人材のTAMはPHPやJavaScriptを選んだ場合より圧倒的に小さくなってしまいます。では母数が多い言語やフレームワークを選べば問題解決かというとそうではありません。次に気をつけるべきは人材の質と技術的なトレンドです。
トレンドを追え、でも先取りのしすぎには注意
必ずしもその技術を使っている人の数が多いことだけで選出する技術を決めてはいけない理由として人材の質と技術的トレンドがあります。
開発においては様々な理由でその時々のトレンドがあります。
例えばパソコンのスペックが世界的に上がったりスマートフォンなどの新しいデバイスが普及したり、ブラウザのパワーが上がったりなど、いろいろな要因で新しいプログラミング言語やツールに人気が集まります。その結果古い技術は淘汰されていきます。
Webの開発で言うと、以前はRuby on RailsやCake PHPのようにWebフレームワークと呼ばれる技術が流行っていました。しかしユーザーのUX(ユーザーエクスペリエンス)への要求は年々高くなり、Webサイトもサクサク動くことが求められるようになりました。その結果SPA(シングルページアプリケーション)と呼ばれるブラウザの再読み込みを必要とせず、スマートフォンアプリのようにサクサク動くWebサイトを作れるツールの人気が高まりました。その結果Angular.jsなどの人気が高まり、現在はReactやVue.jsなどのWebフロントエンドフレームワークと呼ばれるツールが流行しています。
このように新しいフレームワークが流行するには流行するだけの合理的な理由があるのです。情報感度の高いエンジニアは新しい技術を使ってプロダクトを作った方が良い物を作れると考えますから新しい技術を積極的に学んでそれを使える職場で働きたいと考えます。こうした優秀なエンジニアを採用するためには古い言語やフレームワークを採用するよりトレンドとなっている技術を選ぶ方が効果的なのです。
ただしここで気をつけて欲しいのが新しければ良いという訳ではないということです。新しい技術は往々にして話題先行ということがよくあります。例えばAngular.jsというGoogleが開発していたフレームワークが流行っていましたが、ある日Angular2という新しいバージョンをGoogleとMicrosoftが共同で世に送り出しました。もちろん情報感度の高いエンジニアはこれに飛び付きましたが、今世界で流行っているのはReactやVueです。
このように新しい技術といっても「デファクトスタンダードが何なのか、何になりそうなのか」という視点を持たないと大きな判断ミスをすることになってしまいますのでご注意ください。
CTOもしくはエンジニアメンバーの「好きな技術」を選ぶのは危険
よく聞く話でCTOやエンジニアメンバーが特定の技術にとても詳しかったりその界隈で知名度があったりする場合があります。もしその技術が世間的にデファクトスタンダードで先ほど話したTAMが十分大きく、トレンドとしても最適であれば問題ありません。そういったホットな技術にCTOやエンジニアが秀でていればそれはその会社の採用面では大きな武器になるでしょう。しかしそうでない場合、先ほどお話ししたように注意をする必要がありますので、CEOやビジネスメンバーは上記のTAMやトレンドの話を理解した上で技術選定が適切かどうか一緒に判断するようにしましょう。
究極は人材採用しなくてすむのが一番
人材採用を視野に入れて技術選定した方が良い、と言ってきましたが究極的には人材を採用しなくて済むのが一番です。これはどういうことかというと人間という不確実なリソースに頼るよりもシステムに任せた方が安全で安価ということです。
例えば、本来プロダクトを作る際はフロントエンド、バックエンドと分けて人材採用し、フロントエンドはユーザーに見える部分、バックエンドはデータベースの設計やフロントエンドへのデータの受け渡しの部分を担当することが多いですがBaaS(Backend as a service)と呼ばれるツールを使えばバックエンドの開発をある程度省略することが可能になります。←もちろんBaaSを採用することが適切かどうかはプロダクトや会社の状況によります。
このように技術選定次第で採用が必要になるかならないかも決まってくるほど技術選定は大切です。そこはシステムで代用できないかという視点を持ちましょう。
採用した技術は後から変えられる?
採用した技術が永遠にデファクトスタンダードであり続ける、ということはあり得ません。どれだけ一世を風靡した技術でもそれを上回るメリットを備えた技術が生まれ、古い技術は淘汰されていきます。そういった際に気になるのが「採用した技術は後から変えられるのか?」というところだと思います。結論から言うともちろん「変えられます」。ただ大なり小なり技術を変える際にはコストが発生します。そのコストが発生する前提で技術選定をするか、人材採用をするかしないかでは大きな違いが生まれます。新しいトレンドは古いトレンドの延長線上で生まれるものなのでそのトレンドの文脈を理解して技術選定をするようにしましょう。また、そういった技術の移り変わりについていける人材を採用しましょう。
まとめ
大切なのは、人材採用と事業の成長を見越して常に最適な技術選定を心がけることです。CEOやビジネスサイドの人たちは技術選定をエンジニアの領分だと思って遠慮せずに、人材採用など会社の行く末を左右する重要な決定事項だと考えて積極的に議論するようにしましょう。
最後の挨拶
この記事が世の経営者、ビジネスマンの方達が技術選定の際にエンジニアと議論するための参考になれば幸いです。今後もエンジニアの視点から見て経営者、ビジネスマンの方に役立つ技術的な記事を書いていければと思いますのでnote、Twitterのフォローよろしくお願いします!
この記事が気に入ったらサポートをしてみませんか?