1
今年的年度总结,从一条给我带来认知冲击的新闻开始说起。
近两年,已经有不少省市把“计算机科学”、“软件工程”等专业列为红牌专业,建议考生谨慎报考。
这之所以会让我觉得震惊,不仅仅是因为我是计算机专业毕业的,还因为前几年计算机专业还非常热门,而且供不应求。
那真是一个黄金年代。哪怕你不是计算机科班出身,去报一个软件开发的培训班,稍微努努力就能找到一份月薪万元的工作,而且前景相当好。跳槽勤快点,平均每年涨薪15%到20%不是什么不可思议的事情;哪怕你不喜欢跳槽,在一家还算不错的公司一直干,年均涨薪10%是很普遍的。
在那个年代,经常会流传这一类故事:某一个能力平平的程序员加入到一家默默无闻的创业公司,公司被收购之后就财富自由了。
如果你没有经历过那个年代,你也可以看看我七八年前写的文章。那时候我天真地认为,每年涨薪10%到20%是理所应当、天经地义的事情。
从震惊中恢复过来,我总结出有三点原因:
- 第一,整体经济下行。
- 第二,招生扩张过快。
- 第三,AI辅助编程突破。
前两条原因无须过多解释。第三点原因的来龙去脉是这样的:由于大语言模型的横空出世,AI辅助编程有了很大的突破——从原来简单的模板代码生成和代码补全,直接进化到可以从头到尾完成一个中小型需求的开发。
也就是说,原来需要一个高级程序员带着两三个中级、初级程序员干的活儿,现在只需要一个高级程序员就可以了。
那么,中级程序员和初级程序员有没有可能替代高级程序员呢?答案是,不能。他们之所以不是高级程序员,就是因为他们还没有应对复杂度需求的能力。
另一方面,AI生成的代码所潜藏的问题往往是他们看不出来的。这既是能力决定的,也是经验决定的。
于是,这就出现了一个很奇怪的局面——在招聘市场上,中级、初级程序员的岗位变少了,而高级程序员和资深架构师的岗位变多了。
其实,不是市场需要的程序员变少了,而是对程序员的要求变高了。
2
市场上的变化,导致「35岁」现象出现了逆转。
在此之前,程序员行业一直有一个说法——“35岁如果升不到管理岗,就很容易失业”。这个说法的现实基础是,写代码虽然是一个脑力活,但是很多时候会变成一个体力活。在AI辅助编程取得突破之前,有很多重复的工作需要做,而且常常因为需求变更或者是应对突发情况要加班,所以程序员大多要能熬夜。
35岁不做管理、只编程,就会有两个劣势。第一,你的工资高;第二,你的熬夜能力比不上小年轻。
如果没有X因素出现,今年34岁的我很快就要考虑转行或者降薪做外包。在2025年,X因素出现了。
2025年年初,各大AI辅助编程工具推出了Agent模式。从原来只能简单辅助程序员写代码,进化到了可以完成中小型需求的全部代码编写的程度。程序员的重复性工作和简单的任务急剧减少,这就导致了中级、初级程序员岗位的市场萎缩。
与此同时,由于AI辅助编程导致软件开发的成本出现了下降,继而导致了软件市场的需求量反而变大了。这就是经典的杰文斯悖论(Jevons paradox)——当某种资源/技术的单位成本下降、效率提高时,结果往往不是总消耗下降,反而会因为使用变得更便宜、应用场景扩张而让总需求/总消耗上升。
这个悖论来源于19世纪的英国。经济学家William Stanley Jevons发现,瓦特蒸汽机提升了煤的使用效率,降低了单位效用的成本,结果使得蒸汽机被更广泛地应用到更多场景,使得煤的需求不降反升。
这个悖论,不仅出现在第一次工业革命,还出现在第二次工业革命。电力越来越便宜,电力的普及范围就越广泛,最终使得电力的需求越来越高。
互联网时代如此,AI时代也如此。
3
我是幸运的。如果早出生几年,我很可能就已经要转行了。如果晚出生几年,我很可能毕业即失业,很难找到工作。
我觉得我更幸运的是,编程对我来说变成一件好玩的,有意思的事情。这对于我来说,要比工作更好找、能赚更多钱重要得多。
我是在今年8月份开始使用AI Agent帮助我写代码的。在此之前,写代码已经让我很厌倦了。
第一,写代码很孤独。写代码的时候,你没法跟别人讨论。程序员很贵,每个人都很忙,都要赶时间把自己负责的那部分写完。无论是一起讨论设计,还是code review,很多时候都已经沦为形式。
第二,写代码很琐碎。写代码要注意很多的细节,你稍不注意就会犯很基础的错误。哪怕再小的错误,都有可能变成在亚马逊雨林里煽动翅膀的那只蝴蝶,在你意想不到的时候和意料不到的地方掀起一场灾难性的风暴。
第三,写代码很无聊。正如之前所说,写代码的过程中有很多简单重复的工作,这些活儿很容易消耗你的耐心和激情。
使用AI Agent之后,这一切都变了。
写代码变得不孤独了。我从理解需求开始,就可以跟AI讨论。把需求讨论明白了,我就让他给出设计,提供好几个方案让我挑选。方案细节确定好了,我就让他帮我落地代码。最后,我再检查他的代码实现是否符合预期。
写代码变得不琐碎了。AI能把琐碎的事情做得很好,而且做得很快。我可以让他反复检查代码,甚至可以让不同的AI Agent互相检查。
写代码变得不无聊了。AI天生就不怕重复,不怕简单。我的心智宽带就可以解放出来,去思考更多更高级的事情——更好地理解需求,更好地设计架构,更好地重构代码。这些事情,更有意思。
4
编程更有意思,更好玩了。我也发现我恰好擅长用AI编程。
首先,我有丰富的AI对话经验。我从2023年5月份开始,就高强度地使用ChatGPT。我一边看书,一边向AI提出问题,跟他讨论更大范围的话题,并不局限于书中的内容。直到这篇文章写作的此刻,我已经跟AI对话了1800小时。
然后,我喜欢在对话中学习。出现了AI之后,我可以在一边工作,一边跟AI学习各种各样之前不熟悉的知识。学习和实践,结合得更加紧密了。
最后,我特别擅长把模糊的问题变成清晰可执行的步骤。我厌恶模糊,喜欢清晰。我乐意把工作和生活拆解成一个个计划和执行清单,在规划、执行、反馈和优化中获得乐趣。
我很幸运,恰好能用自己喜欢又擅长的事情养活自己。
5
近几年,我越来越厌恶过去信奉的“优绩主义”——认为优秀的人就应该得到更多;不优秀就意味着不努力,就意味着一个人是失败的。
我逐渐让自己转向“我对什么感兴趣”。什么事情能引起我的兴趣?做什么能让我兴奋起来?学习什么样的内容可以让我的大脑进入激活状态?
这是一个艰难的转向。作为一个接受了十几年应试教育的中国学生来说,尤其我还是某种程度的既得利益者,我很难不信奉优绩主义。从小,爸妈就告诉我分数高才能上好学校。上学时,学校因为我成绩好才不收或少收我学费。毕业之后,我也因为学历得到比一般人多得多的面试机会。
这是一个必然的转向。我越来越意识到优绩主义对我的伤害。我一旦做得没那么好,我就会质疑自己,甚至会质疑自己存在的价值。我对一件事情感兴趣的同时,就会下意识地问自己“这对我有什么好处”。我对他人的评价不怎么取决于他们是否友善、幽默、慷慨和关心他人,而是他们是否足够“优秀”。
在接下来的一年时间里,我会连续订阅12个月200美元每月的Cursor会员,并且每个月都要用完里面的额度。我希望大量的实践,能给我带来足够的灵感、激情和创造力。每个月,我都至少写一篇文章,记录我使用的心得和感想。
与此同时,我会更多地问自己,我对什么感兴趣,我想要做什么,我更想把时间放在什么事情上。