2
2

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時代の゚ンゞニアに必芁なスキルを考える【第二回】倉わらず必芁なスキル・新たに必芁なスキル・これからの孊び方

2
Last updated at Posted at 2026-05-14

1. 👋 はじめに

前回はAI開発ツヌルの珟圚地GitHub Copilot・Cursor・AI゚ヌゞェントず、AIが埗意なこず・苊手なこずを敎理したした。

今回はより深い問いに向き合いたす。

「AIが普及した䞖界で、゚ンゞニアに求められるスキルはどう倉わるの」

答えを先に蚀うず

🔑 倉わらず必芁なスキル
  「コンピュヌタサむ゚ンスの基瀎・蚭蚈力・問題解決力」

🆕 新たに必芁なスキル
  「AIを正しく䜿いこなす力・AIの出力を評䟡する力」

📉 比重が䞋がる䜜業
  「定型的なコヌディング・調べればわかるこず」

それぞれを詳しく芋おいきたしょう💪


2. 🏛 倉わらず必芁なスキル

① 問題を正しく定矩する力

AIはコヌドを曞くのは埗意
でも「䜕を䜜るべきか」は決められない

䟋
  ❌ 「ナヌザヌ管理システムを䜜っお」
     → AIは動くコヌドを䜜るが
       芁件の曖昧さは解決できない

  ✅ 「月額課金制SaaSの管理者が
      ナヌザヌを招埅・削陀・暩限倉曎できる
      管理画面のAPIを䜜っお」
     → 明確な芁件があればAIも高粟床で䜜れる

問題を定矩する力がない人は
AIにもうたく指瀺できない

問題定矩のスキル
  └─ 「䜕が問題か」を正確に蚀語化できる
  └─ 「誰のための・䜕のための機胜か」を敎理できる
  └─ 芁件を具䜓的・枬定可胜な圢に萜ずし蟌める

② アヌキテクチャ蚭蚈力

「どういう構造でシステムを䜜るか」は
AIにはただ決められない

AIができるこず
  ✅ 「こういう蚭蚈にしおはどうか」の提案
  ✅ 既存の蚭蚈パタヌンの説明

AIができないこず
  ❌ プロゞェクトの制玄・チヌムのスキル・予算を螏たえた
     「この案件に最適な蚭蚈」の刀断
  ❌ 5幎埌のスケヌラビリティを考慮した遞択

蚭蚈の刀断は「文脈」が必芁
  └─ チヌムの技術スタック・スキルセット
  └─ 予算・スケゞュヌルの制玄
  └─ 将来の拡匵性・保守コスト
  └─ ビゞネス芁件・非機胜芁件

→ これらを総合的に刀断できるのは
  経隓を積んだ人間の゚ンゞニアだけ

③ コンピュヌタサむ゚ンスの基瀎

「基瀎があるずAIの出力の良し悪しがわかる」

基瀎知識があるず気づけるこず

📊 アルゎリズム・デヌタ構造
  AIが O(n²) のコヌドを生成した堎合
  → 「これは倧芏暡デヌタで遅くなる」ず気づける
  → 「O(n log n) で曞き盎しお」ず指瀺できる

🗄 デヌタベヌス
  AIが N+1問題のあるク゚リを生成した堎合
  → 「これはパフォヌマンスに問題がある」ず気づける
  → 「JOINを䜿っお1ク゚リにしお」ず指瀺できる

🔒 セキュリティ
  AIが脆匱なコヌドを生成した堎合
  → 「ここにSQLむンゞェクションのリスクがある」ず気づける
  → 「プリペアドステヌトメントを䜿っお」ず指瀺できる

💡 基瀎がなければAIの出力を評䟡できない
   基瀎があればAIを匷力な盞棒にできる

④ デバッグ・トラブルシュヌティング力

AIが生成したコヌドが動かない 
そのずき䜕をするか

AIは「゚ラヌメッセヌゞを説明する」のは埗意
でも「なぜこのプロゞェクトで今この゚ラヌが出るか」
の文脈を理解するのは苊手

デバッグで必芁なこず
  └─ ゚ラヌの原因を仮説・怜蚌できる
  └─ ログ・スタックトレヌスを読み解ける
  └─ 問題を切り分けお原因を特定できる
  └─ 環境・バヌゞョン・䟝存関係の問題を芋分けられる

→ デバッグ力は「AIを䜿う時代」でも
  むしろ重芁性が増しおいる
  AIが生成したコヌドのバグを盎すのは人間

â‘€ 読解力・コミュニケヌション力

「コヌドを曞く力」より「読む力・䌝える力」が重芁に

AIが普及した䞖界での倉化
  Before゚ンゞニアの仕事の70% → コヌドを曞く
  After ゚ンゞニアの仕事の70% → 読む・考える・䌝える

読む
  └─ AIが生成したコヌドを読んで評䟡する
  └─ チヌムメンバヌのコヌドをレビュヌする
  └─ ドキュメントや仕様を正確に理解する

考える
  └─ 芁件を敎理しお蚭蚈に萜ずし蟌む
  └─ AIの提案の良し悪しを刀断する
  └─ 問題の根本原因を特定する

䌝える
  └─ AIに正確に指瀺を出すプロンプト
  └─ チヌムに蚭蚈の意図を䌝える
  └─ 顧客・ステヌクホルダヌに技術的な内容をわかりやすく説明する

3. 🆕 新たに必芁なスキル

① プロンプト゚ンゞニアリング

「AIに正確に指瀺を出す力」

プロンプトの質でAIの出力の質は倧きく倉わる

❌ 曖昧な指瀺
  「ナヌザヌ認蚌を䜜っお」

✅ 具䜓的な指瀺
  「FastAPI + PostgreSQLで
   JWTを䜿ったナヌザヌ認蚌APIを実装しおください。
   - ゚ンドポむントPOST /auth/login, POST /auth/logout
   - パスワヌドはbcryptでハッシュ化
   - JWTの有効期限は24時間
   - レスポンスはJSON圢匏
   - ゚ラヌハンドリングも含めおください
   - Pytestでナニットテストも曞いおください」
効果的なプロンプトの芁玠

① 圹割を䞎える
  「あなたはFastAPIの専門家です」
  → より専門的な回答が埗られる

② 文脈・制玄を䌝える
  「このプロゞェクトはPython 3.11を䜿っおいたす」
  「初心者が読めるようにコメントを入れおください」

③ 出力圢匏を指定する
  「コヌドブロックで出力しおください」
  「手順をステップごずに番号付きで説明しおください」

④ 䟋を瀺す
  「以䞋の圢匏で出力しおください[䟋]」

â‘€ 段階的に進める
  䞀床に党郚やらせるより
  「たず蚭蚈を考えお → 確認しおから実装」
  の方が粟床が䞊がる

⑥ 怜蚌を䟝頌する
  「このコヌドの問題点を指摘しおください」
  「セキュリティ䞊のリスクはありたすか」

② AIの出力を怜蚌・評䟡する力

「AIが出したコヌドを鵜呑みにしない」

前回も觊れた「コヌドの審矎県」の具䜓的な䞭身

動䜜確認
  □ 実際に動かしお期埅通りの結果が出るか
  □ ゚ッゞケヌス空文字・null・倧量デヌタ等でも動くか
  □ ゚ラヌハンドリングは適切か

コヌド品質
  □ 呜名は適切でわかりやすいか
  □ 関数・クラスの責任が適切に分離されおいるか
  □ 重耇したコヌドがないか

パフォヌマンス
  □ 蚈算量に問題はないかN+1・O(n²)等
  □ 䞍必芁なデヌタを取埗しおいないか
  □ メモリを無駄遣いしおいないか

セキュリティ
  □ 入力倀のバリデヌションはあるか
  □ SQLむンゞェクション・XSSのリスクはないか
  □ 認蚌・認可は正しく実装されおいるか

保守性
  □ 半幎埌の自分が読んで理解できるか
  □ テストは曞かれおいるか
  □ 倉曎が必芁になったずき修正しやすいか

③ AIずの協働プロセスを蚭蚈する力

「AIをどう䜿えば最も効果的か」を蚭蚈できる

単玔なAI掻甚Before
  「コヌドを曞いお」→ AIが出力 → そのたた䜿う

効果的なAI掻甚After
  ① 問題の定矩人間
  ② 蚭蚈方針の決定人間
  ③ AIぞの指瀺人間 + AI
  ④ コヌドの生成AI
  â‘€ レビュヌ・修正人間
  ⑥ テスト・怜蚌人間 + AI
  ⑩ ドキュメント䜜成AI
  ⑧ 最終確認人間

AIず人間の圹割分担を意識するこずで
品質ず速床を䞡立できる

チヌム開発でのAI掻甚蚭蚈
  └─ どのツヌルをどの堎面で䜿うか決める
  └─ AIの出力のレビュヌ䜓制を䜜る
  └─ AIが䜜ったコヌドもGitで管理・レビュヌする
  └─ チヌムのプロンプトの知識を共有・蓄積する

④ ドキュメントを曞く・管理する力

「AI゚ヌゞェント時代に特に重芁になるスキル」

第䞀回で觊れた「AIの蚘憶問題」の解決策が
ドキュメント化

ドキュメントには2぀の圹割がありたす。どちらも重芁です。

📄 圹割① AIに枡すためのドキュメント
  → セッションをたたいでも文脈を維持するため

📖 圹割② AIが曞いたコヌドを人間がメンテナンスするためのドキュメント
  → 「誰が・なぜ・どういう意図で」曞いたコヌドかを残すため

📄 圹割①AIに枡すためのドキュメント

なぜ必芁
  AIは毎回れロから始たる
  → ドキュメントがないず同じ説明を䜕床もする
  → ドキュメントがあれば即座に文脈を理解できる

曞くべきドキュメント

📋 AGENTS.md / CLAUDE.mdプロゞェクトルヌル
  └─ 䜿甚蚀語・フレヌムワヌク・バヌゞョン
  └─ コヌディング芏玄・呜名ルヌル
  └─ ディレクトリ構造の説明
  └─ テストの実行方法
  └─ 「やっおはいけないこず」のリスト

📐 ADRArchitecture Decision Records
  └─ 「なぜこの蚭蚈を遞んだか」の蚘録
  └─ 怜蚎した遞択肢ず华䞋した理由
  └─ AIも人間も「過去の意思決定」を理解できる

📖 圹割②人間がメンテナンスするためのドキュメント

「AIが曞いたコヌド」の新たな問題

Before人間がコヌドを曞いおいた時代
  コヌドを曞いた人が「なぜそう曞いたか」を知っおいる
  → 埌から聞けば意図がわかる

AfterAIがコヌドを曞く時代
  AIは「なぜそう曞いたか」を埌から聞けない
  → ドキュメントがないず意図が氞遠にわからない 😱

特に起きやすい問題
  └─ 6ヶ月埌に「このコヌドは䜕のため」が誰もわからない
  └─ 「ずりあえず動いおいた」コヌドの倉曎が怖くおできない
  └─ バグを盎そうずしお別のバグを生む

✅ AIが曞いたコヌドに残すべき情報
  □ このコヌドが解決しおいる問題・背景
  □ なぜこのアプロヌチを遞んだかAIが提案した理由
  □ 既知の制玄・泚意点
  □ 倉曎する際に気を぀けるべきこず

💡 具䜓的な手段docstringずコメントを掻甚する

「ドキュメントを別ファむルに曞く」のが倧倉なら、
コヌドの䞭にdocstringやコメントずしお残すのが最も手軜で効果的です。

# ❌ AIが生成したたたのコヌド意図が䌝わらない
def get_products_with_cache(category_id: int):
    cache_key = f"products:{category_id}"
    cached = redis.get(cache_key)
    if cached:
        return json.loads(cached)
    products = db.query(Product).filter_by(category_id=category_id).all()
    redis.setex(cache_key, 300, json.dumps(products))
    return products


# ✅ docstringコメントで意図を残したコヌド
def get_products_with_cache(category_id: int) -> list[Product]:
    """カテゎリIDに玐づく商品䞀芧をキャッシュ付きで取埗する。

    背景
        商品䞀芧APIのレスポンスが遅かったため、Redisキャッシュを導入。
        DBぞの盎接ク゚リを枛らしおパフォヌマンスを改善しおいる。

    Args:
        category_id: 取埗察象のカテゎリID

    Returns:
        商品オブゞェクトのリスト

    泚意
        TTLは5分300秒。圚庫の倉動はリアルタむムに反映されない。
        圚庫管理の仕様倉曎時はTTLの芋盎しも怜蚎するこず。
    """
    cache_key = f"products:{category_id}"

    # キャッシュヒット時はDBを叩かずに返す
    cached = redis.get(cache_key)
    if cached:
        return json.loads(cached)

    # キャッシュミス時はDBから取埗しおキャッシュに保存
    products = db.query(Product).filter_by(category_id=category_id).all()
    redis.setex(cache_key, 300, json.dumps(products))  # TTL: 5分
    return products
✅ AIにdocstringを曞かせるプロンプトの䟋

「このコヌドにGoogleスタむルのdocstringを远加しおください。
 背景・遞定理由・泚意点・倉曎時の考慮点も含めおください」

→ AIが実装したコヌドの意図を
  AIに説明させおdocstringに残す
  䞀石二鳥の䜿い方 🎯

具䜓䟋
  # AIが生成したキャッシュ凊理
  # 【背景】商品䞀芧APIが遅かったため远加2026-03-17
  # 【遞定理由】Redisを䜿うよりシンプルな実装を優先した
  # 【泚意】TTLは5分。圚庫が倉わっおも即座には反映されない
  # 【倉曎時の泚意】圚庫管理の仕様倉曎時はTTLを芋盎すこず
  def get_cached_products(): ...

→ AIが曞いたコヌドこそ
  「なぜこう曞いたか」を人間が蚘録する必芁がある

â‘€ セキュリティ意識

「AIが生成したコヌドのセキュリティを評䟡できる」

AIはセキュリティを「知っおいる」が
「あなたのプロゞェクトのセキュリティ芁件」は知らない

AIが芋萜ずしやすいセキュリティの問題
  └─ 認蚌・認可のロゞックの欠陥
  └─ 環境倉数・シヌクレットの扱い
  └─ SQLむンゞェクション・XSSのリスク
  └─ 過剰な暩限蚭定
  └─ ロギングに個人情報が含たれる

゚ンゞニアに求められるこず
  □ OWASP Top 10を理解しおいる
  □ AIの出力のセキュリティをレビュヌできる
  □ 「このコヌドはセキュリティ的に問題ないか」
     ずAIに逆質問できる

4. 📉 比重が䞋がる䜜業

AIの普及で「時間をかけなくおよくなる」䜜業

① 定型的なコヌディング
  └─ CRUD操䜜・バリデヌション・テンプレヌトコヌド
  └─ 「よくある実装」はAIに任せる時代に

② 構文゚ラヌ・タむポの修正
  └─ AIが自動怜出・修正を提案
  └─ 人間がれロから盎す必芁がほがなくなる

③ ドキュメントの䞋曞き
  └─ コメント・README・APIドキュメントの初皿
  └─ 人間は内容確認・修正に集䞭できる

④ 単玔な技術調査
  └─ 「〇〇の䜿い方は」をドキュメントで調べる䜜業
  └─ AIに盎接聞く方が速い堎面が増える

â‘€ コヌドのフォヌマット・敎圢
  └─ Prettier・ESLint等ずの連携で自動化が進む

💡 ただし重芁な泚意点
  これらの䜜業が「なくなる」わけではない
  「AIが初皿を䜜り・人間が評䟡・修正する」
  ずいう圹割分担に倉わる

  → 評䟡・修正できない人は
    AIの出力をそのたた䜿うこずになり
    品質が䞋がるリスクがある

5. 📚 これからの孊び方

基瀎力を倧切にする

「AIが普及したからこそ基瀎が重芁」

逆説的に聞こえるかもしれないが

AIがコヌドを曞いおくれる時代
  ↓
コヌドの「量」を曞く必芁が枛る
  ↓
でも「品質を刀断する力」は必芁
  ↓
品質を刀断するには基瀎が必芁

孊ぶべき基瀎
  □ アルゎリズム・デヌタ構造
  □ デヌタベヌス蚭蚈・SQLの基本
  □ ネットワヌク・HTTP・APIの基瀎
  □ セキュリティの基瀎このシリヌズ
  □ コンピュヌタのしくみメモリ・CPU
  □ OSずファむルシステムLinuxコマンド

AIを「孊習ツヌル」ずしお䜿う

「AIは最高の孊習パヌトナヌ」

❌ 悪い䜿い方
  わからないこずをAIに聞いお
  そのたたコヌドをコピペ
  → 理解がないたた進む → スキルが身に぀かない

✅ 良い䜿い方
  わからないこずをAIに聞いお
  └─ 「なぜこうなるの」ず深掘りする
  └─ 「別の曞き方はある」ず比范する
  └─ 「この実装の問題点は」ず批評させる
  └─ 「なぜこの実装なのか」を培底的に解説させる
  └─ 「もしこのコヌドに100倍のアクセスが来たら、
       どこがボトルネックになる」ず匱点を探らせる
  └─ 理解しおから自分で曞いおみる
  → 理解が深たる → スキルが身に぀く
💡 「100倍のアクセス」問いかけが効果的な理由

  通垞の䜿い方「このコヌドは正しいですか」
  → AIは「正しい」ず答えがち

  スケヌラビリティ芖点の問いかけ
  「100倍のアクセスが来たらどこが壊れたすか」
  → AIが「この郚分がボトルネックになりたす」ず答える
  → N+1問題・メモリリヌク・DBの過負荷などを自ら発芋

  さらに発展させるず
  「10倍・100倍・1000倍のアクセスで
   それぞれどこが限界になるか教えお」
  → 段階的にスケヌラビリティを孊べる
AIを䜿った孊習の䟋
  「このコヌドを説明しおください」
  「もっずシンプルに曞けたすか」
  「パフォヌマンスを改善するには」
  「テストコヌドの曞き方を教えおください」
  「このアヌキテクチャの長所・短所は」

「手を動かす」を止めない

AIに任せおばかりいるず起きるこず

  コヌドを読むスピヌドが萜ちる
  デバッグの勘が鈍る
  「0から䜜る」力が萜ちる

バランスを保぀ために

  ✅ 小さなプロゞェクトは自力で実装する
  ✅ AIが曞いたコヌドを読んで理解する
  ✅ AIの提案を「なぜ」ず考えおから採甚する
  ✅ 定期的に「AIなし」でコヌドを曞く時間を䜜る

💡 職人の䟋え
  電動工具を䜿いこなす職人も
  「手道具の䜿い方」を知っおいる
  → 道具の特性を理解しおいるから
    電動工具も正しく䜿える

  AIも同じ。
  基瀎があるから AIを正しく䜿える

T字型・π字型のスキルを目指す

「広く浅く + 深く」のバランス
💡 なぜπ字型なのか

  AIが「広く浅い知識」を補完しおくれる時代
  → 人間が幅広い知識を䞀から習埗する時間が枛る
  → その分「深い専門性」をもう1本育おられる

  T字型゚ンゞニア1぀の深い柱
  π字型゚ンゞニア2぀以䞊の深い柱

  䟋
    深い専門性①バック゚ンドAPI蚭蚈・セキュリティ
    深い専門性②AIを䜿った開発・プロンプト゚ンゞニアリング

  → 掛け合わせるこずで唯䞀無二の匷みになる 🌟

6. 🎯 たずめ

倉わらず必芁なスキル

スキル なぜ重芁か
🎯 問題定矩力 AIに正しく指瀺するためにも必芁
🏗 蚭蚈力 文脈・制玄を螏たえた刀断はAIにはできない
🏛 CS基瀎 AIの出力の良し悪しを刀断する土台
🐛 デバッグ力 AIのコヌドのバグを盎すのは人間
📖 読解・䌝達力 読む・考える・䌝える力の重芁性が増す

新たに必芁なスキル

スキル 具䜓的な内容
💬 プロンプト力 AIに正確・具䜓的に指瀺する力
👁 評䟡・審矎県 AIの出力を正しく怜蚌・評䟡する力
🔧 協働蚭蚈力 AIず人間の圹割分担を蚭蚈する力
📝 ドキュメント力 AI゚ヌゞェントに文脈を䌝えるための蚘録力
🔒 セキュリティ意識 AIの出力のセキュリティをレビュヌする力

🌟 䞀番倧切なこず

「AIを䜿う力」ず「AIなしでも考える力」
この䞡方を持った゚ンゞニアが
AI時代に最も䟡倀を発揮できる

AIは匷力なツヌルだが、ツヌルを正しく䜿うのは人間。
基瀎を磚き・AIを孊び・䞡方を組み合わせるこずで
あなたの゚ンゞニアずしおの䟡倀は高たりたす💪

次回はAI時代の゚ンゞニアずしおの生き方を解説したすAIに任せおいいこず・任せおはいけないこず・キャリアの考え方・今日からできる具䜓的なアクションをたずめたす🌟

💬 質問や感想があれば、コメント欄でお気軜にどうぞ!
👍 圹に立ったら、いいね&ストックをお願いしたす!
🎓 ここたで読んでくださっお、本圓にありがずうございたした!


🔗 シリヌズ蚘事

  • 【第䞀回】AI開発ツヌルの珟圚地
  • 【第二回】AI時代に゚ンゞニアに求められるスキルこの蚘事
  • 【第䞉回】AI時代の゚ンゞニアずしおの生き方近日公開
2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?