SQLite的创始人D. Richard Hipp在一段访谈视频里提过一个具体职位:SQL出现之前,专门写软件去查询大数据集的人,职位名称就叫“COBOL程序员”。这活儿后来被SQL整个接管,程序员不用再手写取数逻辑,说清楚要什么就行。

Hipp的结论是,程序员没有消失,工作换了个说法。这话放在今天关于AI编程会不会让程序员下岗的争论里,正好戳中大家关心的问题。

SQL接管的是哪一层活儿

Hipp自己补了一句,他这么说是简化了历史,不是软件史的完整版本。这句提醒很重要——别把一个访谈类比当成结论。

他讲清楚的那部分是:SQL把“怎么从数据里取东西”这层实现代码,换成了一句声明式规格。程序员说要什么,机器自己生成怎么拿,过去要花大价钱雇专人手写的那堆代码,一句查询语句就顶上了。

这是从大量专用代码转向声明式表达的转变,受冲击最大的是以重复实现为核心的岗位任务,不是程序员这整个职业。系统设计、性能调优、出错兜底,SQL从来没接手过这些活儿。

跟AI编程比一比,边界差在哪

Hipp的类比经常被拿来给AI编程站台,说历史已经证明自动化不会减少程序员数量。这个推论走得太快了,两件事的边界不是一回事。

维度SQL替代COBOL查询AI生成代码
问题边界清楚,查询逻辑范围固定模糊,任务类型跨度大
验证方式结果能直接核对,对错分明验证成本高,隐藏错误不容易发现
出错影响范围局限在单次查询可能扩散到依赖这段代码的多个系统
自动化对象查询实现代码更广泛的实现代码,甚至部分设计决策

历史类比能帮你看清一件事往哪个方向走,回答不了这次自动化会不会真的收缩岗位数量。材料没给这个答案,谁也别急着替它下结论。

对写代码的人和带团队的人意味着什么

对普通开发者,重复实现型任务被工具接住之后,个人价值更多落在两件事上:把需求想清楚,判断生成结果对不对。花时间打磨测试思路、代码审查、系统集成排错,比死磕语法细节更有回报。

对负责团队和岗位设计的管理者,如果团队里初级岗位的工作主要是重复实现,这部分任务最先被工具吃掉。岗位设计得提前想清楚:初级人手要不要精简,留下的人往验证和系统治理方向培养到什么程度。责任一旦集中到少数人身上,出错之后的追责链条也得跟着重新设计,不能还按老岗位说明书走。

接下来值得盯的是两件事,而不是空等一个岗位数字:AI生成代码的验证成本会不会随着工具成熟真的降下来;企业省下来的实现时间,是转投到需求定义和系统治理上,还是直接拿去裁减初级岗位。这两件事的答案,才是这次自动化真正的分水岭。

自动化没消灭程序员,只挪了价值层 需求定义 要什么数据、解决什么问题——人来想清楚 声明式规格(SQL / 新工具) 自动生成实现代码,收走重复手写的活儿 结果验证与系统治理 对不对、出错谁负责——责任落在人身上