個人的AIコーディング元年の振り返り

できるようになった

  • ドメイン知識が必要ないものかつ、技術的に一定難易度のある問題などは単純作業になった
    • 事実上、Infrastructure as Codeのようなインフラのコードを書く/読むという仕事は単純作業になったと言い切っていいレベルまで進化した
    • インフラストラクチャの設定はドメインに依存しないため、精度が非常に高い
    • 仕様やシステムの挙動を理解したり、検証するのに時間がかかるイメージ
  • 小粒なライブラリを特定の言語でrewriteする
  • ちょっとしたAIツールの使いこなし

できなくなった

  • コーディング
    • 確実に落ちた、しかしいい時代になった
    • 読めるけど、以前ほど書けない

note.com

  • デバッグ
    • AIがデバッグまで押し通してくれるので、実践的な学びの機会が減った
    • TIL(Today I Learned)を意識する必要が出てきた

今後のソフトウェア開発で重要性が増すポイント

  • チームサイズを片手以内に収めること
    • 多くのケースで従来のTwo Pizza Teamは不要。One Pizza Teamに収める必要がある
    • AIエージェントもチームメンバーとみなして人数にカウントするぐらいの意気込みが必要
    • 合意形成のコストが人間よりもAIエージェントの方が圧倒的に低い
  • システム全体を俯瞰すること
    • ビジネスの性質を理解した上でのシステムのトレードオフの判断
  • システム設計
    • データモデリング/ドメインモデリング
    • API設計
    • なぜその設計にしたのか回答できる力
  • セキュリティ/QA/信頼性
  • 業務フローをエージェント中心に再設計して、押し通すこと
  • 問いを作ること
  • Vibe Codingで出力されたコードのお掃除
  • まずやってみること
    • 提案と同時にプロトタイプを持ってきて、合意形成を作る力
    • 動くものをベースに全てを議論する
  • LLMのトークンコストがスケールするか判断する力

重要だが、世の中の流れとして軽視される可能性があるもの

  • OSSのライセンス/エコシステム
  • Garbage in, Garbage out
  • セキュリティ
  • 新卒採用 / エンジニア教育
  • 健康

uiuret.hatenablog.com

  • 技術者倫理
    • e.g. チャレンジャー号爆発事故
  • アルゴリズムとデータ構造
  • AIに頼らないデバッグ経験
  • 世界的なエネルギー問題

simonwillison.net