“IT 精英”向“IT 民工”的转变,并非玩笑,而是对程序员这一职业演进过程的真实写照。

回顾编程技术的发展历程,早期的程序设计需要通过打孔卡完成;在汇编语言时代,程序员必须直接处理寄存器、堆栈以及函数调用等底层细节;到了 C/C++ 时代,内存分配与释放、内存泄漏等问题成为开发者绕不开的技术门槛。而随着 PHP、Java 等高级语言的普及,企业级应用开发的难度被大幅降低——只要逻辑清晰、业务理解到位,开发本身并不存在太多技术障碍,所需的库与工具几乎都已高度封装,开发者的主要挑战转变为如何将工具与业务逻辑进行有效组合。

进入 Vue、React 等前端框架时代,前端开发进一步工程化,大型项目的开发和维护成本持续下降,前端技术门槛也随之被不断压低。

从整体来看,传统意义上“程序员需要解决的技术难题”已经越来越少。大量曾经复杂的问题,早已被高阶开发者以“造轮子”的方式封装完成,并沉淀为成熟的工具、框架和最佳实践。

高并发常被视为技术能力的试金石,但现实是,大多数公司并不存在真正意义上的高并发场景。对许多企业而言,高并发更像是一种“屠龙之技”——存在于想象中,却鲜有实际用武之地。即便遇到并发问题,其本质往往也是经验问题:在足够多的实践场景中反复打磨后,并不具备难以逾越的技术壁垒。更何况,Go 等语言在设计之初就内置了协程与并发模型,显著降低了并发编程门槛;现代软件工程又普遍采用服务化部署和成熟的弹性伸缩方案,使得需要开发者亲自解决的并发问题进一步减少。

至于编译器、操作系统、底层驱动、图形等相对小众的技术领域,深入了解后会发现,其核心并非“不可企及的难度”,而更多是时间积累与工程经验的叠加。这些领域对个体而言或许存在一定护城河,但其根本原因在于岗位稀缺、新人进入门槛高,而非技术本身具有决定性优势。一旦失业,重新匹配岗位的难度也往往更高,甚至很多人连这些“萝卜坑”具体在哪里都无从知晓。

剩下的挑战,主要集中在大型软件工程的复杂度控制与系统架构设计上。然而,这类问题通常由少数架构师负责,鲜少落到普通甚至资深开发者头上。更现实的是,大多数项目的业务复杂度远未达到需要专职架构师介入的程度,往往由几名经验丰富的开发者协作即可完成。

在国内的软件工程实践中,“能用就行”的开发模式依然占据主流。可维护性、长期演进等工程质量问题,往往并不在决策优先级之内。企业更关注交付速度,而非技术债务的长期成本。在劳动力极为廉价的环境下,当系统不可维护到一定程度,推倒重来、重新招聘人员,反而成为一种“更经济”的选择。在这种现实条件下,程序员个人的技术积累很难转化为稳定而持久的议价能力。

当市场供需尚未严重失衡时,个体仍有机会分享行业红利;但一旦供给过剩,市场力量便会迅速重塑一切。十年前,iOS 开发者只需完成简单页面即可获得可观薪资;而如今,大量应届生已系统掌握前端技术,仍难以获得稳定的外包或正式机会。这并非个体努力不足,而是市场结构性变化的结果。在这样的环境下,单纯“学技术”未必能带来出路,甚至出现了“不如学语言--润”的现实考量——而未来,随着离线大模型与实时翻译硬件的成熟,工作语言技能本身或许也不再构成壁垒。

进入后 LLM 时代,AI 编程工具对程序员职业的冲击愈发显著。尽管目前大模型在长上下文与复杂系统理解方面仍存在明显不足,容易出现幻觉,但这并非决定性问题。事实上,只要 AI 在小规模、局部任务中达到较高可用率,便足以替代大量重复性工作。而现实恰恰是,大多数程序员的日常工作本身就高度重复,缺乏真正的创新性,这正是 LLM 得以迅速普及的根本原因。

更重要的是,大多数企业的软件产品并不存在高度差异化的复杂需求。其中页面结构、业务流程、交互逻辑高度趋同,AI 只需对这些“通用模式”进行充分学习,即可生成质量尚可的解决方案。开发者的角色,逐渐转变为在 AI 生成的半成品基础上进行修补与整合。原本需要两到三人完成的工作,如今一人即可胜任,这对本已紧张的就业市场而言,无疑是一次强烈冲击。

在后 LLM 时代,程序员的知识与技能正不可避免地走向“商品化”和“廉价化”。这一趋势已然显现,冲击正在到来。

标签: none

评论已关闭

沪ICP备2024084999号-1