今天看到一篇《一次又一次的「开发者要被取代了」的炒作潮》的文章,是一篇翻译的文章,作者文章中的几个观点还是值得思考的。
从低代码到AI的辅助开发,开发者要被替代的贴子层出不穷。每一次不是替代,而是转型。新的技术发展会淘汰旧的职业,也会催生出新的职业,最典型的例子是马车夫,当年马车夫也曾认为“汽车太贵容易坏”,如今AI初期同样被低估。
作者所说的低代码平台,云计算革命,和AI编程,我都经历过。
低代码平台,当时所在的公司开发了一套低代码平台,这个东西能解决一些简单的需求,比较标准化的系统。但一量需求变得复杂,定制化,使用它的成本就会上升,不如写代码快,而且它的维护性也比较差。低代码平台的使用用户是谁?是业务,还是开发,实际的场景中,业务一般不会用,开发用的比较多,但对于开发来说,熟悉一套低代码平台图形化的操作,反倒不如直接写代码来得简单。AI编程的出现,低代码平台那种操作方式更加变得不实用了。
云计算的出现,各个公司流行上云,从自有的服务器迁移到云上。微服务也变得流行起来,很多对传统运维的要求变得就不再适用,首先面临转型的是运维工程师。对于小公司来说,运维工程师完全可以不需要了。相应的也催生了DevOps 工程师。
AI编程的兴起,又有了开发者被替代一说。经过这一年多使用AI编程的使用,AI的编程工具越来越智能。从最初chatGPT 出现后,通过聊天框输入需求,它生成对应的代码,然后复制到项目工程中去。到现在通过cursor一类的AI编程工具,直接管理项目代码并生成对应的文件和代码。
文章中有一个观点我是比较认同的,作者说:『代码并不是资产,而是负债。每行代码都需要被维护、调试、安全防护,并最终被替换掉。真正的资产是代码背后的业务能力。 如果 AI 大幅降低了写代码的成本和速度,那其实是在让人们更快、更轻易地制造更多的负债。当负债的产生速度空前提升时,能够战略性地管理、减少这些负债的人才价值也会随之大幅提升。 尤其因为 AI 擅长局部优化,却无法进行整体设计。它能优化单个函数,却无法决定服务是否应该存在,或服务应如何与更广泛的系统协作。当开发速度加快时,架构问题往往会在你意识到之前就已深度植入系统之中。』
在使用AI 写代码过程中,没有良好的设计和架构,维护就会越来越困难,你不能每修改一个小需求,都让AI重写一遍整个系统吧。在未来的发展中AI整体设计上也许会稍有改善,但目前来看整体的把控和细节调试还是需要人的干预的。
虽然技术转型的模式始终如一——系统管理员变成了 DevOps 工程师,后台开发变成了云架构师——但 AI 正在加速这一过程。而最终留下来的技能,不是写代码。 而是设计和构建系统的架构。这,正是 AI 无法取代的核心能力。
汽车淘汰的是马车,不是运输;AI淘汰的是工种,不是工作。