随着「内卷」、「躺平」等词汇出现的频率越来越高,「大龄恐惧症」也越来越多地在技术圈被人讨论,而《2020程序员人才大数据洞察报告》也指出如今程序员群体呈年轻化趋势,90后占据着半壁江山。这也促使很多程序员在工作5-10年以后,都会开始思考更久以后的自己会是怎样一种生活状态,他们担心着是否会被时代抛弃。带着这一问题,我们与几位程序员朋友聊了聊,他们中有人从一线退回老家,有人创业失败回归大厂,还有人依然坚守在「自我实现」的道路上。说到我的程序员经历,其实还是很坎坷的,因为最开始我是从退伍军人转行开始写代码,并非科班出身的程序员,连一点边都沾不上。我记得是十六岁那年去的部队,入伍5年后面临淘汰和退伍的选择,于是不得不去思考未来的人生规划。那个时间段我是非常迷茫的,常年的从军生涯让我与社会有点脱节,不明白那时有潜力的行业是哪些,关键是我什么也不会。也是一个巧合,我的姐夫给了我一个人生参照,他和我一样是一名普通Java程序员。又恰好我在小时候就对计算机很感兴趣,因此在我们的一次长谈之后,我就义无反顾地决定走这条路了。当然,我的表哥肯定没法教我写代码,而且自学也没法证明我写代码的能力,所以我选择去报了培训班。说实话,刚开始学Java完全跟不上节奏,因为从普通人的思维方式转换成程序员的思维方式没法一蹴而就,那段时间除了白天上课之外,晚上我还得回家把老师讲的视频拿出来复习,课上教的代码也得重新写一遍,所有事情弄完基本在凌晨1、2点了。这个经历对于刚接触代码的我来说非常痛苦,就好像你不读书5年多,但某天你突然接到通知要参加高考一样。但哪怕再苦我也得坚持下去,因为你不努力就没饭吃,每天得过且过的后果除了白白浪费交的这近1万培训费用外,更惨的是你会面临无法找到工作谋生的窘境。我很庆幸,5年军旅生活塑造了我坚毅的个性,能让我在那段时间熬过来,相比起肉体的磨练,精神上反复从疲倦到兴奋的过程更令我体会深刻。结束培训之后,我的第一份工作是在南京,当时进了一家小公司做java后端开发,在工作的时候也不断看各类技术大佬的的博客,自己也啃过几本专业书,积累了3年的经验后投了当时北京一家中等规模公司的java岗,薪水有了较大的涨幅,年包能有30多万,可以说那时候就是我职业生涯的最高峰了。
在北京的那7年,让我感触最深的一点是没有归属感,不仅仅是每天长达一个半小时的通勤时间和地铁里人挤人的逼仄,还有人与人之间的关系,以及你所看到的这个城的状态、处于城中的人的状态,没一个点能给你哪怕一点的生活气息。换句话说,你跟这个城市毫无关系,你只是在这儿挣钱而已。
这种感受随着我年龄的增大变得越来越明显,特别是在我选择离开前的那两年,我开始频繁地思考我留在这儿究竟是为了什么?我还有没有机会继续往上爬一步?我有留在这个城市的可能吗?但设想终究只是设想,现实的戏剧性往往来得很突然:我姐夫先我一步回了老家,找了个安稳的工作,过上了闲适的生活。紧接着,父母的不理解和催促呼啸而至:「当初你就不该退伍转业,要转业也应该去考个公务员,你现在漂在外面8年总共回了4次家,也没见你挣多少钱,连个女朋友都没有,还准备拖到啥时候呢?」父母都是小地方的人,受文化程度的影响他们没能站在更高、更理解我的层次去考虑问题,说一次两次我还能勉强接受应付,但每次视频都谈这些换谁都忍受不了。更何况,他们就真的说错了吗?接受自己是个普通人的过程花了我两年,某某程序员加入明星项目收获财务自由的新闻离我太远,我终究打定主意回了老家。
在回老家前,我约了几个程序员朋友最后吃了一顿铜锅涮肉,那次吃饭我们聊得很尽兴,因为大家都面临着差不多的困境。大厂有大厂的卷法,比如业务的频繁调整,无效需求的开发,个人晋升通道的狭窄等; 中小厂也有中小厂的困境,赚更多的钱,更多的商业导向开发经常会让程序员感到自己做的事儿毫无价值。大家也都面临着来自家里的压力:什么时候结婚?什么时候回去给父母养老?什么时候能真正过自己所谓的「生活」?
大家也都是一样的宅、一样的孤独,除了刷刷抖音、逛逛B站、玩几局游戏,也没有太多休息时间去花式消费。所以,最终还是你愿不愿意坚持过这种生活的问题,我认为我经历过、努力过就够了,我也始终明白,单凭我个人的努力在北京扎根无异于痴人说梦。
回老家之后,给我最大落差感的是薪资,工资连一线城市的一半都不到,而且技术栈比一线城市要短3到4年。但也有优点,面试非常容易,我一路绿灯当上了现在这个小团队的技术负责人。虽然小城市的开发岗一般都要求单休,但我很幸运加入了一家有点国企性质的公司,不但双休而且提供人才公寓,每周都可以回趟家陪陪父母。我们公司也并不是像那些一线互联网公司靠服务挣钱,而是靠软件开发本身挣钱,所以不算太忙。甚至如果我愿意,每天晚上都可以开车回去和家里人吃一顿热饭。
现在家人之间的氛围也比以前好了很多,之前与我父亲处得不好的原因就是因为没有听他的去考公务员,而现在他对我的事业很满意,虽然国企没有阶梯型的涨薪制度,但人与人之间的关系却比北京更暖,大家都没有重担压在肩上,自然有更多时间来交朋友,丰富自己的生活。
一线互联网公司标配的健身房我们这儿也有,甚至它们没有的我们也有「全套」,比如免费帮理发,定期的足球比赛、篮球比赛、游泳比赛等等。我认为现在才真正是在「过生活」。假如你现在问我刚入行时会选择北京还是老家,我的回答必然是北京,因为它能带给我技术上的提升和积累。但我依旧不会选择在那儿长待,毕竟徐州才是我的家。
现在我的想法比起刚回来那阵也有了变化,不想始终只做打工人,而是自己创业。这个创业并不是那种很宏大目标的创业,而是和几个朋友开一个公司,找一些资源联络人,做做小项目的开发,在小城市一样能够过得非常舒服。
我本科和研究生的专业都是计算机,但从事这一行业并非我的本意。在我读书的那个年代,计算机还是一个新兴概念,而我们那代人想成为的除了科学家,就是宇航员,所以我与当时两个要好的朋友都想考进西工大,读飞行器设计相关专业。
命运却给我开了个玩笑,三人里成绩最好的我因为作文跑题导致分数大幅下降,拿到分数那一刻的绝望,直到现在我都记忆犹新。第一目标既然已经失去了希望,万念俱灰的我对自己也就没什么要求了,抄了别人的计算机志愿,随大流上了计算机专业。而我的那两个老同学,现在一个在国内某发动机研究所,一个在二炮研究导弹。如果当初我的作文没有跑题,可能我也会拥有与他们类似的人生轨迹,可人生没有如果。我读大学是在2000年左右,那个年代的Windows 95计算机还是一种奢侈品,学生家里基本买不起,只能去学校机房里学习。机房也并非免费开放,你不仅要花钱,还有上机时间的限制。但计算机毕竟是一门实践性学科,在艰苦的学习条件下,我们只能完全将它当成一门理论去学习,比如老师布置作业让我们写代码,我们只能写在纸上交上去。这导致的结果是,你不但要付出很大努力,实际的效果也并不如意。后来我去读了研究生,这时计算机有了长足的发展,每个人都能拥有一台,但对于它能做什么感到非常迷茫,还找不到太多的实际场景应用。
因此毕业后的第一份工作是干通讯相关的工作,去到了当时国内一家外企UT斯达康,他们生产的小灵通曾在一段时间内主导中国手机市场。那会儿的大学生毕业后见识少,一般都很单纯,不像现在有大量获取信息的渠道。在我第一份工作的两年半里,上级让做啥我就做啥,既不了解业务背景,也缺乏职业发展的指导,再加上小灵通正在以肉眼可见的速度走下坡路,我就果断选择了辞职。在当时的计算机行业,通信依然占据着主流地位,比如诺基亚、华为、中兴等公司员工在职场里是顶尖的存在,而像QQ、新浪、网易等互联网产品都是新生事物,我也乘着东风加入了这股大潮,进了当时处于快速发展中的X厂。当然,那时的我不会想到它能发展成为国内具有举足轻重地位的巨头。在这家大厂大概待了7年之后,随着和我关系密切的第一、第二任领导先后离职,我的个人职业发展也迎来了困境。虽然这家公司已经成为国内首屈一指的巨头,但那时国民级软件还未诞生,我根本看不到任何上升的空间,身边也不乏待了六、七年原地踏步的同事。
就如同某名人所说,你离开一家公司无非两个原因,要么钱给少了,要么干得不爽。大厂不存在钱给少了的情况,那只能是干得不爽。
离开前我放弃了价值数百万未到期的期权,还完了欠公司的低息住房贷款,决定开始一段新的职业生涯。
我复盘了过去走过的路,深刻认识到比起销售或其他商业化岗位,写代码是一条越走越窄的路,而且技术越精深,路越窄。
技术本身更像债券,风险很低,从开始就有明确的收益率,也有一个较缓慢的上升期,但假如你将时间线拉长了看,岗位本身的收益率却偏低。
另一方面,做技术非常被动,写什么代码我说了不算,老板、市场、产品经理说了才算,如果一件事儿做成了,虽然大家都有功劳,但首功一定不是我,可如果做失败了,技术往往要跟着一起背锅。既然职业发展如此被动,我不得不离开稳定的大厂工作,去见识更多的东西,只有看得足够多你才能够把握住真正的机会,才能够识别市场中那些跳不得的「坑」。那么如何规划接下来的路?其实对于程序员而言无非两条路,一条路是找到一个特别厉害的商业领袖,给他做技术支撑,这辈子就认定他了。
能走这条路的人都是幸运的,因为厉害的商业领袖凤毛麟角,有时候甚至是因为你看不出人家的潜力,而导致错过。
另外一条路则是自己创业,但需要的积累却是成倍的。假如两条路都走不通,那只有自己做点小生意,接受自己庸庸碌碌的一生。我的选择是跟着一个靠谱的人,但遗憾的是创业最终失败了,方向选择的错误几乎是致命的。
在短暂修整后,我又在朋友的邀请下加入了另一家创业公司,而这家公司在烧光七千万融来的钱后,仅能做到勉强活下来,几年无盈利增幅让我逐渐失去了耐心:我的年龄在这儿摆着,三、四年不盈利可以,但七八上十年的不盈利,我哪儿来的勇气去坚持呢?一边是不断攀升的年龄与肉眼可见的职场贬值速度(如今的企业基本不招30岁以上的程序员),另一边是并不丰裕的家庭财务状况,基于对未来的长远考量,我不得不选择回到X厂。
年轻时你可能会继续追求技术的提升,追求眼界的开阔,但到我这个年纪,满脑子想的都是孩子、家庭、父母,想着现在我已经35岁了,当我四五十岁后,我要靠什么吃饭?我要怎么给自己养老?现实的因素永远摆在第一位,它始终决定着你发展的路径。
现在我的想法很简单,第一个问题就是尽快赚到一笔让我有安全感的钱,比如三五百万,然后将这笔钱放到股市、基金也好,其他投资也好,每年降低自己的生活标准,生存问题就能有保障,这就是我面临的现实。
目前我在X厂里被迫转向了商业化探索,虽然与我进来时的想法相悖,比如我经常会吐槽自己明明就是一个做技术的,为何要考虑很多非技术类问题?可做了很长时间后,很多事情也想明白了,既然以前无法找到那个厉害的商业领袖,为何不将自己打造成这样一个有商业洞察力的人呢?眼界始终是技术人要去突破的东西,你需要经历市场的打磨才能扩展你的思考。
记得是在1993年,我拿到了第一台属于自己的计算机。那个年代的计算机还不普及,相当于今天你领先同辈人先用上了智能手机,所以非常新奇且喜欢。兴趣是最好的老师,越喜欢我就越爱倒腾。可那时的客观环境却带来了严峻挑战,包括我在内的所有计算机学生都面临着两个共同障碍——知识障碍和语言障碍。知识获取的障碍体现在资料方面,关于计算机软、硬件的书籍和教材十分难获得,记得有一次我为了获得一本关于CPU介绍的书还专门托了朋友帮忙,让他从深圳替我买了带回来。语言的障碍更难解决,虽然七八十年代国内已经开始普及英语教育,但总感觉水平没有实质性的突破,就更别谈专业性信息了。熬过最辛苦的学习阶段后,我给自己定了一个目标:一定要成为某一技术领域的专家,我也想成为那些站在金字塔顶端的人,引领某种潮流。但很快我发现自己不是那块料,外企中无趣工作的不断重复改变了我的想法。
客观看待我的职业生涯,单调的代码生活于我而言是一种折磨,虽然编程这件事儿贯穿始终,但我的职业身份却经历过多次变换。从销售到产品经理,再到项目经理,最后到团队和企业管理,我的关注点也从代码迁移到产品,最后回归到关注「人」。我的技术模块也不断丰富,从嵌入式到应用开发再到前后端,甚至还自己摸索学习了3D建模和UI设计。
这段经历让我明白,技术只是链条上的一环,虽然它很重要,但这个链条上还有其他更重要的元素。因此,我决定从外企「温水煮青蛙」的环境中离开,出去创业。
创业的压力与上班不可同日而语,最明显的是收入的降低,情绪低落的时候会觉得还不如去外企打工,收入拿到手上以后也根本不敢用,得留作公司的运营资金。以前操心的事情是哪哪儿有个bug还没改,现在每天早晨一醒来,操心的是「还剩几天就要发工资了?」以前的职业光环也不复存在,在外企做芯片工程师时,走到哪儿都自带光环备受尊敬,现在人家就当你是一方案公司或供应商,从上游到下游、从甲方到乙方的落差经常让我陷入自我怀疑,总想尝试找点「后悔药」,但35岁男人面临的现实是残酷的,便只能咬牙往前挺了。我记得在初期没客户的时候,整个团队真的去挨家挨户跑、推销,很多来买产品的都是我们周边的朋友、同事,甚至还包括朋友的朋友、同事的同事,这样才把公司第一批客户积累起来。如今我联合创立的公司已经发展了四年,在音视频传输、IoT物联网应用等领域也有了稳定的业务来源。但如果让我再去做选择,我确实会选择继续在外企待着。对于我这样的大龄程序员来说,每个人真的都要静下心来考虑一下自己的未来,假如你想成为专业更精深的人,那水平真的达到那种程度了吗?至少从我的经历出发,当前国内外的技术水平仍然有一定差距。比如我前东家的主要业务是导弹制导芯片,在全球有三大研发基地,因此我接触了很多美国籍、以色列籍的软件工程师,与他们相比,国内清北毕业的博士技术水平落后不止一两个层次。他们在技术上的纵向、横向能力延伸都非常深,面面俱到。
我承认国内消费领域的技术应用非常发达成熟,但放到工业领域仍然十分落后。所以这就牵涉到第二个问题,程序员最好能做到全面发展,比如我就是每个技术面都接触到,虽然每个面不一定精深,但依然能让我跳出单一领域的束缚去看问题。年龄从来不是限制人发展的因素,一个程序员的黄金年龄是35到45岁,在这个年龄段他既有技术积累,也有经验积累,而经验的积累除了时间之外没有任何捷径。以前在以色列分公司时,很多工程师满脸白胡子,一看就知道年纪非常大,可依然在台上讲得头头是道。虽然国内环境有所差异,但我仍然看到身边有鲜活的例子,比如我认识一个六十多岁的程序员,他至今依然能够收到多家公司的高薪聘请。
所以抛开那些杂念,专注于自己各项能力的提升,将其他的东西交给时间。关于这三个程序员的故事已经讲完了,在与部分人的聊天中,我们发现那些至今奋斗在一线的程序员,他们可能更年轻、工资更低,也可能工资尚可,却煎熬在并不那么舒服的职场坏境中。
也有部分人放弃了可观工资回到老家开始认真生活,而更多的人内心可能不会有答案,或许只有在经历一些人、一些事之后才能给他们带来触动。每个人都有自己的困境,每个人也都必须继续前进,即使你无法到达那里,但依旧能够获得启迪。互动:你认为程序员 35 岁有哪些选择?或者如何避免自己进入 35 岁危机?欢迎在评论区留言,期待你的观点。
☞谷歌程序员犯低级错误?少打一个字符引发重大 Bug,致大量 Chromebook 无法解锁
☞程序员带半箱辣条参加东京奥运,网友:这不是辣条,是狗粮!
☞当所有人都向往大厂时,这些 00 后程序员却选择逃离
☞字节跳动、阿里等大厂的真实工作体验如何?5 位程序员的自述