はじめに
生成AIの台頭により、単に「コードが書ける」だけのエンジニアの価値は急速に変化しています。
AIがコードを生成できるこれからの時代、エンジニアには「技術力(Technology)」と「開発力(Engineering / Execution)」という、似て非なる2つの力が求められていると私は考えています。
本記事では、私が未経験からプログラミングを始め、約1年でデジタル庁向けのアナログ規制自動判定AIシステムのバックエンド開発を主導するに至った実体験をもとに、これら2つの力の違いと重要性について考察します。
「技術力」とは何か?(特定の課題に対する専門的アプローチ)
ここで定義する「技術力」とは、アルゴリズムやツールを深く理解し、目の前の課題に対して最適なアーキテクチャを設計・実装する力のことです。
例えば、私が担当したデジタル庁向けのAIシステムでは、膨大な法令データの中から特定のアナログ規制を自動判定する必要がありました。
当初、LLM(大規模言語モデル)を用いた単純なベクトル検索やキーワード検索を試しましたが、法令特有の専門用語や曖昧な表現を正確に捉えきれず、十分な精度が出ませんでした。
そこで求められた技術的アプローチが、PythonとAzure AI Searchを組み合わせた「ハイブリッド検索」や「RAG(検索拡張生成)」の実装でした。
文脈を捉えるベクトル検索と、専門用語を逃さないキーワード検索を掛け合わせることで、短期間での精度改善を実現できました。このように「どの技術をどう組み合わせて課題を解決するか」を見極め、実装する力が技術力です。
「開発力」とは何か?(要件を形にし、やり抜く力)
一方で「開発力」とは、曖昧なビジネス要件や社会課題をシステムに落とし込み、チームや自身のモチベーションに依存せずにプロジェクトを完遂する「泥臭い実行力」だと私は定義しています。
新しい技術(特にAI領域)を扱うプロジェクトでは、予期せぬエラーや仕様の壁に必ずぶつかります。ここで重要になるのは、気合や才能ではなく「仕組み化」です。
私自身、未経験から1年で実務レベルのエンジニアとして月収30万円を達成するために、モチベーションに左右されない独自のルールを徹底しました。
- 「毎朝シャワーを浴びてバナナとプロテインを取り、そのままPCに向かう」
- 「1日最低30分は必ずコードを書く」
この「成果を出すための型(ルーティン)」を作り、いかなる日もコードに向き合い続ける実行力こそが、開発力(やり抜く力)の源泉になります。
両者を掛け合わせた実践事例
デジタル庁向けのAIシステム構築において、私はこの「技術力」と「開発力」の両輪を回すことを意識しました。
- 技術力: LLMやハイブリッド検索を用いた最適なアーキテクチャの選定・実装
- 開発力: 未経験の壁にぶつかっても、日々のストイックなルーティンで学習と実装を継続し、要件を形にする実行力
結果として、学生でありながら国レベルの複雑なプロジェクトのバックエンドを主導し、実務において大きな成果を残すことができました。
まとめ
AI時代において、単なるコード生成はAIが代替してくれるかもしれません。しかし、「社会課題に対してどの技術(RAGやハイブリッド検索など)を選ぶべきか(技術力)」と「それを最後までやり抜く泥臭い仕組み作り(開発力)」は、人間にしかできない領域です。
次世代のエンジニアとして生き残るためには、この2つの力を意識的に鍛えていく必要があるのではないでしょうか。
【著者プロフィール】
秋和祥英(Shoei Akiwa)
青山学院大学経営学部に在学中のソフトウェアエンジニア。未経験からプログラミングを始め、1年で実務に貢献。デジタル庁向けのAIシステム構築などを主導。
Next.js、FastAPI、Python、LLM、Azure AI Searchなどを活用したシステム開発を得意としています。
👉 私が日頃取り組んでいる技術スタックや開発実績の詳細は、以下のポートフォリオにまとめています。
秋和祥英 公式ポートフォリオ / エグゼクティブ・ファクトシート