世界を動かす技術を、日本語で。

開発者の陳腐化に関する神話

2025年5月27日原文(alonso.network)

概要

  • 新技術は「開発者不要」を謳うが、現実は専門性の変化と進化
  • NoCodeやクラウドも、職種の消滅ではなく再定義・高給化を促進
  • AI支援開発も同様に、エンジニアの役割変化とスキルアップが必須
  • 本質的な価値は「コードを書く」ではなく「システムを設計する」能力
  • AIでは代替できない「アーキテクチャ設計」力の重要性

NoCodeからAI支援開発までの変遷

  • 数年ごとに登場する「開発者不要」技術の流行
    • NoCodeクラウドAI支援開発 などの例
  • 派手な見出しと経営層の期待、コンサルタントの活発化
  • 技術導入後の現実は「置き換え」ではなく「専門性の変化」
    • 新たな職種や専門家の誕生
    • 旧来より高い給与水準
  • NoCodeは「NoCodeスペシャリスト」や「バックエンド統合者」の誕生
  • クラウドは「システム管理者」から「DevOpsエンジニア」への進化
  • AI支援開発は「AIを使いこなすエンジニア」への変化

置き換えの約束と現実

  • NoCode/LowCode革命
    • ドラッグ&ドロップで誰でもアプリ開発可能という幻想
    • 実際はデータ設計や既存システム統合、例外処理など新たな課題
    • 「NoCodeスペシャリスト」の登場と高給化
  • クラウド革命
    • クラウド導入で「管理者不要」との期待
    • 実際はシステム管理の複雑化と「DevOpsエンジニア」への進化
    • インフラ自動化や分散システム管理など新たな専門性
  • オフショア開発の波
    • 人件費削減の期待と現実のコミュニケーション・品質課題
    • 効果的なソフトウェア開発には深い文脈理解と継続的連携が不可欠
    • 分散チームや明確な責任分担、アーキテクチャ重視の流れ
  • AIコーディングアシスタント革命
    • 「AIがコードを書く」幻想と現実のギャップ
    • AI生成コードの検証・修正に多くのシニアエンジニアが必要
    • 経験者ほどAIの価値を引き出せるが、全体設計は困難
    • AI支援のみで構築されたシステムは一貫性や拡張性に課題

AI時代の本質的変化

  • 「AIが開発者を置き換える」論の誤解
    • コードは資産でなく負債、保守・修正・セキュリティ対応が必須
    • 本当の資産は「ビジネス機能」
  • AIでコード生成が容易になるほど「負債」も増加
    • 負債管理・最小化の戦略的スキルがより重要
  • AIは部分最適化は得意だが、全体設計は苦手
    • サービスの存在意義やシステム全体の連携設計は人間の役割
    • 実装速度が上がるほど設計ミスが致命的に
  • 使い捨てのWebサイトなら問題ないが、長寿命システムでは大きなリスク

AI時代に生き残るスキル

  • 技術の進化で職種やスキルは高度化・抽象化
    • システム管理者→DevOps、バックエンド開発者→クラウドアーキテクト
  • AI時代に最も価値が高まるスキルは「システムアーキテクチャ設計」
    • AIでは代替できない本質的価値
  • コードを書く力より「システム全体を見渡し設計する力」が不可欠

Hackerたちの意見

コードは資産じゃなくて、負債だよ。 そうそう、これ。100%同意。プログラムは、できるだけ少ないコードで目的を果たすのが目標なんだよね。AIはその逆をやってる。コード生成が簡単になった今、負債が増えすぎるのを防ぐ自然な制約がなくなっちゃった。

生産性の逆説への答えは、技術の進歩がシステムの複雑さを増して、技術自体の効率向上を相殺しているってことかもね。

いい引用だね。特にビジネスの観点から見ると、ほぼ真実だと思う。俺はコードをクリエイティブな表現、つまりアートの一形態として見てる。コードを書くのが好きなのは、自分や他の人にとっても読みやすくてエレガントな方法で解決策を表現できるから。ちょっと浅いけど、エレガントに書かれたコードを読んだことがあるなら、その良さはすぐにわかるはず。

でも、コードが簡単に置き換えられるなら、なんでそれが負債になる必要があるの?何か問題が起きたら、次の世代の「プログラマー」がAIにコードを再生成させるだけじゃん。

昔の人たちがMS FrontPageを使ってウェブサイトを作っていた頃を思い出すなぁ。HTMLは90%が無駄なコードだったよね。

ソフトウェアで最も価値のあるスキルは、コードを書くことじゃなくて、システムを設計することだ。 > そして、これがAIがまだ置き換えられない唯一のスキルなんだよね。でも、この記事ではそれが見えてこない。何度も繰り返すだけで、証拠もないし。逆に言うと、AIにアーキテクチャの設計を具体的に頼むと、出会った良い「アーキテクト」の30%が考えつくようなものよりも、ずっと良い結果が得られると思う。多くの人がAIにそういうことを明示的に頼んでないだけなんだよね。

アーキテクトが抱える問題の90%は、システムの要件や制約を理解し、それを表現すること、そしてそれが他のものとどう絡むかを理解することだよ。つまり、プロンプトを書くこと、答えを理解すること、反論することとかね。

それは、大部分の「アーキテクト」が実際にはあまり優れていないからだよ。ITインフラを実際に運用する知識がほとんどない候補者を面接したことがあるけど、彼らはそれが重要だとは思っていなかった。アーキテクトの役割を求めていて、ターミナルやYAML、データベースなんかには触れたくないって言ってた。彼らは真剣に、図表ツールやExcelで働きたいだけだと言ってたよ…。アーキテクトはマネージャーみたいなもので、実際には人々が想像するよりずっと難しいし、実際にその仕事をできる人はごく少数なんだ。

これが願望的思考ってやつだね。著者は自分のアーキテクチャスキルに誇りを持っているから、代替不可能だと思っているんだろう。もし彼らが最適化が得意だったら、最適化が代替不可能だと思うだろうね。

建築家って何?ああ、パワーポイントを書く人のことね。ちょっと話が逸れちゃった。

ちょっと違った視点で考えてみたいな。LLMは問題に対する中庸な解決策を生成するのが得意だと思う。なぜなら、それがトレーニングコーパスの大部分だから。一般的な「ベストプラクティス」を生成するんだよね。定義上、ほとんどの人間のアーキテクトよりも優れていることが期待される。一方で、彼らはトレーニングコーパスの外にある問題を解決するための第一原理からの推論が苦手だ。パフォーマンスに敏感なプラットフォームのような分野では、中庸な解決策が間違っていることが多くて、LLMには常に利用できるわけではないコンテキストや知識を使って設計作業をする高いスキルを持った人が必要なんだ。データベースカーネルを設計するのにLLMを使うことはできるかもしれないけど、それは比較的ナイーブなものになるだろう。なぜなら、トレーニングデータが最新の技術に近いことをするためには足りないから。

使い捨てのマーケティングサイトを作るためのエージェンシー業務 面白いね、最近、使い捨てのバイブコードのランディングページを修正するフリーランスの仕事をしたんだけど。確実に言えるのは、コントロールフリークが必ず余計な要求を出して、AIを混乱させてさらに大きな混乱を引き起こすってこと。そしたら、また私が直しに行かなきゃいけない。AIがどんなに賢くなっても、ソフトウェアの問題はほとんど技術的なものじゃないんだよね。問題は、偶発的な複雑さを生み出して、それを次の人に「必須」として押し付ける人たちなんだ。開発者の最大の資産は「ノー」と言うこと。AIもそれを学ぶかもしれないけど、競合するAIがいる限り、私たちはいつも「イエス」と言う方を選ぶことになると思う。

Hacker Newsで議論の続きを見る