ソフトウェアエンジニア人生の考え 2025/7
新卒から8年間ほどソフトウェアエンジニアとして働いてきました。
ですが、最近、理想と現実の乖離が激しく、心が壊れそうです。
自分が何をしたいのか、どうしたいのかのベースを作るために、いつも考えている考えの根本をまとめます。
VUCA 時代のソフトウェア開発
スピード重視の開発
VUCA(Volatility:変動性、Uncertainty:不確実性、Complexity:複雑性、Ambiguity:曖昧性)の時代において、サービスを思いついてからプロダクト化するスピードは非常に重要だと考えます。
理由:
- ターゲットの評価軸は常に変化している
- プロダクトリリースに時間がかかると、市場の需要に合わなくなるリスクがある
- 遅れることでマネタイズの機会を逃す可能性がある
小さく始めて成長させる方法論
効果的なプロダクト開発のアプローチ:
- 小さく作ってリリースする
- ユーザーからのフィードバックを収集する
- フィードバックに基づいて改善・拡張する
このアジャイルな開発サイクルにより、市場の変化に素早く対応し、ユーザーのニーズに合わせたプロダクト開発が可能になる。
小さく作ってリリースし、フィードバックを基に改善を繰り返していくことが、特に新規事業や成功が不確実なサービスの継続には重要です。
アジャイルプラクティスの活用
上記の方針を実現するための手段として、各種のアジャイルプラクティスが有効です。これらのプラクティスは、迅速な開発サイクルとフィードバックループの確立に貢献します。
柔軟な意思決定の重要性
方法論にこだわらない姿勢
意思決定においては、特定の方法論や技術スタックにこだわらないことが重要です。例えば:
- AWS だけにこだわると、他の優れたサービスの選定ができなくなる
- 特定のプラットフォームへの固執が方針(小さく素早く作る)に反するケースが発生する
- 不要な作り込みが発生し、開発速度が低下する可能性がある
ベストスイート vs ベストオブブリード
技術選定には大きく二つのアプローチがあります:
ベストスイートアプローチ
特徴:
- AWS などのハイパースケーラーのサービス群で固める方法
- 密なサービス間連携をハイパースケーラーが担保
課題:
- ベンダーロックイン
- 技術選択の幅が狭まる
ベストオブブリードアプローチ
特徴:
- 各分野で最適なツール・サービスを選定
- 技術力を活かした最適な組み合わせ
マルチクラウド戦略
ベストオブブリードを実現する手段として、マルチクラウド戦略が有効です。
利点:
- 各クラウドの強みを活かした最適なアーキテクチャ設計が可能
- ベンダーロックインの回避
- 適切なツールを使うことで「小さく素早く作る」という方針を実現
課題:
- より高い技術力が求められる
ソフトウェアエンジニアとして、高い技術力でマルチクラウドを実現し、最適なツールの組み合わせで価値を生み出すことを目指しています。
内発的動機に基づく技術選定
エンジニアの幸せと技術選定
自身の好きな技術を使えることは、エンジニアとしての大きな幸せと考えています。これには以下の理由があります:
- VUCA の時代では技術的なブレイクスルーがいつ起きるかは予測不可能
- 外発的な理由のみによる技術選定には継続性が欠ける場合が多い
- 内発的動機による技術選定は、高いモチベーションの維持につながる
技術の収斂と深い専門性
歴史的に見れば、どのような技術であっても最終的には同じような形に収斂していく傾向があります。このような観点からも:
- 好きな技術を深く追求することで独自の価値を生み出せる
- 専門性の高いスキルを持つことで技術的優位性を確保できる
- 技術への情熱がビジネスの推進力となり得る
私の目指すエンジニア像は、自らの情熱に基づいて選んだ技術を深く追求し、その技術力でビジネスを駆動していくことです。これは単なる個人の満足だけでなく、持続可能なイノベーションの源泉にもなると信じています。