随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论。很多程序员在工作5-10年以后,都会开始思考5年、10年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛弃。

特别是全民创业的这几年,大到BAT,小到创业公司,喜欢年轻员工成了许多企业招人时的隐形规定之一。比如华为就明确规定员工45岁以后必须退休。阿里这几年也在追求团队年轻化,35岁以上的程序员申请P8以下的职位成功率很低。在100offer此次采访的企业中,一家互联网金融公司表示平时在招聘技术人才时,普通开发人员的年龄不得超过30岁,架构师年龄不得超过35岁。而许多高速发展的创业公司,更是年轻人的天下,从CEO到CTO,平均年龄不超过30岁的情况比比皆是。
现在的互联网世界,似乎成了年轻人的天下。那么,那些工作10年以上,年过35岁的程序员都去哪儿了呢?他们现在的生活和工作状态怎样?带着这一疑问,100offer采访了2位北京地区资历背景相当,且年近40岁的优秀程序员,他们一个焦虑迷茫,一个自信激情,也许这两种截然不同的心理状态,反映了中国目前大部分大龄码农的生存现状,同时对那些即将迈入「大龄」阶段的程序员来说,也有一定借鉴作用。
黄明国:38岁,从BAT到创业公司,想在40岁之前再拼一把
今年38岁的黄明国,2004年博士毕业于北京某研究型院校,目前在北京定居,有车有房,有妻有子。前10年的职业生涯一路顺畅,在身边大多数同学毕业后直接进入高校当老师的情况下,志不在此的黄明国选择了加入了当时正处于萌芽阶段的互联网行业,此后一做就是10年。
最开始他在一家当时并不知名,现在已成为北京一线的互联网公司做搜索相关的技术工作,两年后由于没有更大的技术施展空间,便离职去了某BAT在北京的分部,此后一做就是8年。从普通开发人员到小组Leader再到管理者,8年时间内黄明国晋升了4级。虽然他当时做的还是搜索算法那一套,但是由于公司产品在市场上有更强大的竞争对手,用户规模也一直处于不上不下的尴尬阶段难以突破,工作基本已经没什么挑战。
「现在的很多年轻人都不愿意来我们公司,觉得像BAT里的养老院。他们更想有一个平台,能够让他们接触一个产品或项目从0到1的过程,而不是在前人的代码基础上做重复工作。」黄明国说,技术上的老旧,可能是许多大公司的通病,也是阻碍更多年轻人加入的原因。然而技术世界的发展日新月异,即使是黄明国这种即将奔四的程序员,新技术的层出不穷依然会给他们带来危机感和吸引力。所以今年6月,他选择离开工作了8年BAT,来外面的世界看看。用他自己的话来说就是:「想在40岁之前,再拼一把。」
然而面试的过程并不顺利,学历和工作背景都异常优秀的黄明国在100offer上只收到了5封面试邀请,接受了2家后,其中一家公司在一轮面试后就以他的技术太老旧为由拒绝了他,这给一直以来对自己的技术实力比较自信的他带来了一定打击。但最终他还是成功入职了另一家创业公司,做数据挖掘和机器学习相关的工作,带领10人左右的团队,向一个比自己年龄小的上级汇报。工作节奏从在BAT的每天七八点下班,变成了晚上10点以后下班,有时周末也会在家加班。
上周,黄明国从繁忙之中抽空见了我们,今年38岁的他看上去有些疲惫,交谈过程中也能感觉出精神状态的紧绷。「刚进来几个月,每天工作都挺充实的。」他笑着说,「有一些在之前工作中没接触过的语言和技术,比如Scala和机器学习,现在也都在学习。」
「除这些以外呢?您还有其他工作要处理吗?」我问。
「有的。现在的工作主要是四部分:写代码、管理团队、做数据挖掘相关的工作、做机器学习方面的研究。」
「听上去做得有点杂,您有没有向上级提过把主要精力放在某一块工作上,比如管理?」
黄明国犹豫了片刻后说:「其实我们现在做的事情,很多都处于摸索阶段,大家都没用足够丰富的经验,难免会踩坑,这些坑延缓了项目的进度,也是导致我们加班的因素之一。但好在遇到问题大家愿意一起讨论、寻找解决方案,现阶段虽然累,但是也成长很多。」
当「成长」这个词从一位年近40岁,有着近10年工作经验的程序员口中冒出来时,竟让人一时间有些恍惚。虽然工作背景光鲜亮丽,但无疑黄明国是有危机感的,他深知技术是一个需要持续学习的工作,无论到了哪个年龄阶段都需要不断摄入新知识,否则就会被后起之秀追赶上。然而,虽有心追赶时代的步伐,在BAT待了太长时间的黄明国初次来到互联网公司「年轻人的世界」里时,还是在忙碌的工作中感受到了焦虑。
当问及未来几年的职业规划时,黄明国说他现在既不需要再去大公司镀金,毕竟他已经在BAT里待太久了,对大公司的那一套办事风格已非常熟悉。也从未想过创业或者去创业公司当CTO,他觉得风险太大,随着家里孩子渐渐长大,看得出他想给家庭多一些陪伴。在没有得到确切的答案前,他反问我:「你觉得像我这种情况,以后的职业发展路该怎么走比较合适?」
这个问题想必很多35岁以后的程序员也经常问自己。「随着年龄越来越大,我该何去何从?」
如果按照世界职业规划发展史上里程碑式的人物舒伯对人的生命阶段的定位,25岁-44岁职业上的发展课题应该包含:
稳定于一项工作
确立自己将来的保障
发现适当的晋升路线
如果我们把25岁到44对再做一次细分的话,31岁到44岁就应该处于安定期,这个阶段可晋升的上升空间已非常有限,所以找准自己的定位并在这条路线上获得保障,再去不断补充新知识,增加自己在某一专业领域的权威性很重要。
其实大多数程序员的晋升路径并不复杂,无非以下几种:
技术型:初级工程师->中级工程师->高级工程师->架构师(技术专家)->技术总监->CTO
管理型:工程师->项目组长->项目经理->项目总监->技术总监->CTO
交叉型:初级工程师->中级工程师->项目经理->技术总监->CTO(此路线技术和管理交叉进行,每个阶段做的事情不固定)
转行型:初级工程师->转行产品、设计、销售、运营等
当然在现实生活中,很多人的成长路径没有这么一帆风顺。大多数程序员在工作3-5年,知识和技术吸收积累到一定阶段后,会开始考虑继续做技术还是转行,这取决于一个人在技术上的天赋有多高。
如果选择继续从事技术,就要考虑是在技术上专精,还是走上管理岗位。虽然很多程序员技术水平达到一定阶段后都会被公司推上管理岗,但是更加痴迷专注于技术的人,在做了一段时间管理后还是会选择回归纯技术领域,成为一名技术专家或者架构师,比如前端界的大神Winter。
黄明国之所以会迷茫,是因为他现在正处于从资深工程师迈向管理岗位这一重要阶段。很多大龄程序员也正是在这一阶段迷失了方向:自己究竟喜欢技术还是擅长管理?只要这个问题没想清楚,就会像黄明国这样,长期陷入一种一人多职的状态,在高速进展的繁忙工作中理不清头绪,看不清未来。
关于此类现象,100offer咨询了一些企业HR的观点,其中有一条建议比较中肯:
大龄程序员在选择工作时,首选要认清自己,再去选择环境和公司。比如先确定自己是属于比较有激情、活力、愿意终身学习新技术的那一类人;还是心有余而力不足,想脱离一线技术,想把更多精力放在管理上的那一类人。
如果是第一种,可以选择一家快速成长的创业公司,将自己的技术价值最大化地发挥出来;如果是第二种,就选择那些组织架构相对臃肿的大公司,这些公司盘子够大且没有太多坑需要踩,因此对年龄稍大且有丰富经验、能安于现状、踏实做事的人存在一定需求。
其实不光是程序员,「大龄恐惧症」几乎是互联网行业里每个岗位的人都会遇到的问题,世界的变化太快,谁也不知道下一场取代互联网的变革何时会来。排除这种不可控的外在因素,一个人最大的恐惧,还是由对自我认知的缺失引起的。
黄明国的学历和工作背景已经优秀于大多数人,并且年近40岁的他仍对自我有更高要求,远离舒适区,不断学习新知识和新技术,现在他缺的是对理想工作和生活方向的明确,相信一旦想清楚这点,他很快就能调整状态重新出发。
俞军:40岁,从外企到互联网创业公司,黄金时代才刚刚开始
和黄明国形成鲜明对比的是今年已进入不惑之年的俞军。一样的博士生高学历,一样的在2000年初就出来工作,虽然最后殊途同归,但两人走的却是两条不同的路。
工作10余年来,俞军选择工作时的因素始终没变:看重自己在一份工作中做的事情,而不是公司和行业本身。
所以在博士毕业后为了将多年所学的知识运用到实践中且能和市场结合,而不是做一些偏底层的技术工作,他的前两份工作在两家分别做3G通信网络和硬件系统软件开发的外企。
和黄明国在BAT工作了8年一样,俞军在第二家外企同样工作了8年之久。8年的时间足以让一个行业壮大,也足以让一个人成长。在外企的8年,俞军经历了从普通工程师到团队leader再到部门leader三个阶段,并且从这家公司开始从事架构设计与管理相关的工作,为后期跨进互联网行业打下了坚实的基础。
去年,俞军离开工作多年的外企正式向互联网行业进军,他通过朋友推荐的形式加入了一家媒体转型互联网的企业,以CTO的身份同时负责两条业务线,其中国外的一款打车软件便是公司的全新产品,他进去以后可以从0到1地去设计架构,做一款直接面向市场和用户的产品,并在用户增长的过程中接触和实现高可用和高并发,这也是这家公司吸引他加入的主要原因之一。
从传统外企到互联网公司,俞军不否定会面临种种不适。「由于公司之前没有技术负责人,很多项目都是一块块砖垒起来的,垒到一定高度后离远了一看才发现整体比较乱,这时候,需求一旦有变化后就完全不适用了。所以我进去以后的第一件事是带着产品、运营等部门加班加点地解决第一个需求。但是老的代码谁都不敢动,所以后期我在持续不断地做重构。」除了这些工作外,作为公司的技术负责人,俞军还要承担部分和其他部门的沟通以及人员招聘与管理的工作,职责上更加全面。
「但我想跳槽的原因就是离开舒适区,瞎折腾呗。」俞军自嘲地笑着说,在他看来,传统IT行业和互联网行业并没有那么大的区别,无论使用哪种技术栈,大家在工作中会遇到的问题都是相通的。况且现在的网络这么发达,想学习什么新技术都可以在网上通过各种渠道获取。所以我们从他的经历中可以看出,他每一次的职业选择都在接受更大的挑战和未知,但每一次他都能很好地解决。
我很好奇他是怎样做到这一点的,交流之后发现这或许和他的心态有关。虽然比黄明国年长2岁,俞军却看上去并不像40岁的人,从外表到言行,都可以感受出他面对困难时的淡然和对自己技术水平的自信,而不是大龄码农身上固有的那种焦虑感。
在他看来,每个年龄都有每个年龄会面临的问题,比如他以前经常和组里的年轻人聊天,发现话题最后总逃不开买房买车、成家立业,在这些方面,年轻人还存在很大的焦虑。但是对于年龄较大的程序员来说,「成家立业」中的「成家」基本已经完成,接下来就可以把重心放在「立业」上了。
「当然年龄带给程序员的压力在所难免,但是从另一方面来看,我觉得这也不是多大的事儿。因为年轻人也有老去的一天,这是正常的新陈代谢。如果现在某一年龄段的人遇到了困境,那么比他年轻十岁的人很快也会遇到同样的困境,从这一角度来看,没有谁比谁更有优势。」俞军说。
和大多数大龄程序员不同的是,目前已经成家、育有一子一女的俞军,并不是一个完全追求work-life balance的人,他喜欢根据自己的生活节奏来安排工作时间,虽然在现在这家创业公司,他每天晚上7点左右下班,但回家休息整顿一番后,却会重新投入到工作中。
俞军说他是一个比较实际的人,对于很多大龄码农口中所说的「写不动了」心存不解。如果是因为家庭和生活上的事情分解了工作时长,倒还可以理解。但如果纯是精神上的「写不动了」那就是一种自我放弃。
在俞军看来,写代码是一项考验智商和情商的工作,而不是劳力工作。真正能把代码写得非常好的那些人,一定是双商都很高的。从这里可以看出俞军作为一名大龄程序员的傲气,交谈中他聊起以前在外企工作时遇到的一个50多岁的外国码农,写的代码无论怎么测都测不出bug,语气里满是敬佩。
今年10月,由于上一家公司所做的项目因资金链断裂而停掉的缘故,俞军通过100offer入职了现在这家互联网创业公司从事架构师的职位。现在这家公司无论在技术栈还是公司平台方面都合他心意,目前的岗位也能让他将前10年积累的技术经验得以最大施展。
大龄码农会被时代抛弃吗?属于俞军的黄金时代似乎才刚刚开始。
100offer说:
从黄明国和俞军身上,我们能看到大龄码农存在的两种状态:焦虑和自信。很多时候,大龄程序员之所以会焦虑,主要还是两方面原因:一种是家庭生活难两全带来的抉择,另一种是对自身技术水平的不自信。而后者才是大多数大龄码农焦虑的源头。
而那些对自己技术不自信的人可能多年都在从事着普通开发的岗位,既得不到职位的晋升也提不起学习新技术的兴致。如某互联网金融公司的HR所说,这一现象在面试的过程中就能体现出来。比如他们曾面试过的很多大龄码农,使用的框架和技术比较老旧,虽然他们对新技术也有所了解,却因为精力有限的原因没有落地执行,这种类型的程序员自然与高速发展的企业并不匹配。
这个时代很残酷也相对公平,残酷的地方在于世界的变化之快容不得人有片刻懈怠,公平的地方在于:不论你是年轻还是年老,都要靠实力说话。那些被时代抛弃的永远都是跑得比较慢甚至在原地徘徊的人,即所谓的工作十年却只有一年工作经验。
年轻程序员的优势在于年轻和激情,大龄程序员的优势在于阅历和经验。所以,年轻程序员不要有跨越年龄阶段的焦虑,大龄程序员也不要觉得年轻人抢了自己的饭碗。每个年龄段都有自己要解决和面临的问题,认清自己内心真正的需求和渴望,再去寻找适合自己的栖身之地打怪升级,才是当务之急。

转一篇100offer的采访~35岁程序员是一种什么状态的更多相关文章

  1. SRE,了解一下?35+岁程序员新选择

    摘要:随着云业务的发展,今后会有越来越多的工程师深入到SRE领域. 本文分享自华为云社区<浅谈SRE角色认知>,作者: SRE确定性运维. 一.什么是SRE? SRE(Site Relia ...

  2. 30岁程序员的焦虑 Anxiety of 30-year-old Programmers

    还有四个月,我就30周岁了.圈里都在传30岁程序员的焦虑,我也焦虑.身边的朋友,除了已经上岸的一部分,说不焦虑的,几乎找不到. 我们不妨认真地来聊一下这个话题:30岁,程序员,焦虑. 首先,什么是焦虑 ...

  3. 转一篇dudu大人的文章:程序员,用NuGet管理好你的包包

    每个女人都有很多包包:其实男人也有,但只有会写程序的男人才有 —— 代码世界中的大“包”小“包”.这些大包小包,有花钱买的,有从开源市场淘的,也有自己或同事亲手制作的. 包包有个特点:容易坏,更新快, ...

  4. 映射篇:request-String-Object-Map之间相互转化(程序员的成长之路---第5篇)

    为什么写这一篇 问题一:jdbc连接数据库返回的对象是ResultSet,如何把ResultSet对象中的值转换为我们自建的各种实体类? 我估计,80%的程序员会写jdbc数据库连接,但开发项目依然用 ...

  5. 30岁程序员的选择,一线OR二线?

    作为一个30刚出头的IT行业从业者,先介绍下我自己的情况.虽然不具有代表性,但是也可以作为一个参考.本人08年本科毕业于一所还算不错的211大学计算机专业(04年去的时候综合排名38,毕业走时排名45 ...

  6. 今天看到的一篇文章:一位资深程序员大牛给予Java初学者的学习路线建议

    一位资深程序员大牛给予Java初学者的学习路线建议 持续学习!

  7. 24岁程序员, 一个人撑起App开发项目

    "疲惫吾心,怎样躲藏! 四处荒芜,怎话忧伤?"临近中秋,看到艾瑞斯的QQ签名,无尽的伤感.这个年仅24的青年.连续3年没有回家了,近期一个月总是失眠,没有家人的陪伴,就连女朋友都没 ...

  8. 评CSDN上一篇讲述数据迁移的文章“程序员 12 小时惊魂记:凌晨迁移数据出大事故!”

    原文地址:https://blog.csdn.net/csdnnews/article/details/98476886 我的评论:热数据迁移,本不该搞突击,这样一旦出现问题后果不堪设想,多少DBA和 ...

  9. 漫谈程序员(十一)老鸟程序员知道而新手不知道的小技巧之Web 前端篇

    老鸟程序员知道而新手不知道的小技巧 Web 前端篇 常充电!程序员只有一种死法:土死的. 函数不要超过50行. 不要一次性写太多来不及测的代码,而是要写一段调试一段. UI和编码要同步做. 多写注释方 ...

随机推荐

  1. 【原创】PHP扩展开发进阶

    PHP扩展开发进阶 ​作者:wf (360电商技术) 在第一期PHP扩展开发入门中,简单的介绍了PHP的总体架构和执行机制,并具体说明了怎样开发和编译一个主要的PHP扩展,最后在PHP 5.3的环境下 ...

  2. skimage的安装,scikit-image

    在mac上面的安装: pip install -U scikit-image

  3. 前端project师养成记:开发环境搭建(Sublime Text必备插件推荐)

    为了让自己更像一个前端project师,决定从开发环境開始武装自己. 本文将介绍前段project师开发的一些利器的安装步骤,主要包含了: 1.Node.js的安装 2.Grunt的安装及经常使用插件 ...

  4. Android studio 分32位64位版本吗?

    下载的时候,是不分32位和64位的.安装完成之后,在bin目录下,有studio.exe和studio64.exe这两个文件.前一个是32位的,后一个是64位的.根据自己的电脑进行选择.

  5. iOS开发—在@interface,@implementation和@property中变量的定义

    一直搞不懂在OC中变量在@interface和@implementation中有什么区别,定义@property又有什么不同,查了很多资料,总结如下: //ViewController.h @inte ...

  6. Scala语言

    一.Scala概述 Scala简介 Scala是一种针对JVM将函数和面向对象技术组合在一起的编程语言.所以Scala必须要有JVM才能运行,和Python一样,Scala也是可以面向对象和面向函数的 ...

  7. [JZOJ 5910] [NOIP2018模拟10.18] DuLiu 解题报告 (并查集+思维)

    题目链接: https://jzoj.net/senior/#contest/show/2530/0 题目: LF是毒瘤出题人中AK IOI2019,不屑于参加NOI的唯一的人.他对人说话,总是满口垃 ...

  8. git相关整理

    title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...

  9. 使用JS方法使页面滚动到指定元素+优化+API介绍(动画)

    前言 当页面最上部有顶部菜单是,使用锚点跳转的方法很容易挡住想要呈现的内容(如下图技能两个字被挡住了一半),为避免出现这样的问题,故滚动到指定元素使用用JS的方法来实现. 目录 使用的API简介 初版 ...

  10. POJ 3253 Fence Repair C++ STL multiset 可解 (同51nod 1117 聪明的木匠)

    Fence Repair Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 53106   Accepted: 17508 De ...