技術は手段か目的か
創業初期など、エンジニアが一人か数人の状態であれば、そのエンジニアの得意分野を採用するのは合理的です。重要なのは、その技術があくまでも手段でしかないというコンセンサスがあること。
「Ruby がやりたいから Rails で」ではなく「Rails だと生産性が高いから、いち早く市場に打って出るには好都合」という理由がちゃんと出せるかどうかが大切です。
技術選択と採用の関係
技術選択は採用に大きな影響を与えます。例えば Ruby/Rails を選択した場合、競合する企業が数多く存在し、採用の難易度が上がります。
一方で Rust や Elixir など選択している企業が少ない技術は、独自性は出しやすい反面、求職者も少なく人材の流動性が低いため、人を増やして事業拡大するフェーズでは苦労することになります。
経営戦略との整合性
結局のところ、一番重要なのは経営戦略との整合性です。作るべきものの規模やスケジュール、想定される負荷から生み出される売上・利益、会社の評価、技術選択によって社内がどう変わるかまで、すべてを総合的に考えた上での最適解として技術を選択しなければなりません。
ケース別の考え方
スタートアップ初期: エンジニアがいれば得意な技術でいい。一番大事なのはプロダクトを世に出すこと。エンジニアがいないなら Rails をとりあえず選ぶのが無難です。
社内新規事業: 既存技術の活用が最効率。新技術への挑戦はオーバヘッドが大きいので、ステークホルダー全員の合意が必要です。
コードだけある放置サービス: 「リファクタリングしよう → 作り直そう → 気になってた言語でやってみよう」という流れになりがちですが、やるべきことを冷静に確認することが重要です。
銀の弾丸はありません。会社の置かれている状況と後先を考えながら選択してください。