エンジニアの争奪戦が激化しています。学習手段の増加や、エンジニアに対する社会のイメージが変化しつつあることもあり、広義のエンジニアの数は増え続けていますが、俗に言う優秀なエンジニアの需要は高まるばかりです。採用で優秀なエンジニアを見極めたり、そもそも応募を受けることが非常に難しいため、そのエンジニア不足に拍車をかけているように感じます。

変化の激しい時代、エンジニアリングリソースを確保することはビジネスの成長を大きく左右します。一方で、その採用にかかるコストや、エンジニアを100%活用できる環境の有無を考えると、必ずしもエンジニアを自社で抱えることがベストではない場合もあります。

今回は、開発リソースであるエンジニアを内部に持つべきか、外部に持つべきかについて、よく忘れられがちなポイントも含めて検討してみたいと思います。

Point. 1 コストだけの比較は意味がない

例えばエンジニア1人、という単位で比較したとき、求人媒体経由で自社人材として雇用するほうがコスト面では有利でしょう。安ければ30万円ほどでエンジニア1人が手に入り、いわば1ヶ月使い放題になるため、見かけ上のコストは低くなります。

ですが、エンジニアにはレベルがあります。30万円で1ヶ月使えるエンジニアもいれば、30万円では3日しか使えないエンジニアもいます。そして悲しいかな、その3日のパフォーマンスのほうが優れている場合もあるのが、テクノロジーの世界です。

また、一人のエンジニアの1ヶ月分を使えたとしても、本当に有効活用できていない企業が多いのも事実です。コードを書いている時間は週に1日ほどで、あとは会議に追われていたり、パソコンの修理などをしていたりと、純粋にエンジニアとしての活動をしている時間で比べるとさらに生産性が落ちます。

リソースが余っているからと、優先順位の低い仕事を任せているような状況では、会社全体の労働効率が低下します。仕事をさせるために仕事を作っている状態になっていてはまさに本末転倒です。エンジニアとして入社したのに、気づいたらパソコン相談室になってしまっているというのでは、本人も組織にとっても最適な状態とは呼べません。

外部に任せる場合は、自社内部で当然優先順位に厳しくなりますし、外部からもその作業の意味のチェックが入ります。結果的に最適解に全速力で進む状態ができあがり、そこに外部エンジニアのレベルの高さが加わると、自社で抱える場合よりもスピードが生まれることも珍しくありません。

Point. 2 外部化すると、調整から開放される

内部にエンジニアを抱えている場合、いつも問題になるのが、エンジニアの奪いあいです。各部署が各部署の都合でエンジニアに作業を依頼し、それぞれの優先順位で動くため、なかなか最適な状態になりません。また、作業依頼が重なることはしばしばで、そういったケースでは順番を待つためだけに1ヶ月かかるというケースも珍しくありません。人が足りないからと増員を要請しても、IT部署はIT部署の予算管理でやりくりしているため、そういった願いが叶うことのほうがまれではないでしょうか。

それぞれの部署がそれぞれの部署の都合を押し付け合うので誰のせいでもないのですが、いろいろなIT上の課題が多ければ多いほど、優先順位を話し合う会議の回数ばかりが増えて、なかなかどのプロジェクトも進まず、待ち列ばかり伸びるケースも珍しくありません。

外部化することで、この順番待ちの遅延をおさえることができます。もちろん、外部パートナーとして普段から連携をとっている前提にはなりますが、外部リソースだからこそ、変動的な開発リソースの使い方ができる場合があります。自社であれば開発が集中した場合は自社で採用や優先順位づけで悩まないといけませんが、そういったことを外部に委ねて、時間をお金で買うことができるというのは非常にスピーディーです。

Point. 3 外部開発チームとして組織に組み込む

ここまでの話は、従来の「依頼したいことが発生したら見積もりを依頼する」という協力体制ではなかなか難しいのは事実です。最近ではよりコミットした形態のアウトソーシングも多くでてきつつありますが、より深く、より密に連携する外部パートナーを探すことをおすすめします。

細かな作業レベルで依頼するのではなく、大きなゴールを共有し、その上で月単位、週単位で開発計画を立案、実行、レビューしていく関係が構築できれば、自社内エンジニアと変わらないスムーズさで、自社内エンジニアを超えうる質とスピードを実現できる場合があります。とりわけ、大規模な開発チームを組織できない少数精鋭の組織にこそ、機動力溢れる外部開発パートナーが機能するように思います。

ずっと遠隔でやりづらさがあるのであれば、週に一度や月に数回といったペースで、出社してもらうのも良いかもしれません。オフラインのコミュニケーションが行われることで関係構築や、連携がよりスムーズになる効果が期待できます。ただ、オフラインを求めると地理的な制約で協業できる外部スタッフが限られてくるため、一部の都市部を除き、基本はZoom等を利用したコミュニケーション程度にとどめおくことがちょうど良いバランスかもしれません。

流動化に強いフローを

人の流動性が高まってきました。今、重要な部分を担当しているエンジニアも、3年後にはいないかもしれません。主力エンジニアが抜けるたびに混乱、採用活動に疲弊し、開発方針もぶれまくるようでは、なかなか事業が成長しません。

もちろん、相性の良い外部開発パートナーを見つけるのは簡単ではありませんが、経営レベルの視点を共有でき、最短最適なルートで開発していける力をもった外部開発チームという存在は、開発にまつわる様々なストレスや問題を一気に解消する可能性をもっています。エンジニアの採用にこだわらず、質の高い開発リソースの確保、という一つ高い視点で是非検討してみてください。