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

AIがコーディングを容易にしたが、エンジニアでいることは難しくなった

概要

  • AIツールの進化 によりコード作成のハードルは大幅に低下
  • エンジニアの業務負荷や期待値 は逆に増加し、複雑化
  • 職業的アイデンティティの危機 やバーンアウトが深刻化
  • 役割の拡大・曖昧化 が進み、専門性の希薄化と疲弊
  • AI活用によるパラドックス と「加速の罠」にエンジニアが直面

コードは簡単になったが、仕事は難しくなった現実

  • AIアシスタントやエージェント による自動補完・機能生成の普及
  • 自然言語で要件を伝えるだけでコードが生成 される時代の到来
  • コード作成の障壁が史上最低レベル に低下
  • しかし エンジニアの日常業務は複雑化・負荷増大
  • 業界全体が新ツールの副作用を考慮せず導入 した結果の現実

ベースラインの変化と「誰も教えてくれなかった期待値の上昇」

  • 2026年のエンジニアの期待成果は2023年比で大幅増
  • AIによるタスク高速化が即「もっとやれ」の圧力 に直結
  • ハーバード・ビジネス・レビュー2026年2月の調査
    • AI導入で業務終了が早まるのではなく、業務量が増加
    • 自己強化的サイクル:AIで加速→期待値上昇→依存度増→業務範囲拡大
    • 83%がAIで業務負荷増、バーンアウト62%(一般職)、C-suiteは38%
  • 経営層と現場のギャップ
    • リーダーは「楽になった」と思い込むが現場は疲弊
    • 信頼・士気・人材流出リスク
  • 別調査ではエンジニアの2/3がバーンアウト、43%が経営層の認識不足を指摘
  • ベースラインは上がったが、誰も「仕事が根本的に変わった」と認めない現実

語られないアイデンティティクライシス

  • 多くのエンジニアは「コードを書くこと」自体が動機
  • AI活用で「書く」から「管理・監督」への役割転換が進行
  • 「コードを書く価値は下がり、システムを指揮する価値が上昇」への変化
  • 一部には進化と感じる者もいるが、多くは「職能の喪失感」
  • ビルダーからレビュアーへの転換、ものづくり感覚の希薄化
  • 本質的な職業アイデンティティの喪失、急激な変化への戸惑い
  • 過去の技術革新とは質的に異なり、「エンジニアである意味」自体が問われる状況

拡大する役割とスコープクリープ

  • コードを書く量は減るが、周辺業務は増加
  • プロダクト思考・設計判断・コードレビュー・文脈切替・計画・テスト監督・リスク評価などの負担増
  • AIによる実装高速化でボトルネックが実装以外にシフト
  • 従来は各専門職が担っていた業務がエンジニアに集約
  • 職種境界の曖昧化、「T字型」「フルスタック」への期待
  • 45%のエンジニア職が複数領域のスキルを要求
  • 実態は裁量や報酬が増えず、役割だけが拡大するスコープクリープ
  • 結果として「何も深くできず、バーンアウト」
  • 生き残るのは「ノーと言える」「優先順位付けができる」エンジニア

監督パラドックス:AIコードレビューの難しさ

  • AI生成コードのレビューは自分で書くより難しい
  • 自作なら設計意図・判断を把握、AI生成は文脈不明
  • 統計モデルが生成したコードは「なぜこうなったか」が不透明
  • Harness調査:67%がAIコードのデバッグ、68%がレビューに従来以上の時間を要する
  • コードレビューの本質は「文脈共有」だが、AI生成はそれを欠く
  • AIでコード量は増えるが、品質保証負担・文脈維持負担も増大
  • 生産ボトルネックは「書く」から「理解する」へ移動、理解速度は上げにくい

加速の罠と見えない負荷

  • AIで一部タスクは加速、結果「余力がある」と見なされ追加業務が発生
  • AI依存→コード量増→レビュー・文脈維持・システム理解の負担増
  • 「ワークロードクリープ」:個々の変化は些細でも、積み重ねで持続不能なペースに
  • AI前は思考・タイピング速度が自然な「リミッター」だったが、今は「認知的限界」が唯一の制約
  • 多くのエンジニアが「過去最高の生産量」と「過去最高の疲弊」を同時に経験
  • 生産性向上の「罠」に陥る現場

Hackerたちの意見

これ、めっちゃ共感できる。去年、AIを使って7つのサイドプロジェクトを進めたんだけど、コードを書くのが10倍速くなった。でも、逆に気づいたことがあるんだ。アイデアから製品を出すまでのトータルの時間はほとんど減ってない。なんでかっていうと、ボトルネックはコードを書くことじゃなかったから。問題を理解すること、アーキテクチャの決定をすること、エッジケースのデバッグ、そして一番大事なのは「何を作らないか」を知ることだった。AIのおかげでコードを早く書けるようになったけど、その分、もっとコードを生産するようになった。つまり、バグが増える面積が広がって、メンテナンスの負担も増えて、複雑さが増すってこと。今は「コードを少なく書く」っていう規律が難しくなってる。コードを書くのがほとんどタダみたいなもんだからね。エンジニアとして成功するのは、複雑さを追加するコストがほぼゼロに近づいたときに、過剰設計の誘惑に耐えられる人たちだと思う。

問題は、AIが登場する前は、人口の1%が年に1つのサイドプロジェクトを作ることができたのに対し、AIの後では10%が年に10個のサイドプロジェクトを作れるようになったことだ。競争が100倍に増えた。悲観的な自分は、成功するためのチャンスの窓が狭まっている気がする。

自分もサイドプロジェクトを作ったんだけど、コードを自分の感覚で進めた。おそらく、1チームが6ヶ月かかることを、1ヶ月で自分で作った。ユーザーは少数だから、壊れるのを恐れてない。でも、プロの仕事のための自分のコードは、そんなに早く進めることはできない。何百万のユーザーに影響を与えるからね。企業がチームを丸ごと置き換えられると思っているのは本当にクレイジーだ。

なんで?それは、ボトルネックはコードを書くことじゃなかったから。常に問題を理解すること、アーキテクチャの決定をすること、エッジケースのデバッグ、そして最も重要なのは「何を作らないべきか」を知ることだった。私にとってはちょっと違うんだ。コードを書くことがボトルネックだった。エッジケースを解決したり、最適化を見つけたりすることに一番喜びを感じる。好きなプロジェクトは、既存のコードベースを渡されて、「火星と金星が対になったときに、再現できない変なバグが出るんだ」っていうタスクを与えられるとき。プロジェクトがゼロから始める必要があると、他の人よりも時間がかかる。アーキテクチャを考えたら、実装を書くのが退屈になっちゃう。AIのおかげで、これがすごく楽になった。成功するエンジニアは、どのツールをいつ使うかを知っている人たちだと思う。これはAI以前からそうだったし、AIはただのツールで、もっと多くの人が成功できるようにしてくれる。

結果を出すことが目標なら、アイデアを試すためにLLMを使うのは全然構わない。でも、私のサイドプロジェクトには正確に一つの目標があるとは言えないから、それはフェアじゃない。だから、すでにやり方を知っていて、何度もやったことがあることに関しては、AI生成のコードを使うことにしてる。AIを使うことで得られるのは、タイピングの時間だけ。その他のことは、開発者として成長するために頑張るよ、ありがとう。で、「でもアーキテクチャの決定とかがあるから、成長するでしょ」って言う人がいるかもしれないけど、それは元々あったことだし。練習が必要なら、マイクロスキルとマクロスキルの両方を練習するよ。

これに関してはもっと指標が必要だよね。HNでこの主張をしてる人たちをよく見るけど、絶対にそうだとは思えない。これだけは保証するよ…ストーリーは絶対じゃない。誰で、何に取り組むかによって、開発時間は遅くなることもあれば、同じか早くなることもある。でも、わからないのはその割合。60%の人には早いのか?70%、80%?これについてはまだ確実にはわからない。でも、君の直感は完全に間違ってると思うし、90%の人は全体的に早い…かなり早いと思う。バグが増えたり、メンテナンスのハードルが上がるのは同意するけど、それでも早いんだ。LLMもバグを潰せるし、しかも人間よりずっと早いことが多い。私のエージェント設定は、問題に関するスラックのメッセージを読み取って、チケットを作成し、コードを修正して、PRを一発で作成するんだ。

幸いなことに、AIは複雑さを減らすためにも使える。私がよく気づくのは、ちょっと見栄えの悪いAPIを使ったり、一般的なコードを複製したりして、依存関係を引き込まないようにすること。例えば、UIフレームワークを避けて、シンプルなウェブプロジェクトでDOMに直接アクセスしたり、標準ライブラリのCLI引数パーサーを使ったり、left-padのような依存関係を引き込む代わりにシンプルなヘルパー関数を追加したりする。依存関係の管理は、私のプロジェクトの中で大きなメンテナンスの負担の一つだから(更新したり、APIを考慮したり、過剰一般化による複雑さ)、これがかなり助けになる。私の考えについては、https://www.karl.berlin/simplicity-by-llm.htmlも見てみて。

「私は過去1年でAIを活用して7つのサイドプロジェクトを出荷した。でも、逆に直感に反することに気づいた。アイデアから出荷された製品までの総時間はほとんど減らなかった。」 > なんで?ボトルネックは決してコードを書くことではなかったから。AIの前に2ヶ月ごとにサイドプロジェクトを出荷してた?もしそうじゃないなら、このコメントは認知的不協和に聞こえるよ。あなたの主張は、AIが12ヶ月で7つのプロジェクトを出荷するのを可能にしたってことだよね。これは、AI以前にはやってなかったことだよね?だから、AIはプロジェクトを早く出荷するのを助けてるの?AIが万能ではないのは同意するし、熟練した開発者が必要なのも同意する。でも、AIが早く出荷するのを助けてるって言った直後に、AIが早く出荷するのを助けてないってどうやって言えるの?

「ボトルネックは決してコードを書くことではなかった。常に問題を理解すること、アーキテクチャの決定をすること、エッジケースのデバッグ、そして最も重要なのは、何を作らないかを知ることだった。AIはこれらのタスクでも助けてくれるけど、助けを求める時は、AIが助けられる形で頼まないといけないし、本当に知的であるとか、クリスタルボールを持っていると期待してはいけない。ボーナスとして、これらのことをエージェンティックなコンテキストに入れたら、コード自体も良くなるよ。一発で決めるコーディングはアンチパターンだね。」

新しいボトルネックはコードの所有権だね。長期的に維持するためには、それが何をしているのか、どう機能しているのかを理解しないといけない。LLMを使って維持しやすい状態にするのはできるけど、逆に維持しづらい状態からは抜け出せない。手に負えないことをやろうとするのは、今まで以上に危険だよ。

その通りだね。ただ、ツールに慣れれば慣れるほど、物事は良くなって速く進むと思う。ここ3年でこの分野はすごく進化してきたけど、最近は少し鈍化してきてる気がする。これっていいことだと思うよ。みんなが追いつく時間ができるし、新しいコーディングのパラダイムに適応するためのアプローチを洗練させることができるから。

このエッセイは、部分的にAI生成か、LLMを通してかなり編集された可能性があるってことは言っておく価値がある。いくつかのサインがあるんだよね(「XじゃなくてYだ」みたいな)。2015年から2025年の間はほとんど活動がなかったブログが、その後急に投稿やテキスト出力が爆発的に増えたのも、ちょっと怪しいよね。

Hacker Newsで議論の続きを見る