1947年の数学者と「コーダー」の区別から、2025年の「AIエージェント / コンテキストエンジニア」の出現に至るまで、ソフトウェアの職種は集中と分散の絶え間ないサイクルを経てきました。Ian Miellによる新しいプロジェクトは、開発、運用、データ&AIを含む7つの異なるファミリーにわたってこれらの変化をマッピングし、過去80年間で業界の優先順位がいかに進化してきたかを明らかにしています。

7つの領域にわたる104のソフトウェア職種をマッピングした包括的な家系図。
1940年代から現在までのソフトウェア役割の系譜と進化をマッピングするプロジェクトの主要な視覚化資料。zwischenzugs.com

この画像は、7つのソフトウェア領域にわたる104のユニークな職種のマッピングに関するプロジェクトの主要な視覚的証拠を提供します。

コーディングとプランニングの進化

1947年、コンピュータを使用する作業は2つの明確な役割に分割されていました。数学者が問題を計画し、コーダーがそれらの計画を機械命令に翻訳したのです。当時、コーディングは低ステータスの事務作業として扱われ、多くの場合、女性によって行われていました。

時が経つにつれ、コーディングはソフトウェア制作における困難で創造的な要素へと進化し、最終的にはプログラマーの役割と統合されました。著者は、AIが開発の焦点を再び変化させている今日、このサイクルが繰り返されていると指摘しています。

ソフトウェア職種の家系図のスクリーンショット。
ソースプロジェクトで提示されたソフトウェア職種の家系図の視覚的表現。zwischenzugs.com

このスクリーンショットは、記事で議論されているコーディングとプランニングの役割の進化を示す特定の図を捉えています。

「Dev/Opsの分断は決して解決されたことはありません。ただ、新しい名前が付けられ続けているだけです。」

— A Family Tree of Software Job Titles – zwischenzugs.com

集中と分散のシーソー

職種はしばしば「集中と分散のシーソー」を反映しています。例えば、1990年代の「ウェブマスター」という役割は、HTML、サーバー管理、コンテンツ編集を単一のポジションに統合していました。

2000年代半ばまでに、この役割はウェブデベロッパー、シスアドミン、デザイナーへと断片化しました。しかし、2008年頃には「フルスタック」デベロッパーの台頭により傾向が逆転し、それらバラバラな責任が再び単一の職種へと統合されました。

再利用される職種と短命な役割

いくつかの職種は、直接的な系譜がないまま数十年にわたって再利用されています。「システムエンジニア」は1960年代のIBMではプリセールスの役割を指していましたが、Microsoftの認定制度の影響により、1990年代にはシニアシスアドミンの職種となりました。

逆に、一部の職種は一時的なものです。「プロンプトエンジニア」や「スクラムマスター」という役割は、スキルが他の仕事の標準的な一部となる前に、広範なエンジニアリング管理やデリバリーの役割に吸収されるまで、短期間だけピークを迎えました。

継続するDevOpsとプラットフォームエンジニアリングの議論

SRE(サイト信頼性エンジニアリング)、DevOps、およびプラットフォームエンジニアリングの関係は、依然として業界の議論の焦点となっています。SREはソフトウェアエンジニアに運用チームの設計を求めるものとして定義されたのに対し、DevOpsはもともとコラボレーションの文化でした。

主要な節目 タイトル 日付: SRE (Google) 2003; データサイエンティスト 2008; DevOpsの命名 2009
主要な節目 タイトル 日付zwischenzugs.com

HN Digestによる図表(zwischenzugs.comの報告数値に基づく)。数値はソースの表記通り。

2011年までに、「DevOpsエンジニア」は自動化のための特定の職種となりました。プラットフォームエンジニアリングは2022年頃にDevOpsの後継として登場しましたが、開発と運用の間の根本的な分断は、新しい名前で現れ続けています。

Hacker Newsの読者の反応

  • 体験談: 10年以上オペレーションマネージャーの職種を保持しているあるコメント主は、提供された系譜にその役割が含まれていないことを指摘しました。 コメント ↗
  • 体験談: インフラストラクチャの背景を持つあるコメント主は、DevOpsエンジニアやSREのような多くの現代の職種は、曖昧さや高度な資格を管理するジェネラリストを記述していることが多いため、しばしば無意味であると主張しました。 コメント ↗
  • 懐疑的: 別のユーザーは、現在のソフトウェア職種は見た目ほど正確ではないと示唆し、役割は人間が作成した既存の慣習を解釈し、それらに基づいて構築する作業を反映するように改称されるべきだと提案しました。 コメント ↗

Hacker Newsのスレッドで出た意見の要約です。事実として検証されたものではありません。 議論の全文を読む ↗