概要
- AI革命 が進行中で、ソフトウェア開発職も大きく変化
- 「コーディングが簡単」という見方への 反論 とその根拠
- コーディングと企画・顧客理解の 両立の重要性 を強調
- 変化に適応し続けることの 必要性
- 自己理解・責任感 をAIに委ねない姿勢の推奨
ソフトウェア開発職の現状と誤解
- AIの登場により ソフトウェア開発業界 が大きく揺れている現状
- 「コーディングは簡単」という意見への 疑問提起
- 高い需要と高給、過労や燃え尽き症候群の実態
- Clean CodeやThe Pragmatic Programmerなど 分厚い専門書 の存在
- Bootcampや大学の 専門教育 の必要性
- CarmackやFabrice Bellardのような 天才プログラマー への評価
- AIや他者による コードのコピー への反発
- コーディングが簡単なら バグだらけのソフトウェア がなぜ多いのか
- 「何を作るか決めるのが難しい」という意見への 検証
- プロダクトマネージャーや市場調査担当への評価の低さ
- 「顧客理解」が難しいならなぜ ビジネスアナリスト は軽視されるのか
- 営業が新機能を約束した際の エンジニアの不満 の矛盾
- コーディングが簡単なら バリエーションを量産 すればよいはず
ソフトウェア開発における本当の難しさ
- 多くの開発者は 顧客やステークホルダー との対話を好まない傾向
- 「優先順位の明確化」=「指示がコロコロ変わらなければいい」という現実
- 「問題解決が仕事」と言いながら 技術的議論 に夢中な開発者の矛盾
- 「ソフトウェア開発は理論構築」とする意見の存在
- 顧客理解と 技術的熟練 の両立の難しさ
両立の重要性と今後の展望
- ユーザー理解と 良いコード の両立がプロジェクト成功の鍵
- 「コーディングは簡単」「コードは芸術」の 極論 は現実逃避
- 変化の真っただ中で 適応力 が不可欠
- LLMやAIの流行に盲従する必要はないが、 変化を認識 し備えることが重要
変わらないもの・変わるもの
- 変わらないもの
- ソフトウェアは今後も 複雑化
- メンテナンスや ビットロット、エントロピーの存在
- 技術の進化と 抽象化の進行
- ユーザーの要求水準の上昇と 伝達の難しさ
- 顧客とユーザー、ビジネスと顧客の ギャップ
- 時代の流行 や「スネークオイル」の存在
- 変わるもの
- パンチカードやCOBOLなど 古い技術の消滅
- 過去の技術的苦労の 価値の変化
- 新旧技術の 世代交代
成長・適応のための行動指針
- 変化を受け入れ、好奇心と批判精神 を持つこと
- 技術・経済・社会の 変化のスピード を常に俯瞰
- 隣接分野 (UX、顧客インタビュー、ビジネス戦略など)への理解を深める努力
- ジュニア開発者は 基礎技術 (ポインタ、再帰、ネットワーク、アルゴリズム)の習得
- なぜ・どうして を恐れずに追求
- 推奨書籍例
- Structure and Interpretation of Computer Programs
- Cracking the Coding Interview
- The Mythical Man-Month
- Working Backwards
- Team Topologies
- 7 Powers
- The Soul of a New Machine
- Obviously Awesome
- The Design of Everyday Things
- Don't Make Me Think
- Continuous Discovery Habits
- The Mom Test
最後に
- 理解・判断・共感・センス をAI任せにしない姿勢の重要性
- 責任感 を放棄せず、「ただの肉体的な代理人」にならない自覚