在软件发展的大部分历史中,构建意味着写代码。不仅是理解代码,还要能产出代码。这个入门门槛被刻意设计得很高:至少精通一种语言,具备系统架构的实际知识,拥有足够的生产经验以知道在写下第一行代码之前该问出哪些问题。这道门槛是真实存在的,门里门外的人都明白它为何存在。
AI编程工具、自然语言界面以及智能体工作流,已经开始改变从想法到可运行软件所需的条件。产品经理现在可以不写一行代码就搭建出一个功能性应用原型。数据工程师可以在几小时内搭建出一条数据流水线,而这在过去需要一个团队花一周时间来规划和测试。过去只存在于某人脑中的领域知识,正以前所未有的方式变得可移植。
"制约因素从来不是知识本身,而是从知道某事到能够构建某物之间的转换层。AI正在移除这一层。"
真正改变的是什么
好软件的基本原则并没有改变。清晰的架构依然重要。良好的数据实践依然重要。理解系统在高负载下的表现,或第三方依赖意外变更时会发生什么,仍然需要真正的技术深度。AI移除的是门槛本身——那些要求特定语法知识的环节,并不是因为问题在概念上很难,而是因为工具要求如此。
实际效果是领域知识正变得可移植。一位比公司任何人都更懂路由问题的物流工程师,现在可以直接构建一个体现这种理解的原型。一位确切知道该寻找哪种异常模式的安全分析师,现在可以直接构建用于发现该模式的监控工具。知识一直都在,改变的是从知道到构建之间的路径。
"AI移除的是门槛本身——那些要求特定语法知识的环节,并不是因为问题在概念上很难,而是因为工具要求如此。"
对于平台和基础设施工程师而言,这催生了一类新的利益相关者。请求访问你内部开发者平台的人可能不知道什么是Kubernetes命名空间,但他们可能正在构建真正能满足实际业务需求的东西。你的平台如何设计、记录和开放访问,将越来越决定你的组织能从这一扩大的构建者群体中获取多少价值。
两个不会自行解决的问题
第一个是质量问题。降低构建门槛并不会自动提升构建成果的质量。由不完全理解模型生成内容的人产出的代码,仍然是需要有人维护、调试并最终淘汰的代码。已经在工作队列中看到这一现象的工程团队明白,应对之策不是锁紧大门,而是构建更好的脚手架:合理的默认设置、能捕捉常见故障模式的防护机制,以及为非职业工程师编写的文档。
第二个是归属权问题。当更多人能够构建时,更多人就会去构建。这对速度有利,但也造成了蔓延。六个月前业务分析师部署的服务由谁负责?凌晨两点出故障时该怎么办?那些能够想清楚如何将所有权模型和支持体系扩展到非传统构建者身上的工程组织,将能从这一变革中获取最大价值,而不会背负最多的技术债务。目前这里还没有定论,值得关注的是那些正在攻克这一问题的团队。
角色不是在缩小,而是在改变形态
工程师社群中确实存在一种真实的担忧:当如此多机械性工作被自动化后,这对这门手艺意味着什么。一些工程师将其视为一种威胁——不完全是对工作本身的威胁,而是对某种更难以名状的东西的威胁:专业技能、身份认同、以及花费数年才建立起来的熟练度。这种担忧值得认真回应,而不是被轻视。
"工程师作为手艺人的角色正在部分让位于工程师作为更庞大构建群体的基础设施提供者的角色。"
迄今为止的证据指向的方向与大多数人的担忧不同。工程师的角色正变得更具杠杆性,而非变小。当更多人能够构建时,懂得如何构建好的人就会成为倍增器,而非瓶颈。他们会把更多时间投入到架构、评审和平台设计上,投入到制定其他人无需理解每条规则存在的理由就能遵循的标准上。工程师作为手艺人的角色,正部分让位于工程师作为更庞大构建群体的基础设施提供者的角色。
对能够把事情构建好、并深刻理解系统运作方式的人才的需求并未下降。问题正变得更加复杂,即便解决问题的某些步骤正在变得更快。这是一份与大多数工程师受训时所学的不同的工作,但并不是一份更低等的工作。
