技術的夫妻とは何か
誰が言い出したのか定かではありませんが[1]「技術的夫妻」という表現があります。
あまり目にしたことがないという方もいらっしゃると思いますので、技術的夫妻がどのようなものかを説明していきたいと思います。
まず、よくある勘違いに「技術者同士の夫妻」との混同があります。
技術的夫妻と言った場合、夫妻そのものを指すことはなく、あくまで「夫妻」を比喩として用いるのが一般的です。
ではどのようなものを、技術的夫妻と表現すればよいでしょうか。
👨👩👦 夫妻とはどのような関係性か
国によって若干の相違はあるものの、夫婦とはパートナー同士が、ある種の契約状態にあると関係性いえます。
日本においても、婚姻を契機としてある一定の権利や義務が発生しますね。
技術的な夫妻といった場合も、法律上の婚姻とまではいきませんが、少なくとも簡単には解消できない程度には両者が密接な関係にあることが求められるでしょう。
そう考えると、たとえばつぎのようなものが「技術的な夫妻」となりえる関係といえそうです。
- プログラミング言語と、その言語を使用して開発されるフレームワーク
- 自社のサービスと、それを構成するプログラミング言語やフレームワーク
- 自社のサービスと、技術的な基盤となる IaaS, BaaS, SaaS 等
いずれもお互いが一定程度相手方に依存している関係にあり、影響を及ぼし合う関係性から夫婦という表現が成立しそうに思えます。
一方で「夫婦」と表現する以上、絶対に解消できない関係性もまたふさわしくないのかもしれません。
とすると先頭の言語とフレームワークの関係は、技術的な夫妻とあえて表現するまでもない関係性と考えることもできます。
以降、自社サービスで利用する言語・フレームワーク・その他の基盤となる各種のサービスを中心に説明を続けます。
🌐 自社サービスの技術的夫妻を考える
自社サービスで導入する技術を選択できる場合、それが技術的な夫妻となり得るかどうか、なり得る場合それが与える将来的な影響や想定にはどのようなものがあるかを充分に検討する必要があります。
プログラミング言語やフレームワークにおいては、人材採用にも影響してくる面があり、ビジネス面からの判断も必要になってくるケースもあります。
多くのケースで、ある程度の決定事項として扱われていることもあることから、両者が技術的夫妻以上の関係性、つまり親子のような血縁的な関係性の面がなくはありません。
選択をし、その結果生じるあらゆることに責任を持つという意味では、上述の3項目のうちの最後の項目こそ「技術的な夫妻」という表現を用いて何かを論ずるにあたり相応しいものといえる気がします。
たとえば AWS, Firebase, Supabase, Netlify のようなものから GitHub, Stripe のようなものまで、幅広く「技術的夫妻」と表現しその利用の是非を議論してよいものでありましょう。
🗝 技術的夫妻とベンダーロックイン
ここまでの流れから、技術的夫妻といえる関係にあるものは、ベンダーロックインの問題と向き合う必要があるものともいえそうです。
依存が強ければ強いほど、簡単に乗り換えが可能なものではなく、短期と長期の両方の視点から今後の方向性を決めていくことになるでしょう。
慎重な判断が必要であることは論をまちませんが、近年では Big Tech と呼ばれる資金力の大きな企業が提供するサービスも増えました。
10年・20年といった期間で優位であるかは分かりませんが、3年・5年といった期間[2]であれば代替手段を常に頭に入れつつ使い続けることは問題にならないケースがほとんどだと思います。
せっかく選択した関係性ですから、少しでも長く良好な関係でいたいものですね。[3]
そんなことを考えた某月某日。バグと格闘しすぎて現実逃避で書いたポエムでした。
Discussion