专栏名称: 石杉的架构笔记
专注原创、用心雕琢!十余年BAT一线大厂架构经验倾囊相授
目录
相关文章推荐
英国大家谈  ·  250万人民币葡萄牙护照到手! ·  2 天前  
建E室内设计网  ·  私宅设计:800㎡自然风别墅,心灵栖息的世外桃源! ·  2 天前  
建E室内设计网  ·  建E首发 | UHOUSE ... ·  4 天前  
gooood谷德设计网  ·  昆明招聘 | 素造建筑 SUZAO – ... ·  3 天前  
51好读  ›  专栏  ›  石杉的架构笔记

【我命由我不由天】30多岁的大龄程序员,应该如何保持职场竞争力?

石杉的架构笔记  · 公众号  ·  · 2019-08-06 08:30

正文

公众号后台回复“ 学习 ”,获取作者独家秘制精品资料


扫描下方海报二维码,试听课程:

(课程详细大纲,请参见文末)



目录

  1. 回首往事:自己竟没有任何核心优势!

  2. 公司遇到危机时,大龄程序员会怎么样?

  3. 适合大龄程序员的几条职业发展路线

  4. 最后的寄语




这篇文章,给大家聊聊Java工程师的职业发展规划的一些思考,同时也给不少20多岁、30多岁,但是对自己的职业未来很迷茫的同学一些建议。


希望通过此文,帮大家梳理一下程序员的职业发展方向,让大家知道自己从20多岁的初出茅庐,到40岁的大龄码农,应该如何规划属于咱们程序员的半生。


首先,咱们通过倒推的方式,看看在一个程序员在30多40岁时, 凭什么东西来捍卫自己的核心竞争力?


那如果要搞清楚这个问题,又得从一个反面来看看,大部分的程序员在职业发展过程中犯了哪些错误,结果导致在职业生涯中后期没有竞争力了呢?


一、回首往事:自己竟没有任何核心优势!


最尴尬的事情,莫过于一个程序员在10多年,甚至20年的从业经历中,一直没好好考虑过如何构建自己的核心竞争力。


如果长年如此,会导致他就跟着公司慢吞吞的走着,就像温水煮青蛙,直到30多、40岁的时候,突然发现自己几乎一无所长。


举个例子,比如从技术角度而言,这些朋友可能发现自己并不是什么技术专家,也不是架构师,没有任何一个技术领域有足够的深度。


甚至可能都没好好读过什么技术的源码,很多最新的技术,比如大数据、人工智能、微服务、互联网,等等,都没跟上。


而这些朋友10多年来,一直做的事情可能就是重复以下:带着几个小弟,做传统的软件系统,然后整天就是研究各种软件的需求,设计一些简单的架构。


然后使用的技术都是比较过时的,一直是一些增删改查的事情,可能涉及到一些其他的技术,但是那些技术很多都是非主流的,或者是不流行的。


最后,你发现自己10多年工作下来,跟小年轻相比,唯一的优势好像就是做的那种CRUD的项目比较多,经验丰富一些罢了。


没错,我见过相当多的兄弟,在30多岁,乃至40岁的时候,就是上述那种情况,唯一的优势就是难度不高的项目经验比较多,带过几个人,仅此而已。


甚至有些兄弟虽然是一些中小公司的 “架构师” 、 “技术总监” 的title,但是其实本质做的事儿也跟上面是差不多的。


但是呢,这些朋友薪资未必就很低,因为随着在公司呆的久了,很多公司虽然知道你也许没特别大的技术能力,但是老板也认可你其实对公司的业务还算蛮熟悉的。


而且你做过的项目比较多,年龄较大,有资历,做事稳重,能带几个小弟,可以给公司撑起来一片天空。


此时,公司还是会给你不错的薪资。类似上面情况的兄弟,30多岁时,可能薪资也会有30多k~40k那样子。


但是也有很多的兄弟,没得到公司老板那么大的认可,自己可能也一直没想太多,所以在30多岁的时候,可能公司就给你28k,30k的薪资,认可你是一个资深的骨干。


而这个时候,对大龄程序员来说,学习很多新的技术也有点有心无力,毕竟家里老婆孩子都在炕头上。


你说加班加点吧,也有点加不动了,毕竟年龄上去了,各种慢性病一大把,精力不如往日,主要就是利用自己的一点经验把控公司的项目。


因此上述那个场景,就是很多大龄程序员的情况。



二、公司遇到危机时,大龄程序员会怎么样?


现在咱们换个角度,从一些 中小公司的老板 的角度来考虑一下这些大龄程序员


假如说公司业务还算稳定,营收还算正常,利润也算稳定,那么这些大龄程序员对老板来说是有价值的。


原因上面已经说过了,你毕竟工作了这么多年,业务还算熟悉,做过很多项目


从需求分析到系统设计,再到带小弟开发、测试和部署上线,这条流程你门儿清,那其实还是可以给你个30k薪资用你干活儿的。


但是假如公司现在遇到了一些危机,比如因为行业环境等原因,公司经营不善了,业务开始萎缩,利润开始下降,这个时候你说老板会怎么办?



其实很简单, 站在老板的角度,假如手里有10个大龄程序员作为骨干,此时完全可以拿掉其中的8个。


老板这时就留下2个大龄程序员,让他们为了保住饭碗,加班加点给公司撑住剩下的业务。


大龄程序员的工资可是公司里最高的那一批人,把他们拿掉8个,是不是一下子节省了很大的成本?


如果公司还有业务需要支撑,完全可以找几个工资才10k的小年轻程序员进来把活儿顶着,跟着2个大龄程序员继续做就行了。大家想想,是不是这么回事?


换句话说,在遇到困难的时候,工资高、年龄大、加不动班的大龄程序员,很有可能就会率先“ ”牺牲掉,用来节约公司成本。


然后呢,换上几个薪资低、年龄小、可以天天加班到凌晨、还有充足的精力学习各种新技术的程序员,给公司顶上。


那么接下来, 这8个大龄程序员兄弟出去找工作,会遇到哪些问题呢?


很简单,这些兄弟本身技术并没有什么特长,项目也没什么难度,而且很多最新的技术还没跟上没学习。


此外,这些兄弟年龄也大了,上有老下有小,还加不动班,而且你要的薪资还不低。其他公司一看,有什么理由用30多k的薪资来聘用你呢?


你的技术、精力都不行,所谓的项目经验,仅仅是上一家公司的一些项目的经验,对别的公司可能没什么太大的作用。


如果你是另外一家公司的老板,你会不会聘用这样的人?我想说到这里,大家都明白这里的问题所在了。



三、适合大龄程序员的几条职业发展路线


看完上面的内容,大家都知道问题所在了,那么接下来我们来探讨一下:


什么样的大龄程序员,可以在30多岁,甚至40岁的时候,还得到各种公司的青睐呢?


(1)成为技术大牛,掌握公司的核心技术

第一种方式,就是掌握自己行业里的各种技术,哪怕走出了这个公司,也是其他公司疯抢的对象。


给大家举个例子,比如你一直在互联网行业工作,且一直在各种知名大公司,前后负责和经历过多家大型互联网公司的核心系统架构设计。


对于一个互联网系统,如果要支撑1亿用户,有哪些技术挑战,需要怎么来设计,你都经历过这些过程。


每秒支撑10万量级并发请求该怎么做,系统要能够支撑百亿级的数据存储又该怎么设计。类似这些东西,你都了然于胸。


那么这个时候,你就是拥有了核心技术。


哪怕你现在的公司不要你了,你完全会被其他公司给争抢过去,因为很多公司都需要这种有过大规模系统、高并发经验、海量数据经验的架构师。


千军易得、一将难求。 招聘很多薪资二三十 K的高级工程师,负责把一个模块做好,很容易。但是你要招一个能够把控全局,hold住你公司一个复杂大系统全场的高级架构师,很不好招,这样的人很值钱,很多公司都需要。


这个时候你虽然三十多岁,但是人家认可你,因为你有核心的技术能力,核心的架构能力,你是公司技术的最后一道防线,很多岗位非你不可。


再看个例子,比如大数据领域,现在你工作10多年,技术功底极为深厚,你完全可以对大数据领域的各种系统,比如hadoop、spark、hbase、kylin、elasticsearch等等,做非常底层的优化。


遇到任何问题,你都可以从源码级别来推断解决,而且可以修改开源项目源码,进行二次开发。


那么这时,你就是拥有核心技术的。未来大数据必然会发展的越来越好,因为各个行业都有大量的数据,很多公司都需要有最好的专家来解决自己公司的大数据问题。


因此,即使你40岁了,但是你有多年积累的核心技术能力,任何公司都需要你这样的顶尖大牛坐镇,解决各种技术问题。


所以如果要往这个方向去走,建议大家一定要从20多岁开始,好好规划自己的技术学习和职业发展。


大家一定要想好,自己要学什么技术,要往多深了学,要在什么样的公司里积累经验,踏踏实实走好每一步。


到30多40岁的时候,虽然大龄,但是你积累了足够的技术能力,你的核心技术会像 “ 九阳神功 ” 一样为你护体,让你依旧驰骋职场、炙手可热。



(2)深挖业务,成为业务领域专家级人物

第二种路线,你可以考虑成为某个业务领域的专家级人物。


你可以在一些业务有绝对难度和深度,业务极度复杂,而且行业持续发展,业务领域的知识持续保持价值的领域,一直深挖。


比如说电信、金融、银行、保险、财务、ERP,等等,诸如此类。


在这些领域的公司里面,你可以在不停的做技术类工作的同时,也注意积累这个领域的业务知识。


像一个电信系统、ERP系统,往大了做,业务都是极度复杂的,包含了大量的东西。


如果你能持之以恒,对各种业务知识、业务系统都深入挖掘,那么最后变成这个领域的业务专家,也是很有价值的。


为什么这么说呢? 因为对于很多特定行业,可能做一个系统不需要那么高大上的技术,但是绝对需要最好的业务专家来进行把控,才能设计出那种对应于某一个特定行业,且业务极其复杂的系统。


所以很多同学,假如是走传统行业的系统开发方向,可以考虑注重更多的业务积累,未来成为顶尖的业务专家。


这样,哪怕你40岁的时候,这个行业也需要你这样的 “老专家” 在公司里继续支撑着业务发展。



(3)带领团队:走上技术管理之路

另外一条路,就是走技术管理的道路,这个相信大家都理解。


作为任何公司的老板而言,都需要技术管理人员,他需要懂技术,但是不一定特别的精通,但是一定要有极强的团队管理的能力。


作为团队管理者,你需要有能力把控公司大的技术方向,还需要有足够的行业人脉和资源,招聘搭建合适的技术团队。


此外,你还要能够制定技术团队的工作流程和规范,进行团队之间职责的定义和分配,让各个团队有效协作运行,最后成功的支撑公司的业务发展。


这个管理,说起来就两个字,但其实背后的学问极大,要把几十个甚至几百个不同的人拧成一股绳,保持强大的战斗力,为公司做好支撑工作,其实这里难度很高,非常考验一个管理人员的水平。


如果你能从带几个人的小主管开始,到带几十人的技术leader,再到带几百人的高级技术管理人员。







请到「今天看啥」查看全文