35岁高龄程序员的 4 条出路,提早布局,避免出局!

news2024/11/28 6:27:01

目录

  • 一、40岁回首往事:自己竟没有任何核心优势
  • 二、公司遇到危机时40岁大龄程序员会怎么样
  • 三、适合大龄程序员的几条职业发展路线
  • 四、最后的寄语

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

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

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

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


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

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

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

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

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


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

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

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

图片

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

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

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

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


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

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

而这个时候,对大龄程序员来说,学习很多新的技术也有点有心无力,毕竟家里老婆孩子都在炕头上。你说加班加点吧,也有点加不动了,毕竟年龄上去了,各种慢性病一大把,精力不如往日,主要就是利用自己的一点经验把控公司的项目。

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


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

现在咱们换个角度,从一些中小公司的老板的角度来考虑一下这些大龄程序员,假如说公司业务还算稳定,营收还算正常,利润也算稳定,那么这些大龄程序员对老板来说是有价值的。

原因上面已经说过了,你毕竟工作了这么多年,业务还算熟悉,做过很多项目,从需求分析到系统设计,再到带小弟开发、测试和部署上线,这条流程你门儿清,那其实还是可以给你个30k薪资用你干活儿的。

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

图片

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

每秒支撑10万量级并发请求该怎么做,系统要能够支撑百亿级的数据存储又该怎么设计。类似这些东西,你都了然于胸。那么这个时候,你就是拥有了核心技术。

图片

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

千军易得、一将难求。招聘很多薪资二三十 K的高级工程师,负责把一个模块做好,很容易。

但是你要招一个能够把控全局,hold住你公司一个复杂大系统全场的高级架构师,很不好招,这样的人很值钱,很多公司都需要。

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


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

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

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

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

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

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

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

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

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

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

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

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

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

图片

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

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

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

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

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

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

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

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

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

图片

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

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

假如你能往这个方向去发展,那么其实在你40岁的时候,你也有对应的竞争力,因为很多老板都需要你丰富的技术管理经验来把控好公司的技术团队。

当然说实话,能真的做技术管理做的好的人,很少。尤其是咱们技术出身的同学,一般来说都比较内向腼腆,不太善于交际。

大多数的普通工程师而言,个人还是比较建议上面的技术专家或者业务专家路线,这里面机会更多,而且对大多数人都更加的适合。

(4)转型其他职位或者行业

如果有人说,我对技术没那么大热情要成为专家,我也很讨厌整天捣鼓业务,我更没天赋成为技术管理人员,那怎么办呢?

那你可以考虑写代码写到30多岁的时候,搞点别的。

比如说考虑转型做产品经理?考虑做互联网运营?或者考虑做软件销售?

也就是说,你可以考虑带着一定的技术背景,往技术行业里的其他岗位去转型,在其他岗位上积累经验,成为不可或缺的人物,这个也可以。

更有甚者,在北上广干了10年技术,积累了一定的资金之后,在老家买好房子,然后回老家去做生意,比如开个餐饮店什么的。

这个也是一条路子,但这种就是因人而异了,毕竟每个人的人脉资源都不同。


四、最后的寄语

最后一句话总结:不管你选择哪条路,首先想清楚,你要成为什么样的人。

你需要仔细想想,在40岁时,你10多年的工作经验,将会积累了哪些核心竞争优势。

然后再仔细琢磨琢磨,这些优势是否是那种刚毕业的小伙子绝对无法替代的,其他公司的资深岗位是不是必须要有你这样的人。

考虑清楚了这些,剩下的就是朝着自己的目标,坚持不懈的走下去。这中间你可能会迷茫,甚至会怀疑当初的决定。但还是那句话:相信自己、勿忘初心,自己选的路,含着泪也要走完!

最不希望看到的一种情况,就是30多岁了,还仅仅会**“用”**各种技术,十几种二十多种技术,什么都会用。但就是没什么技术深度,没什么竞争力,就一些使用经验比较多了而已。

如果是这样,那人家刚毕业的小年轻,可能1到2年时间就学会了这些技术怎么用,也许就可以在关键时刻替代你。

这些小伙子无非就是经验不足罢了,但是人家可以拼命加班弥补,并且人家要求的薪资比你低多了。

最后,希望每个程序员兄弟都有一个好的未来和人生,程序员这条路充满艰难险阻,各种挑战,但也充满机会,需要不停的学习进步,与大家共勉!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark 运行架构

文章目录Spark 运行架构一、运行架构二、核心组件1、Driver2、Executor3、Master & Worker4、ApplicationMaster三、核心概念1、Exuecutor 和 Core2、并行度(Parallelism)3、有向无环图(DAG)4、提交流程Yarn Client 模式Spark…

Spring Cloud Gateway(黑马springcloud笔记)

Gateway 目录Gateway一、为什么需要网关二、gateway入门三、断言工厂四、过滤器工厂五、全局过滤1. 实现2. 过滤器执行顺序六、跨域问题一、为什么需要网关 不能让外部能够直接访问微服务,而是需要通过网关访问: 网关的作用: 身份认证和权限…

数据结构与算法基础(王卓)(8):线性表的应用(并集和有序表合并)

PPT&#xff1a;第二章P173&#xff1b; 并集集合&#xff1a;线性表的合并&#xff08;无需有序&#xff0c;不能重复&#xff09; 线性表&#xff1a; Status Union(Sqlist& A, Sqlist& B)//并集 {int len_A A.length;int len_B B.length;for (int i 1; i < …

研究生如何能(较快)找出某领域(去噪)已有算法的创新点或者引入其他领域的新算法?

广义上说&#xff0c;滤波就是给不同的信号分量分配不同的权重&#xff0c;较为复杂的维纳滤波, 是根据信号的统计量设计权重。狭义上说&#xff0c;降噪/去噪&#xff0c;可以看成滤波的一种。降噪的目的在于突出信号本身而抑制噪声影响。从这个角度&#xff0c;降噪就是给信号…

C/C++ 调用规则

平栈&#xff1a;清理参数对调用栈的操作步骤&#xff1a;参数传递三种调用约定&#xff1a;cdecl &#xff08;C调用约定&#xff09;:从右往左传参&#xff0c;参数通过栈传递&#xff0c;调用方(caller)负责平参&#xff08;支持类似printf的不定参&#xff09;stdcall (标准…

hadoop简介

文章目录1&#xff1a;hadoop简介2&#xff1a;Hadoop系统2.1&#xff1a;hadoop架构1&#xff1a;MapReduce2&#xff1a;YARN架构3&#xff1a;HDFS2.2&#xff1a;HDFS、YARN、MapReduce三者关系1&#xff1a;hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础…

如何快速删除CSV、Excel、Markdown表格的重复行?

如果你正在使用 CSV、Excel 或 Markdown 表格&#xff0c;你可能会遇到重复行的问题。这可能是因为你手动输入了重复的数据&#xff0c;或者是因为你从其他源导入了重复的数据。无论原因是什么&#xff0c;删除重复行是一项重要的数据清理任务。本文将向你展示如何使用几种不同…

RESTful的风格提倡 URL 地址使用统一的风格设计

RESTful概念实现REST&#xff1a;Representational State Transfer&#xff0c;表现层资源状态转移。资源&#xff1a;资源是一种看待服务器的方式&#xff0c;即&#xff0c;将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。资源的表述资源的表…

nnUNet 训练 AMOS22数据集 Task216(抽丝剥茧指令+原理篇)

环境准备篇 安装hiddenlayer&#xff08;用来生成什么网络拓扑图&#xff1f;管他呢&#xff0c;装吧&#xff09; pip install --upgrade githttps://github.com/nanohanno/hiddenlayer.gitbugfix/get_trace_graph#egghiddenlayer 安装环境&#xff0c;由于服务器已经装好py…

网络安全日益严峻下计算机主机加固的意义

​ 近年来&#xff0c;计算机以及互联网应用在中国得到普及和发展&#xff0c;已经深入到社会每个角落&#xff0c;政府&#xff0c;经济&#xff0c;军事&#xff0c;社会&#xff0c;文化和人们生活等各方面都越来越依赖于计算机和网络&#xff0c;电子政务&#xff0c;无纸办…

【计算机体系结构】指令集体系结构、微体系结构简介

1. “虚拟” to “现实” 首先可以看这张图片&#xff0c;下面的 Physics 所指的是我们的物理世界中看得见摸得到或者是客观存在的事物&#xff0c;而人类希望将自己的工作内容或者需求以某种方式映射到物理层面上&#xff0c;用物理变化带来的影响来完成人类工作内容。例如早期…

《Linux Shell脚本攻略》学习笔记-第二章

2.1 简介 本章将为你介绍一些最值得关注同时也是最实用的命令。 2.2 用cat进行拼接 cat命令能够显示或者拼接文件内容。cat能够将标准输入数据与文件数据组合在一起。 通常的做法是将stdin重定向到一个文件&#xff0c;然后再合并两个文件。而cat命令一次就能搞定这些操作。 1&…

【Linux】基础常见指令

目录​​​​​​​ 前言 一、Linux的环境搭建与远程控制 Linux 环境的搭建方式主要有三种 使用 XShell 远程登陆到 Linux 二、常见指令 1. ls 指令 2. pwd命令 3. cd 指令 4. touch指令 5. mkdir指令 6. rmdir指令 && rm 指令 7. man指令 8. cp指令 9. mv指令 10.…

【微信小程序】实用教程02-添加全局页面配置、页面、底部导航

开始前&#xff0c;请先完成项目创建&#xff0c;详见 【微信小程序】实用教程01-注册登录账号&#xff0c;获取 AppID、下载安装开发工具、创建项目、上传体验 前期准备 因我们的项目是根据模板创建的&#xff0c;需先清理掉无效的页面代码&#xff0c;具体操作方式如下&…

LeetCode 64. 最小路径和

&#x1f308;&#x1f308;&#x1f604;&#x1f604; 欢迎来到茶色岛独家岛屿&#xff0c;本期将为大家揭晓LeetCode 64. 最小路径和&#xff0c;做好准备了么&#xff0c;那么开始吧。 &#x1f332;&#x1f332;&#x1f434;&#x1f434; 一、题目名称 LeetCode 64…

【Redis】使用阻塞队列+Redis优化秒杀业务

【Redis】使用阻塞队列Redis优化秒杀业务 文章目录【Redis】使用阻塞队列Redis优化秒杀业务1. 为什么要优化2. 怎么优化2.1 查询优惠卷2.2 判断秒杀库存2.3 校验一人一单2.4 减库存2.5 创建订单2.6 保证redis操作的原子性3. 确认优化方案4. 实现优化方案4.1 编写lua脚本4.2 定义…

jvm系列(3)--运行时数据区Runtime

目录运行时数据区概述及线程前言运行时数据区结构运行时数据区与内存线程的内存空间Runtime类线程JVM 线程JVM 系统线程程序计数器(PC寄存器)PC寄存器介绍PC寄存器的作用举例两个面试题CPU 时间片本地方法接口本地方法举例为什么要使用 Native Method&#xff1f;与Java环境外交…

Tomcat打破双亲委派模型

tomcat的类加载器结构tomcat的类加载&#xff08;loadClass&#xff09;过程和原本的双亲委派模型思路差不多&#xff0c;先看有没有加载过。先在本地 Cache 查找该类是否已经加载过&#xff0c;也就是说 Tomcat 的类加载器是否已经加载过这个类。如果 Tomcat 类加载器没有加载…

【学习笔记】【Pytorch】张量(Tensor)的基础操作

【学习笔记】【Pytorch】张量&#xff08;Tensor&#xff09;的基础操作一、创建张量1.使用数据创建张量2.无需数据的创建选项3.torch.Tensor与torch.tensor的区别4.PyTorch中张量的创建方法的选择二、张量的属性1.张量的 torch.dtype2.张量的 torch.device3.张量的 torch.layo…

阿维塔冲击年10万台订单,第二款车型Q2发布

1月13日&#xff0c;阿维塔科技在重庆总部召开渠道合作伙伴大会。今年&#xff0c;阿维塔计划推出&#xff1a; •阿维塔11后驱版本 •并发布第二款产品&#xff0c;代号E12&#xff0c;定位中大型轿车。阿维塔今年计划冲击10万辆订单目标。在当前CHN平台的基础上&#xff0c;阿…