※これは1エンジニアの不安と期待が混ざった個人的なポエムです。未来予測は大体外れるものですが、考える価値はあるかもしれません。
はじめに:簡単なfor文すら書くのが億劫になった
最近、簡単なfor文を書くのも億劫になっている自分に気づいた。
AIに聞けば3秒。自分で書けば30秒。この27秒の差が、5年後の自分を殺すかもしれない。
半年前の自分は、エラーメッセージを見れば原因が分かった。今の自分は、とりあえずAIにコピペする。この変化に、あなたも心当たりはないだろうか。
既に始まっている静かな変化
AIツールとの蜜月期
2024-2025年、GitHub Copilot、Claude Code、ChatGPT(Codex)、Gemini(CLI)、Cursor、Devin...などのAIツールは、もはや開発現場の標準装備となった。実際、生産性は飛躍的に向上している。
以前:1機能の実装に3時間
現在:同じ機能を30分で実装
しかし、この効率化の裏で、静かに進行している問題がある。
バイブコーディングの教訓
最近、「AIで生成したコードで痛い目を見た」という話を目にするようになった。
今はベテランエンジニアが「これはヤバい」と止めてくれる。でも、10年後は?
5-10年後に起こりうる未来
技術的特異点ではなく、依存の特異点
2025年:AIなしの開発が「非効率」とされる
2027年:新卒エンジニアの9割がAIネイティブ
2030年:手書きコードが「レガシー」扱い
2033年:レビューもAIが自律的に実施
2035年:???
開発スタイルの根本的変化
従来の開発
考える → 設計 → 実装 → テスト → デプロイ
(深い集中、職人的な達成感)
AI時代の開発
指示 → AI生成 → レビュー → 指示 → AI生成 → レビュー...
(浅いコンテキストスイッチの連続)
忍び寄る依存のメカニズム
スマホ依存との不気味な類似性
スマホ依存 | AI依存 |
---|---|
漢字が書けなくなった | コードが書けなくなった |
地図なしで移動できない | AIなしで実装できない |
ググれば分かる | AIに聞けば分かる |
記憶力の低下 | 実装力の低下 |
学習意欲の死のスパイラル
AIを使う
↓
楽を覚える
↓
勉強が億劫になる
↓
さらにAIに依存
↓
基礎力が低下
↓
勉強がより困難に
↓
完全依存
失われていく能力
半年のAI開発で既に感じる変化:
- 問題分解力:大きな問題を小さく分解する前にAIに投げる
- デバッグ力:エラーの原因を推測する前にAIに聞く
- 設計力:アーキテクチャを考える前にAIに相談
- 学習力:ドキュメントを読む前にAIに要約させる
なぜ止められないのか
囚人のジレンマ
自社:AIなしで品質重視開発(3ヶ月)
競合:AI使って高速リリース(3週間)
結果:市場を奪われる
全員がAIを使わなければ品質を保てる。でも、一社でも使い始めたら全員が使わざるを得ない。
生存戦略:二刀流の必要性
必須スキルセット
const survivingEngineer = {
leftHand: "最新AIツールを使いこなす", // 攻撃力
rightHand: "エンジニア基礎力を維持", // 防御力
balance: function() {
return this.leftHand && this.rightHand;
}
};
具体的な対策
1. 定期的なAIデトックス
-
週1回「AIなしデー」
- 金曜日はAIツールを封印
- アルゴリズム問題を手で解く
2. 学習方法の工夫
-
新技術は必ず手で学ぶ
Day1-3: 公式ドキュメントを読んで手実装 Day4-: 理解した上でAI活用
3. AI出力の深い理解
-
生成されたコードの完全理解
- なぜこの実装なのか説明できるか?
- 別の実装方法は?
- パフォーマンスの影響は?
4. 意図的な非効率
# 朝の儀式
$ echo "今日の最初の関数は手で書く" >> ~/.bashrc
現実的な最小限アクション
完璧を求めず、続けられることから
- 毎日5分:1つの関数を手で書く
- 毎回1回:AIの回答を疑って検証
- 毎月1冊:技術書を読む(流し読みでもOK)
新しい時代の新しい喜び
開発の喜びの変質
批判ばかりでは建設的でない。新しい時代には新しい喜びもある。
従来の喜び
- 美しいコードが書けた
- 難しいバグを解決した
- パフォーマンスを改善した
新時代の喜び
- 的確な指示で期待以上の出力
- 複数AIを組み合わせて革新的解決
- 1日の作業を1時間に圧縮
プロンプトエンジニアリングという新スキル
good_prompt:
context: 明確な背景情報
constraints: 具体的な制約条件
examples: 入出力の例
edge_cases: エッジケースの考慮
bad_prompt:
"ユーザー認証作って"
Claude Codeの「Learning Mode」という希望
最近、Anthropicが興味深い機能を発表した。Claude Codeの「Output Styles」だ。
特に「Learning Mode」は、AIが意図的にTODO(human)
マーカーを残し、人間に実装を促す。これは、AIツール側も「完全依存」の危険性を認識している証拠かもしれない。
結論:5年後の自分への手紙
これはただの杞憂かもしれない。5年後、この記事を読み返して「何を大げさな」と笑っているかもしれない。
でも、もし笑えなかったら?
AIは自転車であって、足の代わりではない
自転車は便利だ。速く、遠くまで行ける。でも、自転車にばかり乗っていたら、歩けなくなる。自転車が使えない場合は億劫になる。
最後に
AIと共創する未来は避けられない。問題は、その過程で何を失い、何を守るかだ。
def five_years_later(current_me):
if current_me.has_both_skills():
return "市場価値の高いエンジニア"
elif current_me.has_only_ai_skills():
return "代替可能な作業者"
else:
return "もうエンジニアではない"
願わくば5年後の自分が、AIを使いこなしながらも、エンジニアとしての矜持を保っていることを。
そしてこの記事を読んだあなたも。
あなたは、AIとどう付き合っていきますか?
参考リンク
※この記事はAIと壁打ちして作成しました。