/note/tech

What's gonna happen to software engineers?

要約:

■ 1. 著者の立場と問題提起

  • 著者はソフトウェア開発者自身であり、自らの存在に関わる問題として将来を考察している
  • 真の答えは誰にも分からないが、推測と思索が現実形成に寄与する
  • ソフトウェア開発者を一括りに論じることは無意味であり、個人の出発点によって行く末は異なる

■ 2. 開発者の2分類

  • 「手段としてのソフトウェア」型:
    • コードを用いてものを作ることが目的
    • ノーコードツールで同じものが作れるなら、それを選ぶ可能性がある
    • Claude Codeの開発者Boris Chernyや著者自身もこのカテゴリーに属する
  • 「目的としてのソフトウェア」型:
    • 数学・アルゴリズム志向が強く、コーディング自体を楽しむ
    • 美しく高性能なコードを書くこと自体に価値を見出す
  • この分類は「何が動機でこの分野に入ったか」を示すものであり、実際の業務内容とは必ずしも一致しない

■ 3. AIが「手段としてのソフトウェア」型開発者にもたらす変化

  • 恩恵:
    • プロトタイプ開発の加速、未知の言語や分野への進出が容易になる
    • 「ものを作る」という当初の目標がより達成しやすくなる
  • 脅威:
    • 従来コードを書けなかった人もプロダクトを作れるようになり、開発者の希少性が低下する
    • ドメインエキスパートが開発者を必要としなくなる一方、開発者は依然としてドメイン知識を必要とする

■ 4. シナリオ1: 現状維持(Business As Usual)

  • 現状でも開発者はAIを活用した場合、非開発者より圧倒的に優れたアウトプットを出せる
  • システム設計、データモデリング、ツール選定の知識は依然として重要
  • AIの進化が近く頭打ちになると仮定した場合、仕事の内容は本質的に変わらない
  • 過去のIDE・クラウド・コンテナと同様、AIも一つの変化点にとどまる
  • 適応は必要だが、抜本的な変化は不要

■ 5. シナリオ2: プロダクトビルダーへの転換

  • AIの進化により誰でも開発が可能になる可能性があるが、全員がプロダクト開発を望むわけではない
  • ノーコードであっても製品開発には設計・思考・デバッグに多大な時間を要し、敬遠する人は多い
  • ユーザーは意見を持った(opinionated)ソフトウェアや信頼性・セキュリティ・サポートに対して対価を払い続ける
  • 料理の自動化が進んでも料理をしたくない人が存在するのと同様に、ツールが進化しても自分でプロダクトを作らない人は残る
  • 開発者の役割は「プロダクトビルダー」へと移行し、コードよりも設計・心理学・AIとの協調が重視される
  • 開発者の数が増えるか減るかは不明だが、プロダクトビルダーの需要は存続する

■ 6. シナリオ3: PMへの転換

  • AIがコーディングを代替することで、開発者はユーザーインタビューや上位のプロダクト思考に時間を割けるようになる
  • 開発者がエージェントチームを管理するPM的役割を担う可能性がある
  • 方向性の決定と調整は、人間とエージェントの混成チームにおいてより重要になる
  • 過去の技術進化でソフトウェアが増え、開発者・PMが増加したように、今回も類似の拡張が起きる可能性がある
  • プロダクト志向の開発者はエージェントを指揮するPMへと移行し得る

■ 7. 著者の展望

  • 論じた3シナリオはいずれも「ソフトウェア領域内」での変化を前提とする
  • ソフトウェア外への大規模移行の可能性もゼロではないが、著者には想像しにくい
  • 変化は突然ではなく段階的であり、想定タイムラインは5〜10年
  • SF(サンフランシスコ)と世界全体の間には技術普及速度の大きな格差がある点を見落としがちであると指摘する
  • 楽観的な姿勢を選択しつつも、AI動向に対する一定の懸念も抱いている