8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AI時代のエンジニアロードマップ ―「速いのに弱い」を避けるためにやるべきこと

Posted at

背景

昨今、生成AIの台頭により、これまでのエンジニアに求められてきたスキルや成長プロセスが大きく変わってきていると感じます。
特に変化が顕著なのは、AI駆動開発による「形にするまでのスピード」 です。

私はインフラエンジニアからキャリアをスタートし、クラウドエンジニアとして経験を積んできました。
現在はバックエンド・フロントエンドの開発にも携わり、生成AIを活用しながら日々開発を進めています。

インフラやクラウドを中心に担当していた当時は、経験も浅く、何とかギリギリの速さでアウトプットを出している状態でした。
一方で現在は、アプリ開発という新しい領域に挑戦しながらも、生成AIの力を借りて年次に見合ったアウトプットを出せていると感じています。

その過程で気づいたのが、同じ生成AIを使っていても、新卒エンジニアと自分とでは未経験領域への取り組み方に明確な差がある ということでした。

抽象的に語りますと、AIは思考の補助に使い、人間側が思考主体であることを理解または意識しているかどうかが差を生んでいます。

本記事では、その差について整理し、
これから新しい領域にチャレンジしていく方の助けになればと思い、まとめています。


はじめに

まず最初に強調したいのは、ゴール自体は変わっていない ということです。

  • 生成AIがあってもなくても
    「自分で考えて、説明できるエンジニア」

変わったのは、
👉 そこに至るまでの道程(プロセス) です。


1. エンジニア成長の共通ロードマップ(抽象)

まず、時代や技術が変わっても共通する
エンジニアの成長プロセス を整理します。

成長は4つのフェーズで回る

本記事で扱うエンジニアの成長プロセスは、
デイビット・A・コルブ(David A. Kolb)が提唱した
「経験学習サイクル(Experiential Learning Cycle)」 をベースにしています。

経験学習サイクルでは、学習は次の4つのステップを循環することで深まるとされています。

経験(Experience)
内省(Reflect)
教訓・概念化(Conceptualize)
応用(Apply)

エンジニアリングにおける学習や成長は、このサイクルと非常に相性が良く、
実装・エラー対応・設計判断・改善といった日々の業務そのものが、この循環で成り立っています。

フェーズ①:経験する(Experience)

  • 実装してみる
  • エラーに遭遇する
  • サンプルコードやAIが生成したコードを動かしてみる

まずは 現象に触れること がスタートです。
理解できていなくても、「触った経験」が後の学習の材料になります。

フェーズ②:内省する(Reflect)

  • なぜ動いたのか、なぜ動かなかったのかを考える
  • 分かっていること・分かっていないことを整理する

フェーズ③:教訓を出す(Conceptualize)

  • 原因や仕組みを言語化する
  • 「このケースでは〇〇がポイントだった」とまとめる
  • 他のケースでも使えそうな考え方に昇華する

ここで初めて、
点だった経験が、再利用可能な知識に変わります。

フェーズ④:応用する(Apply)

  • 別の実装や仕様変更で試す
  • より良い設計や実装に活かす
  • 次のタスクで意識的に使う

教訓を新しい状況に適用することで、
学習サイクルは再び①に戻り、成長が加速していきます。


エンジニア成長ロードマップと経験学習サイクルの対応

エンジニアの行動 経験学習サイクル
実装・エラーに触れる ① 経験
振り返り・Whyを考える ② 内省
言語化・説明できる ③ 教訓
設計や次の実装に活かす ④ 応用

生成AI時代においても、この成長原理自体は変わりません。
変わったのは 各フェーズを回すスピードが極端に速くなったこと です。

だからこそ、意識的に立ち止まり、
この4フェーズを丁寧に回すことが重要になります


2. 従来のロードマップ(生成AIなし)

生成AIがなかった時代、エンジニアの成長は
経験学習サイクル(経験 → 内省 → 教訓 → 応用) が自然に回る形で進んでいました。

フェーズ①:経験する(写経・サンプル理解)

  • 教本や社内サンプルを写す
  • とにかく動かしてみる
  • 「こう書けば動くのか」という一次体験を得る

👉 まずは経験を積むフェーズ

フェーズ②:内省する(エラー地獄)

  • エラー文が読めない
  • 検索 → 試行錯誤を繰り返す
  • なぜ失敗したのかを振り返る

👉 経験を通じて内省せざるを得ない構造

フェーズ③:教訓を出す(説明できる)

  • 小さな機能なら自力で書ける
  • 「この場合はこう書く」という理解が生まれる
  • なぜこの実装なのかを語れる
  • レビューが対話になる

👉 点の経験が教訓としてまとまり始める

フェーズ④:応用する(次に活かす)

  • 似たような機能改善なら自身で対応できる
  • 別の実装にも知識を転用できる
  • 設計の意図を読めるようになる。

👉 時間はかかるが、学習サイクルが自然に回るため理解は深い


3. 生成AI時代にやりがちな「ズレた行動ロードマップ」

生成AIの登場により、
この 学習サイクルが途中で止まりやすくなっています。

フェーズ①:経験が浅いまま完成形を見る

  • 仮説を立てず、いきなりAIに完成コードを聞く
  • 「経験」が薄い状態で進む

フェーズ②:内省せずに次へ進む

  • 動作確認だけでOKとする
  • なぜ動いたか・なぜこの実装かを考えない

フェーズ③:教訓化されない

  • AI生成コードをそのまま採用
  • 自分の言葉で説明できない
  • 知識として整理されない

フェーズ④:応用できずに詰まる

  • 仕様変更や応用ができない
  • バグ修正で立ち止まる

👉 経験 → 内省 → 教訓 → 応用 が分断され、
「速いのに弱い」状態に陥りやすい


4. 生成AI時代の「正しい」ロードマップ

生成AI時代でも、成長の本質は変わりません。
重要なのは 経験学習サイクルを意識的に回すこと です。

フェーズ①:経験する(仮説 → AI)

  • まず自分で考える
  • 仮説を立てた上でAIに聞く
  • 経験の質を高める

フェーズ②:内省する(検証・理解)

  • 実際に動かす
  • 「なぜそうなるのか?」を必ず確認する
  • AIを振り返りの相手として使う

フェーズ③:教訓を出す(書き直し・整理)

  • AIコードを下書きとして扱う
  • 自分なりに書き直す
  • 設計意図を言語化する

フェーズ④:応用する(設計判断)

  • 代替案や比較をAIに出させる
  • 判断は自分で行う
  • 次の実装に知識を転用する

👉 速さと理解の両立
生成AIを「思考を省く道具」ではなく、
経験学習サイクルを高速で回すための補助輪として使うことが重要です。


5. 最後に

生成AIの登場により、エンジニアの仕事は大きく変わりました。
特に「形にするまでのスピード」は、これまでとは比較になりません。

しかし、本質的なゴールは変わっていません。
それは 「自分で考え、説明できるエンジニアであること」 です。

従来は時間をかけることで、

  • 仮説を立て
  • 検証し
  • 言語化する

このプロセスを自然と踏めていました。

生成AI時代は、このプロセスを簡単に飛ばせてしまいます。
だからこそ今は、意識的にブレーキを踏む力 が求められます。

生成AIは、

  • 学習速度を上げ
  • 視野を広げ
  • 未経験領域への挑戦を後押しする

非常に強力な道具です。

一方で、使い方を誤れば、

  • 「書けているのに説明できない」
  • 「速いのに弱い」

エンジニアにもなり得ます。

近道がある時代だからこそ、
経験し、振り返り、教訓として言語化し、次に活かす
というプロセスを手放さないこと。

それが、生成AI時代における
エンジニア成長の鍵だと考えています。

この記事が、
新しい技術領域に挑戦する方や、
生成AIとの向き合い方に悩んでいる方の指針になれば幸いです。

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?