AI时代,到底是拉近了还是拉大了资深工程师与新人的差距?

前几天看到一个帖子。

how junior grow up in the ai era ?

我其实也一直很好奇这个问题。

我从毕业以来,做过很多不同的工作内容。最开始做运维,后来做SRE,然后又开始做DevOps,然后做Python后端开发,又接触了一点前端开发,期间还学会了一些基础的AWS(公有云)的技能。

2023年年初开始接触AI(这篇博客中特指大模型),去年10月换了一份工作,现在专职做AI应用开发。

我以前一度担心我的技术栈问题,我属于典型的技术栈广泛但不深入(Python和SRE还不错,但是公有云和前端就稍差一些),有一点担心未来在职场的竞争能力。

随着AI的发展,我的这个“缺点”反而在一定程度上成了优点。

我做过的岗位多,这让我本身对于整个软件开发流程比较熟悉,同时,我对于Python开发和SRE有足够深入的理解,所以AI对于我来说变成了一个很强大的助手。

这里的AI是指cursor这一类IDE工具和Gemini这一类聊天工具。

比如,大概三个月前,我开发了一个学习英语的工具。

我在一家合资公司工作,英语是我的主要工作语言,平时跟同事开会、发邮件、写文档以及live code review都是用英语。可我的英语不是特别好,就想好好学一下英语。

我在市面上找了一圈,发现没有特别适合我的英语学习工具。

首先,我有一定的英语基础,基本的听说读写都没问题,希望进一步提升;其次,我有很明确的学习场景,就是软件开发相关的英语;再者,我有很好的学习材料,比如我们的项目文档、邮件内容,甚至同事之间聊天的内容等等。

这些都是最贴切我的工作场景的,我希望从中挑选一些比较常用的表达收集起来,方便我经常复习,这对我来说是最高效的学习方式。

由于没有这样的工具,于是我就自己开发了一个。

LanguageLeap

这个工具可以通过浏览器插件收藏我在工作中看到的英语句子,后台会通过AI进行翻译并且生成音频,这样我就可以经常复习,尤其是可以在通勤的时候用手机进行学习。

如果没有AI(或者说cursor这样的工具),我也能开发这样的工具,但估计最少需要1个月时间。
现在,在AI的帮助下,我只用了两三个晚上就开发完成了。前端使用React,后端使用FastAPI,部署到一台ubuntu上,对了,还有一个浏览器插件。

现在,在AI的帮助下,我只用了两三个晚上就开发完成了。前端使用React,后端使用FastAPI,部署到一台ubuntu上,对了,还有一个浏览器插件。

其实在AI的帮助下,职场新人也能开发出类似的工具。关键的区别在于:我具备识别AI输出正确性的能力,能在架构层面指导AI实现更高效的方案,因为我心中有一个整体的技术架构

而大部分新人缺乏这种判断力——这不是能力问题,而是经验积累的差异(其实也算是一种能力)。

从架构上来讲,这个工具还只是一个很简单的项目,没有微服务,没有网关,没有可用性要求,甚至没有正规的CICD流程。

如果是企业里的正规项目,情况就复杂得多了。

企业项目通常有严格的代码检查、review流程、部署规范、网络隔离、K8S集群等要求。虽然AI在这些环节都能提供助力,但如果新人完全依赖AI,仍然很难胜任。

原因很简单:AI掌握的是公开知识,而企业内部往往有自己独特的规定和限制。 这些”内部知识”AI无法获取,新人该如何应对?

AI掌握的是海量的、公开的显性知识,但它缺乏的是基于特定业务背景、团队文化和技术演进历史的隐性知识
这种隐性知识恰恰是高级工程师的核心价值所在,它表现为一种技术直觉架构品味

当AI犯错时,能一眼看出来,依靠的就是这种长期积累的隐性知识。

举个具体例子:如果在稍大一些的公司(几百人)工作过,你会发现企业内部的网络环境往往异常复杂——各种内网规则、安全策略、自定义配置等,这些都是AI无法直接获取的”隐性知识”。在这种场景下,一名有经验的高级工程师能快速定位问题、制定解决方案,这是新人+AI组合无论如何都做不到的。

更深层次的问题是,企业开发工作本质上不仅仅是技术问题,更是协作和沟通的问题

CICD流程需要与运维团队协调,网络隔离方案需要与安全团队讨论,业务需求需要与产品经理反复确认。AI可以帮你生成代码,但它无法替你去开会、去协调、去理解复杂的组织关系和业务逻辑。

在AI时代,这些”与人打交道”和”理解复杂系统”的软技能反而变得更加稀缺和宝贵。

那是不是说我们以后在技术上成为各方面都懂一些的”通才”就可以了呢?

也不完全是。

虽然广泛的技术栈在AI时代确实有优势,但作为一名软件工程师,深度专精仍然不可或缺。原因有两个:

首先是职业发展的现实需要。
AI对初级岗位的冲击远大于高级岗位。程序员需要在某一两个领域比较精通后才能晋升到高级岗位,这样相对更”安全”,短期内不容易被替代。

其次是技术判断的能力要求。
只有对某个领域有深入理解,才能准确判断AI输出的正确性和方案的优劣。如果只具备初级水平,很可能会被迫全盘接受AI的建议—-而目前来看,AI的编程能力已经完全不输于一个初级工程师。

所以理想的状态是:在保持技术广度的同时,必须在核心领域保持足够的深度。

回到最初的问题:AI 到底是拉近了还是拉大了资深工程师与新人的差距?

我的答案是:它拉近了“实现”的差距,却拉大了“认知”和“架构”的差距。

对于新人而言,AI 是前所未有的强大工具,能帮助他们快速上手,跨越初期的技术鸿沟。但对于资深工程师而言,AI 解放了我们重复性的编码工作,让我们能更专注于架构设计、复杂问题攻坚和团队协作这些更具创造性和价值的领域。

最终,决定一个工程师价值的,不再仅仅是你“会不会写代码”,而是你“知不知道该写什么代码”,以及“如何让代码在复杂的系统中优雅地运行”。