出荷したものへの説明責任
90本番環境が壊れたとき、セキュリティホールからデータが漏れたとき、システムが有害な判断を下したとき、誰かが責任を負わなければならない──モデルはその責任を負うことができない。
濃いマスほど、このテーマでその指標が高いことを示します。
低高
多くの日は、新しいコードを書くこと、レビューで他人のコードを読むこと、バグを修正すること、次に何を作るべきかチームメイトと話し合うことに分かれる。会議や計画立案、後輩の指導は新人が思う以上に時間を占める。シニアエンジニアはジュニアエンジニアより自分でコードを書く量が少なく、設計判断やレビュー、他者の障害を取り除くことに多くの時間を費やすことが多い。
必須ではないが、依然として最も一般的で摩擦の少ない道である。4年制の学位ではアルゴリズムやデータ構造、システムの概念を学ぶが、これらは独学では習得コストが高い。ブートキャンプ卒業生や独学のエンジニアも採用されており、特に小規模企業ではそうだが、通常は学歴の代わりとなる強力なポートフォリオやオープンソースへの貢献が必要になる。
一部はすでにそうなっている。現代のコードエディタに組み込まれたツールは、定型コードや初稿のテスト、言語間の変換など、日常的なコードの大きな部分を、日常的に使うエンジニアのために書くようになっている。はるかに自動化が難しいのは、何を、なぜ作るのか、そして実際のユーザーや障害にさらされても生き延びるようにシステムをどう形作るかを決めることである。
国や企業によって大きく異なる。米国では中央値が年間約13万3000ドル、ドイツではおよそ6万9000ユーロ、業界が最も多くの人を雇用しているインドでは全国平均が90万ルピー前後になる。大手テクノロジー企業のシニアやスタッフエンジニアは、株式報酬を含めると全国中央値の数倍を稼ぐこともある。
実際にはほとんど違いがない。肩書きは重複しており、企業によって使い方も一貫していない。「プログラマー」は最も古い用語でコードを書くことを重視し、「開発者」はウェブやプロダクト企業でよく使われ、「ソフトウェアエンジニア」はより古いエンジニアリング分野から借りた規律あるプロセスやテスト、設計の考え方をソフトウェア構築に適用するという意味合いを持つ。求人票でこれらが一貫して区別されることはほとんどない。
多くの大手テクノロジー企業では、そうである。共有ドキュメントやホワイトボード上でアルゴリズム問題を解くライブまたは持ち帰り形式の技術面接が標準的な選考手法であり、より上級の職種にはシステム設計面接も加わる。小規模企業やスタートアップでは、有償の試用プロジェクトやポートフォリオレビュー、過去の実績についての会話で代替する可能性が高い。
ソフトウェアエンジニアリングは、このサイトが扱う職業の中でも大規模言語モデルによる自動化を直接に感じている最初期の職業の一つだ。その原材料──厳密なルールに従うテキスト──こそ、まさにこれらのモデルが生成するために作られたものだからである。コードを書き、補完し、レビューするツールは、すでに多くのプロのエンジニアの日々の仕事の一部であり、将来のシナリオではない。
だからといって仕事が不要になるわけではない。仕事の価値ある部分がより狭く、より濃縮されるということだ。以下のセクションでは、すでに自動化されているものと、これまでのところモデルに任せるのがはるかに難しいと分かったものを分けて見ていく。
エンジニアが一週間に書くコードの大きな部分──定型コード、初稿のテスト、日常的な変換──は、すでに言語モデルにとって比較的速く生成できるものになっている。自動化が難しいまま残っているのは、何を作るべきかを決めること、もっともらしく見える変更が微妙に間違っている箇所を見つけること、そして本番環境で失敗したときに責任を負うことである。
肩書きではなく業務単位で算定。低いほど安全。
AIが奪えない仕事 →本番環境が壊れたとき、セキュリティホールからデータが漏れたとき、システムが有害な判断を下したとき、誰かが責任を負わなければならない──モデルはその責任を負うことができない。
曖昧なビジネス上の要求を、正確で構築可能な計画に変えるには、まだ自分が何を望んでいるか分かっていないことも多い人々に適切な質問を投げかける必要がある。
何十ものサービスやチーム、データストアがどう組み合わさるべきかを決め、その決断とともに何年も暮らすことは、一つの関数を書くこととは別のスキルである。
一致するフォーラム投稿も訓練例もない、前例のない本番インシデントは、プレッシャーの下で仮説を立て検証する人間をまだ必要とする。
近道のコストをどのチームが負担するか、対立する二つの締め切りのどちらを遅らせるかを決めることは、政治的判断であると同時に技術的判断でもある。
CRUDエンドポイント、フォームバリデーション、標準的な設定といった、よく理解されたパターンを組み合わせる作業は、今では手で打つより生成して確認する方が速いことが多い。
アシスタントは関数を読んでもっともらしいテストケースの初期セットを素早く作れるが、それが正しいものをテストしているかどうかはまだ人間が判断する必要がある。
プルリクエストにおけるスタイル、命名、明白なバグに関するフィードバックは、ますます自動化されたリンターやAIレビュアーに任され、人間のレビュアーは設計レベルのコメントに集中できるようになっている。
ある関数や小さなモジュールをある言語やフレームワークから別のものへ翻訳することは、言語モデルがすでにかなり信頼できるパターンマッチング作業である。
エンジニアの一日のますます大きな割合が、白紙から一行ずつ書くことよりも、モデルが提案したコードを読み、テストし、修正することに費やされている。
かつて一つのプロダクト領域をカバーするのに複数のエンジニアを必要としていたチームは、AIツールに生の出力の穴を埋めさせつつ、一人か二人で済ませることが増えている。
システムが何をすべきかを曖昧さなく記述すること──かつてシニアエンジニアの頭の中に暗黙に留まっていたスキル──が、今では直接教える価値のあるスキルになっている。
生成されたコードは正しく見えても微妙に間違っていることがあるため、テストの規律やコードレビュー、モニタリングが、生のコード生産に比して相対的に重要性を増している。
アプリケーションではなくモデル自体を構築・微調整する。従来のソフトウェアエンジニアリングと大きく重なるが、統計学により重きを置く。
LLMベースの機能を出荷できるほど信頼できるものにする検索、ツール連携、プロンプト構造を設計する。2020年代初頭以前はほとんど存在しなかった専門分野。
モデルとAIが書いたコードを本番環境に到達する前にセキュリティホールやバイアス、失敗モードについてテストする。より大きなセキュリティチームの中で台頭しつつある専門分野。
以前から存在していたが、自ら書き、テストし、デプロイまでするようになりつつあるシステムに対して責任を負う人間として、相対的な重要性を増している。
可逆の3レンズ: 補助、一部置換、新ニッチ。教材であり予測ではありません。
役割は残し、AIが下書き・仕分け・調査を加速。判断と責任は人側。
狭いタスク群が先に圧縮され、隣接スキルが伸びることも。
規制下でAI出力を信頼する監督・統合・ドメインQAが生まれ得る。
ソフトウェアエンジニアリングは今後10年も高い報酬と高い需要を維持する可能性が非常に高いが、新卒レベルの仕事の形はすでに変わりつつある。定型コードを生産するためだけに存在する職種は減り、より多くの職種でジュニアエンジニアがAI生成の作業をほぼ即座にレビューし、テストし、責任を負うことが期待されるようになる。
有利になっていくのは、問題を明確に組み立て、システム全体について考え、流暢に聞こえても間違った提案の誤りを見抜けるエンジニアである──それは大規模言語モデル以前から重要だった判断力と同じものであり、今はより速く、より大きな規模で適用されているにすぎない。
分野だけでなく、6つのスコアが近い職業です。
データからパターンを見つけ予測モデルを構築する職業――2008年生まれの肩書きだが、その土台には数値を数え、検証し、可視化してきた3世紀分の営みがある。
AI耐性 38 📦本番環境で機械学習モデルを訓練・配備・監視・ガバナンスするためのシステムを構築する仕事。
AI耐性 54 🗺️会社が次に何を作るべきか、なぜそれを作るのかを決める仕事。顧客のニーズ、事業目標、エンジニアリングの制約を、誰か一人がすべてを所有するわけではない一つの共有計画へとまとめ上げる。
AI耐性 50 🔐デジタル攻撃を発見、防止し、対応することで、システム、データ、人々を保護します。
AI耐性 63 🌿組織が事業上の義務を果たしながら環境・社会への害を減らせるよう、戦略、測定、報告を主導する。
AI耐性 66 🧾帳簿の番人――文字そのものを生み出したほど古い技を受け継ぎ、いまはそれを自動化するために作られたソフトウェアと折り合いをつけている。
AI耐性 35機械知能を支えるアルゴリズムを設計・検証する仕事。今やその研究プロセス自体の自動化を競う分野になりつつある。
AI耐性 50 🛰️地上を離れる航空機・ロケット・宇宙船を設計・解析・認証する仕事で、推測の余地を残さない安全マージンを守り続ける。
AI耐性 74 🌉川と岩と重力を橋・道路・清潔な水に変える職業――イムホテプ以来、文明を静かに支え続ける仕事。
AI耐性 72 🔌自動車のブレーキから核ミサイルの誘導システムまで、あらゆるコンピュータや携帯電話の中にあるトランジスタを設計・製造する。地球上でごく一部の工場しか動かせないほど精密な機械を使う仕事だ。
AI耐性 60 🦾感知し、判断し、物理世界で行動する機械を設計する仕事。真の難問は知能ではなく、世界そのものだった。
AI耐性 65 🔐デジタル攻撃を発見、防止し、対応することで、システム、データ、人々を保護します。
AI耐性 63 📦本番環境で機械学習モデルを訓練・配備・監視・ガバナンスするためのシステムを構築する仕事。
AI耐性 54 🌬️再生可能な資源を信頼できる電力に変える、風力、太陽光、蓄電、送電網のシステムを設計・構築・改善する。
AI耐性 72