穿格子衬衫、戴黑框眼镜,平日里不善言辞,只顾坐在电脑屏幕前“无情”地敲击键盘,偶尔还会对自己日渐稀疏的头发发出几声叹息——这是如今社交媒体上众多网友对程序员这个群体的刻板印象。对此,程序员也会自嘲式地自我解构——戏称自己为“码农”。
如今,互联网行业无疑是程序员最集中的领域,几乎所有互联网技术都由程序员创造和驱动,例如那些已经深度参与人们工作生活的手机应用程序(App),其顺畅运行的背后都是一串串由程序员写就的代码。数字技术的落地、人们的数字生活体验已经离不开这个群体。
但是,你真的了解程序员吗?程序员的日常就是不停地写代码吗?这行业是吃“青春饭”的吗?中国的程序员群体是不是已经“过剩”了?……各种关于程序员的话题、讨论、段子层出不穷,他们更像是“最熟悉的陌生人”,让大众对这个群体抱有强烈好奇心。
本期“青年说”,我们一起走进青年程序员的世界。
1 只需“两耳不闻窗外事,一心只顾敲代码”吗?
“程序员只会写代码是远远不够的,还需要有沟通、项目管理、总结反思、培养人才、协作等综合能力。”
作为当今最热门的职业之一,程序员的压力是如影随形的——漏洞(bug)找不到、数据平不了、需求够不着……这些事件都会在程序员的日常生活中反复上演,有人甚至将程序员的工作常态描绘为“两耳不闻窗外事,一心只顾敲代码”。加之国内互联网企业“996”等事件屡屡登上热搜榜,程序员职业人群的生存状态和精神世界也逐渐成为一个备受关注的议题。
“自认为写得很完美的代码,却在运行时总有大大小小的bug,这大概是每个程序员最郁闷的时候。”王霄(化名)在福建一家海运公司从事后端程序员的工作。从2012年毕业至今,他已先后任职于几家软件开发公司,既有创业公司,也有大型互联网公司。王霄坦言,作为一名程序员,烦恼有之,但更多的是享受与热爱,特别是看到一串串代码经过自己的编排和组合后,变成真正“会跑会动”、会给人们带来便捷生活的应用时,这种满足感是溢于言表的。
程序员的工作就是守着电脑不停地敲代码吗?王霄对于技术、产品以及相关业务有着综合性的理解。“现在的程序员只会写代码是远远不够的,还需要有沟通、项目管理、总结反思、培养人才、协作等综合能力。”王霄说,程序员这个群体的工作内容并非大众想象的那么单一,除了写代码,其内涵是非常丰富的。
虎牙公司主播服务技术部副总经理徐光兴认为,程序员是一个较大的概念,根据工作内容的不同,大概分为几种类型——
“第一种是一线的开发工程师,也就是人们常说的‘码农’,他们的工作主要以执行为主,完成功能的开发即可;第二种是架构师,除了执行外,还要理解业务、技术,能抽象出既满足业务又符合技术逻辑的架构;第三种是技术专家,技术专家一般会在相关领域有较深的积累和经验,例如人工智能(AI)、大数据等,具有一定的深度,能解决业务痛点、难点甚至是行业痛点、难点问题。”徐光兴说,以上三种程序员类型主要是聚焦技术本身,从深度上一层层地递增。第四种是技术管理,在技术深度的基础上拥有更宏观的视野,把握和理解公司战略,结合实际带领团队找到对应的业务技术方向。
2 过了35岁的程序员,还有价值吗?
“行业内并非单纯从年龄来判断程序员的价值,更多的是综合考察其能力、经历、后续发展潜力以及过往贡献。”
“程序员过了35岁该何去何从”一直是个比较沉重的话题,甚至有人判断,一般国内程序员的“寿命”在20~35岁之间,超过35岁就很难继续从事开发工作,随之会面临淘汰、裁员的窘境。
的确,“年龄危机”在这个行业中较为普遍,并且随着互联网的发展,计算机技术慢慢成为基础技能,这无疑为程序员这些互联网从业者们带来很大的竞争压力。因此,“不满足于基础的写程序”也成为越来越多一线开发工程师们转型的方向。
今年30岁的李楠(化名)为国内某知名大学的软件工程专业毕业生,后入职于广州某通信企业,成为一线开发工程师。他告诉记者,最开始的工作是负责日常的软件功能开发与维护,除了写程序,还要和产品经理进行需求的反复沟通以及磨合。在积累了几年工作经验后,李楠选择了转型。
“目前我的工作更倾向于项目经理。”李楠说,“我始终觉得,一个优秀的程序员不光是自己一个人闷头写程序,还要尝试着引导一个团队去思考,要在满足用户多样性需求的基础上,创造更多的社会价值。”从做一线开发工程师时起,李楠就一直在积累业务经验,努力提升自己在行业内的竞争力。
事实上,在互联网公司,程序员的上升发展路径并非死胡同。“有的走专家路线,也就是往工程师、架构师、专家方向发展;另外也可以走管理路线,实现业务价值,我现在就是更多地往管理上转型。”李楠说。
徐光兴告诉记者,现在包括虎牙在内的互联网公司一般都会同时设置专业发展通道和管理发展通道两条路径。
“如果喜欢专注于技术,不希望精力分散,那就可以走专家路线;若是喜欢与人协作、带领团队、关注业务,不局限于某个细分技术领域的话,就可以让渡一部分研究技术细节的时间去做管理工作。”徐光兴说,行业内并非单纯从年龄来判断程序员的价值,更多的是综合考察其能力、经历、后续发展潜力以及过往贡献。
对于程序员群体的“年龄危机”,之江实验室人工智能社会实验研究中心副研究员王平认为,程序员要走出个人职业成长的焦虑,一方面需要不断学习,在提升原有技术知识的同时,增加其他相关业务的能力;另一方面,可以带着数字赋能等互联网思维,发掘新的创业领域,实现“破圈”。
“近几年,虎牙公司每年都会组织技术核心人员去国外交流学习,像亚马逊、谷歌这些互联网企业的很多工程师都会干一辈子,即使是年纪很大的技术专家依然在激情十足地敲着代码。”徐光兴认为,只要保持紧跟技术前沿的热情和持续学习的心态,35岁并不能限制技术人员的发展。
3 中国的程序员群体已经“过剩”了吗?
“支撑科技创新和产业升级的高层次人才和创新创业人才始终是社会迫切所需的,而程序员正是互联网时代技术创新的重要贡献者。”
早在互联网大潮来临前,就有人对程序员这一职业进行预言。1976年,美国未来学家丹尼尔·贝尔提出,信息劳动者将是后工业时代发展最为迅速的社会群体,因为社会生产实践正朝着越来越信息化的方向发展。本世纪初,互联网大潮正式登陆之时,印度社会学家达斯对这类新兴的互联网从业者也大加赞誉,称其为“新的中产阶级英雄”。
但是,随着每年相关专业的应届生踏入社会,加之国内越来越多互联网技术培训机构不停地向市场输入人才,国内程序员的从业人数逐年上升,并且逐渐年轻化。正是如此,才会出现中国程序员已经“过剩”的论断。
“程序员数量越来越多,但是好的程序员依然非常抢手。”徐光兴认为,互联网行业是高速发展的,如果程序员只局限在写代码上,那便没有核心竞争力,很容易被人替代,而“技术大牛”“程序高手”是不会存在“过剩”可能性的。
在创新驱动发展和高质量发展的背景下,支撑科技创新和产业升级的高层次人才和创新创业人才始终是社会迫切所需的,而程序员正是互联网时代各种技术创新的重要贡献者。
中国社会科学院社会发展战略研究院研究员田丰认为,就大众的生活而言,目前互联网的渗透率非常高,从孩童到老人,都使用智能手机上网,互联网技术的应用场景会逐渐从生产科研等部门扩展到百姓生活的方方面面。而互联网应用场景的增加,会使社会对程序员的需求也保持增长。
“我们仍处于数字技术革命的进行时,人工智能和大数据技术的发展还有相当多的技术红利,亟待应用于经济社会的多个领域和场景。劳动力市场不仅需要传统意义上的程序员,也需要从事具体业务工作领域的人员,只有掌握一定的编程技术,才能极大地提升工作效率。”王平说。
“未来国家间的竞争是高新技术的竞争,需要大量的人才作为支撑。”田丰说,在某种意义上,程序员队伍的建设也是未来国家间竞争的人才储备基础。