打开网易新闻 查看更多图片

“hello world”,这是一名程序员初次进入计算机世界时,看到的第一句招呼语。

自冯·诺依曼创造出了现代计算机,程序员踏上时代舞台不过70余年。而在中国,程序员的历史要更短一点。

以国内第一位程序员求伯君来说,这个职业的生命刚过“而立之年”不久。短短三十多年,程序员在国内所承载的社会意义却颇具符号化,且历经变化。

马化腾、雷军等最早一批技术出身的创业者,开启了国内互联网创业的序幕,这也是程序员最初给大众的印象——极客、精英。而后,王小川、张一鸣,甚至28岁从字节提前退休、全球旅居的郭宇等后继者,更是将“成功” “财富”的标签粘牢在这个职业之上。

如今,这个职业的从业人数已大规模增加。Github给出的数据是,2021年中国的开发者数量已经高达755万,位居全球第二。与此同时,“程序员”一词所折射出的含义变得更加复杂。一方面,它仍与创新、财富息息相关,越来越多的人被吸引进来。另一方面,它在某种程度上被塑造成了一个“高危”职业,脱发、加班、裁员甚至猝死,这些词屡屡与“程序员”三个字一起出现在新闻上。

这个时代里,一名程序员在用什么样的姿势进化?他们如何找到自己的平衡感?这是我们想与你们分享的。

首先,工作以后才发现技能不够用。

“我现在用到的知识,基本都是工作以后现学的。比如大数据在线和离线是我后来才学的,因为当时学校还没开这些课程。”2019年毕业,现在某大厂负责数据开发的工程师韦小磊表示。

在入职前,他基本掌握了数据、结构和算法的知识和技能。但实际工作还需掌握大数据技术(分在线和离线,它们有各自的框架知识),这意味着他需要自行完成相关的技能提升。

于是,曾有1年左右的时间,他每天下班后至少花2小时来看书、看官网、看视频,然后操作实践……这样坚持下来,他才完成了大数据技术的“自学计划”。

做一名程序员,肯定要学一些专业知识和技能。可现实是,这些知识和技能只有部分来自在校期间的积累,更多需要通过自学、接受培训等渠道来获得。

打开网易新闻 查看更多图片

“必须学。”算法工程师何莉莉表示,自学是程序员必不可少的日常。

她在某大厂工作,主要负责推理加速任务。所谓“推理加速”,就是通过“推理”(指从输入数据到输出结果的过程),将预测模型完成任务的时间缩短。

“当完成了‘从0到1’的过程后,如何‘从1到99’是比较难的。”她说。

在大学时,她学的理论知识、模型结构、技术工具等东西都比较宽泛,针对性不强。实际工作需要她在这些基础上进行优化。于是,她日常工作中会针对已有方案,不断探索新的方案。

目前,主要是大厂在做推理加速,中小公司基本不会涉及,所以何莉莉日常还会重点学习、借鉴其他大厂的解决方案中的逻辑思维和创新方法。

她说:“我们会翻看他们在社区里的演讲,大公司官方提供的讲座,一些技术帖子等。”

Java开发工程师蔡炳添指出,大学阶段学到的基础知识相当于“行业敲门砖”,如果读大学,有人引导着要比自己去摸索要轻松很多。但它并不是成为程序员的必要条件。

“因为知识更新太快,所以大学不是学相关专业的人也能成为程序员,只是付出的代价要大一些。”他说。

很多孩子从高中、初中甚至小学开始,通过课外自学、上兴趣班等方式学编程。对此,蔡炳添评价说:“编程要掌握的知识很多。他们开始得早,就意味着掌握的知识和技能更多。”

打开网易新闻 查看更多图片

其次,不了解业务,根本没办法写代码。

很多程序员在求职过程中,常常会出现这样两种情况:有些人虽然面试差,但实操能力强;有些人面试分高,但实操能力弱。

第一种情况好理解,很多程序员比较老实,不会油嘴滑舌的。至于为什么会出现第二种情况,可能只是因为他们“准备充分”。

“网上有教程刷算法题。它相当于数学公式,只要背熟了,就有思路。”Java开发工程师肖恒解释道,“但你让他实现这种算法,他可能无从下手。”

即使是大厂,有时候也会很不幸地招到不如预期的程序员。其原因在于:通过简单的笔试和面试过程,并不能够完全了解一个人。

“仅仅靠那几轮面试就想看透一个人,太难了。”Java研发工程师施嘉禾认为,时间轮替、大浪淘沙才能解决这部分招聘问题。

打开网易新闻 查看更多图片

再次,加班常有,算起来薪资不高。

“今年工作量还好,变得不那么卷了。”施嘉禾现在的工作状态,是忙完手头的活儿就“摸鱼”——不是打游戏,而是升级技术,以此提高自己的能力。

前两年,他所在的公司处在疯狂扩张阶段,他们团队从3个人一下子增加到80多个人。但去年9月后,业务稳定了,他们没有从0到1的大型项目,只有针对十几个已有项目的迭代需求。

这样一来,他们团队成员的任务量就变得比较弹性,只需要忙完需求就可按时下班。

然而,多数程序员仍然“卷得厉害”。受周围工作环境的影响,他们常常选择“自愿加班。

“我们都是早上9点半上班,晚上10点半下班,偶尔会晚上6点多下班。”何莉莉说,她每周会安排一天早点下班,这样可以回家收拾房屋,“不然每天都那么晚下班,除了工作什么也干不了”。

目前,她所在的小组还没出现“半夜爬起来”的现象。但此前,有几个年轻同事,因为刚毕业不久,无法接受这种强度较大的加班而选择离职。

“经常长时间工作,晚上10点以后才下班,还担心任务出问题会带来较大的影响……这样的工作生活会给人带来较大的心理压力,会有点扛不住的感觉。”何莉莉对这个工作的压力有很深的体会。

加班与否,与业务内容也有关系。比如安全风控,对于很多公司来说都是至关重要的,所以投入较多。韦小磊所在的业务部门负责公司的安全风控,经常加班到晚上10点多。

有些程序员需要加班熬夜,直至凌晨一两点,甚至凌晨三四点,简直是拿生命来工作的节奏。这是程序员的工作性质决定的,因为一个任务来了,就必须忙到“问题解决了”或“项目上线了”才能休息。

“我们公司的使命是用户第一。在这样的情况下,我们肯定就不看时间,不能说‘现在是凌晨几点,我得去睡觉了’。”肖恒表示,“用户着急等着,我们就得解决,直到没有问题为止。”

由于经常加班,肖恒一个月的加班打车费也得一两千块钱,“平时看电影、看书之类的时间就相对较少,周末也不太想出去玩”。

在加班较多的情况下,公司也会给程序员相应的补偿。比如较高的工资,这样双方就默认“加班不额外给加班费”。还有允许调休,几班倒。但实际情形可能是大家都很忙,根本没时间调休。

这看起来并不划算。“我们的时薪算起来并没有很高。”蔡炳添说,这也没有办法,都要生存嘛。

打开网易新闻 查看更多图片

最后,大多数程序员都在吃青春饭。

众所周知,大厂的“35岁现象”,最早就是从程序员这里来的。

“我才25岁,不想35岁的事。”韦小磊说,他不担心自己35岁就失业,“人是一点点发展的。如果觉得自己发展得OK,那么没必要焦虑。像我的组长今年都37岁了,他也还在啊。”

问题是也就只有组长的年龄超过35岁。事实上,很多年龄稍大的程序员都会有焦虑感。毕竟他们的工资较高,工作精力和学习能力却可能比不上年轻人,被换掉的几率还是很大的。

“确实大部分程序员都是在‘吃青春饭’。”今年47岁的程序员高春辉表示。作为技术人员,他90年代开始创业,现在是一家公司的创始人。在公司里,他是其中一位大龄程序员。

与国外不同,国内大龄程序员并不多。少部分人会一直走技术路线,成为架构师。但大部分人会转产品、项目经理或管理岗位。至于转行的,开滴滴、送外卖、写博客等情况都有。

高春辉认为,这种现象恰好说明,35岁后程序员群体从“买方市场”进入“卖方市场”。年轻时,他们更在乎钱,接受加班;到了中年,他们有房有车,更在乎时间,为更多陪伴家人而选择其他工作。这个市场似乎能够不断“更新血液”。但长期来说,买卖双方都有损失。

打开网易新闻 查看更多图片

对于程序员来说,他们只对其职业生涯的前1/4段可控,后3/4段则充满不确定性。

“很多企业长期强制加班,也不支付加班费。这不仅降低员工的工作效率,而且可能提高了离职率,企业还要为招聘新人付出更多的成本。”他表示,与其这样,企业还不如多招人,并适当继续聘用年龄较大但仍具有竞争力的程序员。

高春辉的公司现在有近50名员工,几乎每天都是朝九晚六,即使偶尔需要加班,也会按国家规定支付加班费。员工当中,还有3人是80后程序员。有两年,公司业务调整,需求不多,他选择继续聘用这些程序员。

年龄大小不是问题,但性别差异还是个问题。不久前,高春辉的公司曾招到一位女员工。面试时,她说自己还没有对象。但三个月后,她的肚子大了。

高春辉对此有点无奈,“我们也不是想搞职场性别歧视,但确实不信任的成本很高。企业要为怀孕的女员工付出两个成本,一是她休产假后照发的薪水,二是另外招人去做她的工作的成本。”

“如果不能干到35岁,就可能回老家。”何莉莉表示,女程序员的焦虑感更强,因为她们面临的不只是年龄的问题,还会担心结束当前合同期后,能不能继续留在公司。

程序员不只有男性。BOSS直聘研究院数据显示,今年3月,全国范围内,拥有程序员相关工作经历的求职者中,男性占比80.47%,女性占比19.53%。

但现实中,仍有很多用人单位不愿意招已婚未孕的员工。这对于想跳槽或者合同期快结束,但还有好几年才到35岁的女程序员来说,是一个叫人头疼的现实问题。

何莉莉说,“我有对象,现在还不敢结婚,但该结还是要结的。”