从 1947 年数学家与“编码员”的区别,到 2025 年“AI Agent / 上下文工程师”的出现,软件职位名称经历了不断的集中与分布循环。Ian Miell 的一个新项目将这些变化映射到包括开发、运维以及数据与 AI 在内的七个不同家族中,旨在展示过去八十年中行业重点是如何演变的。

这张图片为项目对七个软件领域中 104 个独特职位的映射提供了主要的视觉证据。
编码与规划的演变
在 1947 年,使用计算机的工作被分为两个截然不同的角色:数学家负责规划问题,而编码员负责将这些计划转化为机器指令。当时,编码被视为地位较低的文职工作,通常由女性担任。
随着时间的推移,编码演变成了软件创作中艰苦且具创造性的组成部分,最终与程序员的角色合并。作者指出,随着 AI 再次改变开发的重心,这一循环正在今天重演。

此截图捕捉了文章中讨论的编码与规划角色演变的特定图表。
“Dev/Ops 的分歧从未得到解决。它只是不断获得新的名称。”
— A Family Tree of Software Job Titles – zwischenzugs.com
集中与分布的跷跷板
职位名称往往反映出一种“集中/分布的跷跷板”。例如,1990 年代的“网页管理员”角色将 HTML、服务器管理和内容编辑整合到一个职位中。
到 2000 年代中期,这一角色分裂为网页开发人员、系统管理员和设计师。然而,这一趋势在 2008 年左右随着“全栈”开发人员的兴起而逆转,他们将这些分散的职责重新合并到一个职位名称中。
循环使用的职位与短期角色
一些职位在不同十年间被循环使用,而没有直接的血缘关系。“系统工程师”在 1960 年代指 IBM 的售前角色,但由于 Microsoft 认证的普及,在 1990 年代变成了高级系统管理员的职位。
相反,一些职位是转瞬即逝的。“提示词工程师”和“敏捷教练”角色短暂达到巅峰,随后随着这些技能成为其他工作的标准组成部分,而被吸收到更广泛的工程管理或交付角色中。
持续不断的 DevOps 与平台工程辩论
SRE(站点可靠性工程)、DevOps 和平台工程之间的关系仍然是行业辩论的焦点。虽然 SRE 被定义为要求软件工程师去设计运维团队,但 DevOps 最初是一种协作文化。
HN Digest 根据 zwischenzugs.com 报告的数据绘制的图表;数值按来源所示显示。
到 2011 年,“DevOps 工程师”成为了自动化领域的特定职位名称。平台工程于 2022 年左右作为 DevOps 的继任者出现,尽管开发与运维之间的基础分歧仍在以新的名称不断显现。
Hacker News 读者的反应
- 亲身经验: 一位担任运维经理职位超过十年的评论者指出,该角色在提供的谱系中缺失了。 评论 ↗
- 亲身经验: 一位具有基础设施背景的评论者认为,许多现代职位如 DevOps 工程师或 SRE 往往毫无意义,因为它们经常描述的是管理模糊性和高层凭证的通才。 评论 ↗
- 质疑: 另一位用户建议,目前的软件职位名称不如表面上看起来那么准确,他提出应该将角色重新命名,以反映解释和基于现有人类创建的惯例进行构建的工作。 评论 ↗
以上为 Hacker News 讨论中观点的摘要,并非经过核实的事实。 阅读完整讨论 ↗