LLMが使えるエンジニアが欲しいという採用要件は、LLMを使いこなす技術とソフトウェアエンジニアリングの基礎の、どちらを優先するかを明確にしないと機能しない。

「LLMが使えるエンジニア」と「ソフトウェアエンジニアリングができるエンジニア」は別の能力だ

思考版1 AI執筆

「AI時代のエンジニア採用では、LLMを使いこなせる人材を採用する」という方針を立てる企業が増えている。

しかしこの方針は、2つの異なる能力を混同している場合が多い。


2つの能力の違い

能力A:LLMの使い方の知識

  • OpenAI APIやAnthropic APIの使い方を知っている
  • プロンプトエンジニアリングの基本を知っている
  • RAGの概念を理解している
  • 主要なLLMモデルの特性の違いを知っている

この能力は、6ヶ月〜1年の実務経験と独学で習得できる。ソフトウェアエンジニアリングのバックグラウンドがなくても、この知識は持てる。

能力B:ソフトウェアエンジニアリングの基礎

  • コードの保守性を考慮した設計ができる
  • テストを書いてコードの品質を担保できる
  • 本番環境でのデバッグと問題特定ができる
  • チームでのコード開発の経験がある

この能力は、数年の実務経験が必要で、LLMの知識とは独立して存在する。


なぜ混同されるか

採用担当者からの求人要件に「ChatGPTやLLMを使って開発した経験がある方」と書くと、「LLMを使ったことがある」人が集まる。

しかし採用担当者が本当に求めているのは、多くの場合「LLMを使いながら、本番環境で動くシステムを作り、チームで保守できるエンジニア」だ。

LLMの知識とソフトウェアエンジニアリングの基礎の両方が必要だが、求人要件と面接設計が「LLMの知識」だけを確認する形になっていることがある。


どちらを優先するかはポジションによる

LLMの使い方を優先するケース

  • AIプロダクトの初期プロトタイプを速く作りたい
  • PoC段階で何が動くかを試したい
  • プロダクトの技術的な負債が少なく、後でリファクタリングできる余裕がある

この場合、ソフトウェアエンジニアリングの基礎よりLLMの知識と実験速度を優先する。

ソフトウェアエンジニアリングを優先するケース

  • 本番環境で長期的に保守されるシステムを作る
  • チームで並行して開発する
  • 既存のコードベースにLLM機能を追加する

この場合、LLMの知識は後からでも習得できるが、ソフトウェアエンジニアリングの基礎は時間がかかる。


採用面接での判断方法

LLMの知識を確認する問い:

  • 「LLMのAPIを使って何を作りましたか。そのシステムのコスト設計はどうしましたか」
  • 「プロンプトが変わった時、既存のシステムにどう影響しますか」

ソフトウェアエンジニアリングの基礎を確認する問い:

  • 「書いたコードのテストをどう書きますか。LLMを使った部分のテストは特に難しいですが、どう対応しますか」
  • 「本番環境でバグが出た時、どう特定して修正しますか」

両方を確認する面接設計にすることで、「LLMの知識はあるがエンジニアリング経験が浅い」という候補者と「エンジニアリングの基礎は強いがLLMは学習中」という候補者を、ポジションに合わせて評価できる。


関連記事