35+的程序员都去哪儿了?所谓“青春饭”真只是在贩卖焦虑吗?

开发者全社区

共 5346字,需浏览 11分钟

 ·

2021-02-01 21:27

一、缘起

关于35岁程序员“门槛”,“青春饭”诸如此类的话题,为什么从前没有听说过,而这两年突然火了这个话题?而且几乎已经成为行业内公认的“事实”了?

因为中国第一批程序员35岁了!!!

1999-2000年,两位马爸爸和一位李爸爸创建了如今的互联网三巨头:BAT。

因此,我们暂且认为,互联网是在2000年左右兴起,一个行业兴起后,要有几年的时间给大家反应进入这个行业。

当初和马爸爸们、李爸爸一起打拼的兄弟们,现在都是各个公司的顶层人物了,这种类型我们就不考虑了。

我们假设给普通大众几年的时间接受互联网兴起,也就是2005年左右,假设程序员22岁毕业进入互联网行业。

到2019年,这批22岁的程序员差不多36岁了!也就是说比较早的一批本科毕业就进入互联网行业的程序员,现在是36岁左右!

注意,很多人也是在后面的时间里慢慢加入互联网行业的,所以说,还有很大一批的程序员,才刚刚步入35岁左右的年龄。

最关键的是,我也要到35了!!!!


二、我所接触到的事实

一个朋友,前阿里人,37岁,离职后就职美团,今年想跳槽。投的是技术岗的简历,之前跳槽,因为有大厂经验,投一个面一个。今年,投十个,能有两个面试机会就不错了,最后索性又回了阿里,做了个技术专家,主要做架构。

他在面试的时候,也经常被出各种幺蛾子,碰见比自己大的面试官,态度和善,一般面试都能过。而如果碰到比自己小很多的面试官,能给你从天上问到地下,好像在说,就这?你也能不会?

按我一个做人事的朋友说法:凡管理人员,都讲究气场。他跟你能不能和得来,年龄是硬伤。除非有些大厂专门有架构师的岗位,你不写业务代码,他也不负责管理你,就无所谓。但凡你要在他手下干活,年龄又相差较大的话,他一般是不会要的,根本原因就是怕管不住。HR推来的人,不好直接推脱,总得找点理由,这时候就会出现面试不按常理出牌的情况。

另外几个朋友,都走的技术管理岗,也35、6了,有的在网易,有的在滴滴。据他们的话说,到了这个年纪,就不要想着跳了,找一家合拍的公司好好干吧,自己混个高点的职位,出去好要价,高不成低不就的,同样没人要。

三、35岁的真相

同样以某为裁员为例,你真的以为裁员裁的是年龄大、股票多的那些人?

当然毕业后同学朋友在华为的也有几个,据他们的说法:人家裁的都是工作十来年,考评普通职级一般,收入和股票都偏低的一群人。也就是:这部分人的工作具有可替代性。

华为裁员是为了优化结构,不是为了断臂求生。核心员工,不仅不可能被裁,而且会被重点关照,停止流失!!!

所以,裁员裁的是这三类人:

  • 拿着远超三个应届毕业生的工资,但是能力最多顶一个

  • 老油条,干活一般般,但是油油的

  • 只会写代码,职业素养和情商一般般

总的来讲,就是性价比低、不可替代性弱的同学们。淘汰的就是这些。

但真正能有几个人的工作具有不可替低性,现在在敲代码的我们,终归有几人能逃过被挑选的命运?

四、35+的程序员都去哪儿了?

我搜遍全网,结合我身边的例子,给出下面几个程序员能走的路。

1. 走纯技术路线

根据舒伯的职业生涯阶段理论,31~44岁是安定期,程序员应该稳定于一项工作,发现适当的晋升通道,确立自己将来的保障。

结合35岁的门槛,大家应该在35岁前,尽量找到合适的下家,这些下家中有纯技术上升通道。

很显然,只有大公司才会有纯技术上升通道,比如阿里,中小公司是不太可能有的。所以,走这条路的同学,要想尽一切办法进到大公司中,并且稳定下来。

关于如何进到大公司,因为我自己是做Android开发的,身边也有很多在大厂多年,Android开发方面的大佬,所以我整理了如下的一套学习方向与方法,供大家学习参考!有需要具体笔记文档的同学,可以 点赞+评论 此文后,后台私信我获取!

学习路线图

对应每一个知识点都整理了一套非常系统的学习笔记PDF

  • 架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO

架构师筑基必备技能

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计


设计思想解读开源框架

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

1、设计思想与代码质量优化

2、程序性能优化

启动速度与执行效率优化布局检测与优化内存优化耗电优化网络传输与数据储存优化APK大小优化

3、开发效率优化

分布式版本控制系统Git自动化构建系统Gradle

4、项目实战

启动速度流畅度抖音在APK包大小资源优化的实践优酷响应式布局技术全解析网络优化手机淘宝双十一性能优化项目揭秘高德APP全链路源码依赖分析彻底干掉OOM的实战经验分享微信Android终端内存优化实践

360°全方位性能调优

  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析


Android框架体系架构

  • NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习


NDK模块开发

  • Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

......

Flutter学习进阶

  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

微信小程序开发

  • Android相关源码解读
    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。



  • 历年大厂面试真题整理

在各平台收集整理的各大厂面试真题合集,附带解析答案。

历年大厂面试真题整理

有需要具体笔记文档的同学,可以 点赞+评论 此文后,后台私信我获取!

2. 走技术管理路线

从小管理到大管理再到CTO,这条路。说点简单的,就是管理路线一路走到黑。

中国自古有官本位思想,觉得做了管理,就不得了了。但在技术性岗位上,真的是这样吗?

对于技术性岗位而言,如果你两年不碰代码,那基本上你的代码能力也就废了。想要立马找一份开发的工作,基本上没有可能了。

所以,技术性岗位可以向管理岗位转,反过来则不成立。

大家都经历过2018、2019的裁员潮,在2018年尤为严重,很多公司一个部门一个部门的砍,而有些部门仅留几个人运维。

而这些裁员中,首当其冲的就是纯管理,皮之不存,毛将焉附?

而技术人员可以直接找工作,虽然难找,但耐不住岗位多。管理层呢?相对则难了很多,因为管理本身就是软实力,而且岗位少,在裁员潮到来时,管理岗更少。技术岗通过技术面试,能直接了解你的水平,管理则不同。。它没办法通过面试了解你的实力,你所列举的各种成果,可能跟大环境和你所在公司有直接关系,而并不能体现你的价值。

所以,可以做管理,但无论如何不要放弃技术。无论何时,留一个保命的本领!!!

3. 转岗

开发做不了太久,其他行业能做很久?其实整个互联网行业都是有年龄限制的,如果说老程序员大部分人能干到35,那其他岗位撑死到45也不得了了吧。

但时间长,总是有机会,而且还是技术出身,对技术实现系列更了解,指不定还能实现事业第二春。

程序员能去的方向有,开发测试、产品、运营、项目经理。

【开发测试】: 因为有代码经验,转到开发测试岗,是有一定优势的,容易升到管理岗位。注意,开发测试岗跟测试岗是完全不同的,开发测试是有一定门槛的,涉及到测试工具开发、单元测试用例等,是针对代码层面的测试。而测试岗则完全不同,是针对软件功能的点检,根据测试用例一条条过,是不跟代码打交道的,门槛相对低。越低的门槛,竞争力越大!!!所以,要选就选开发测试。

【产品经理】: 应该转岗的程序员至少60%以上,都是选择这个岗位,首先,我们开发时都是跟产品打交道的,对他们做什么相对了解,其次,我们懂技术,能了解产品的表现形式,缺乏的只是产品思维而已,所以,转岗产品,相对容易,而且,产品线职业寿命长,经验能够积累,你就是干到40,也没啥问题。

【运营岗位】: 这个岗位就跟代码完全不搭噶了,你的代码能力是完全用不上的,程序员转运营的比较少,但如果你真的觉得这方面你有天赋,比如你自己弄的短视频账号流量很好,也是可以试试的。

【项目经理】: 项目经理主要是做项目管控,其实,如果你有这个能力,何必选择项目经理呢?直接做技术管理就好了。项目经理岗位比较少,因为中小公司是不需要项目经理的,直接技术领导直管。只有项目较多且涉及项目间合作沟通的,才会有项目经理,而且,一个项目经理是同时负责几个项目,没你想象的那么容易。最重要的是坑少,这就代表着找工作不好找。

比如我们说大龄程序员不好找工作,但耐不住人家坑位多啊,原来投十个面十个,现在投十个面三个,也是有的面,可你总共只有十个公司有这个职业,咋弄?所以,这个岗位慎重转。不信?boss直聘上搜搜。

4. 另找个能养老的工作

这类工作就是我们所说的铁饭碗了,有公务员、事业单位、老师等。没啥好说的,全看个人选择,能去也挺好的。不过对我来说,我的性格不适合,我喜欢闯,喜欢拼,不喜欢安定。

五、最后

关于35+的程序员都去哪儿了,相信看到这里的读者老爷或多或少都有了自己的答案,或是说有了自己35+后的方向。所谓程序员到底是不是一碗“青春饭”?在我看来是一个不愿意去承认的“事实”。但其实排除程序员这个行业,除了公务员、事业单位这些职业外,又有多少个职业是能从“青春”干到“残年”的呢?

大部分人到了一个年纪,因为一些事或是一个人,终归是要去做出变化。问题是当这个变化来临之前,你是否已经做好了计划或是足够的准备。作为一个程序员,留在代码里的不仅只有BUG,还有时光!当时光殆尽,你是否已有应有变化?与诸君共勉!


如有收获,欢迎分享 

「点赞「评论 

看完本文有收获?请转发分享给更多人

  开发者全社区 

5T技术资源大放送!包括但不限于:Android,Python,Java,大数据,人工智能,AI等等。关注公众号后回复「2T」,即可免费获取!
浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报