跳到主要内容

程序员的未来

· 阅读需 5 分钟

ChatGPT 出来之后,就不得不考虑一下程序员的未来前景了。我自己已经老了,是不可能转行了,主要是考虑儿子的将来学什么专业。

回看编程语言的历史,无疑是朝着方便人类使用的方向发展的。从最开始的纸带打孔,到汇编语言,再到高级语言,越来越“容易”了。即便是高级语言,这些年流行的 Python 也比二十年前流行的 C++ 要容易使用太多了。在不远的将来,在大多数领域,人们可能不再需要编程了。有什么要求,直接用人话告诉计算机即可。

通向这一目标的最大障碍在于让计算机完全理解自然语言。最近大语言模型的发展,基本上已经扫清了这一障碍。淘汰编程语言指日可待了。当然,程序员这个行业不会完全消失。仍然会有少量的底层开发岗位需要职业程序员。考虑到需求量的降低,而这些年又培养了大量的软件专业人才,到时候恐怕程序员会非常难找工作。

其实,就算人工智能发展的没这么快,我可能也不会建议儿子将来选择计算机软件作为专业方向。必须承认,过去二十年,软件工程师一直是收入比较高的行业,我也沾了光。但我觉得这种高收入并不能长时间维系,之前的高收入纯粹是由于各个行业都需要信息化,程序员需求量巨大,而培养程序员的速度暂时落后与需求。最近这几年,软件人才的培养速度飞快增长,很快就要把需求缺口填满了。将来这个行业的收入将不会与其它工程师有太大差别了。

除了收入还可以之外,软件工程师还真不是个特别好的行业。它有两点是我非常不喜欢的。

首先,软件工程师通常不会直接与终端客户有交流沟通。大多数程序员平时都只会与其它工程师、项目经理等团队成员交流。在这种情况下,一个人水平如何,客户无从得知。换句话说,软件工程师的水平高低不是那么直观的,很多时候,他们的业绩好坏,全在于领导的印象。像医生,健身教练等,都是直接为客户提供服务的。如果他们的水平真的非常高,服务特别好,那么是可以在跳槽或自己创业的时候带走客户的。但程序员就别想了,程序员技术再好也很难创业成功,倒是销售人员更容易创业成功。

其次,软件行业经验贬值的太快了。很多技术活是可以做一辈子的,比如财会、机械设计之类的。但在软件领域,那些需要花费大量精力专研的技术,几年之后很可能就都变得一钱不值了。同时各种新技术层出不穷,我就时时刻刻都担心自己被淘汰,总是精神紧张。当然了,乐观的人也可以把这视为一种行业门槛:只有能够终身学习的人,才适合做软件工程师。