做android开发一直不相信35岁危机,好像被自己遇到了

缘起

这两天在脉脉看到一则贴子:

一直不信的35岁危机,好像被自己遇到了。一直很努力的保持竞争力,独角兽和大厂经验都有,换3次工作都是因为遇到业务瓶颈及个人成长变慢。没走上管理岗,最近看机会明显和2年前不同了。cv人才过剩,很多面试官都是小年轻,大家对工作10年35岁的人预期太高了,人生真难,我也只是刚工作10年而已啊!

互联网职场现状

中年危机的话题,这几年非常火,我们看到这个词,心里都不免咯噔一下。毕竟,除了身处其中的中年人,对其最关心的,莫过于二十多岁的职场青年人了。

我未到中年,身边熟悉的不少朋友,从事互联网行业,年龄在 35 岁附近。常常,我通过观察他们,想象自己的未来的样子。

这些朋友,更准确的说,是我的老师,师兄,前辈,在三十多岁的年纪,人生境况各不相同。

有位师兄,打拼多年,现在的职级是阿里 P9。这一两年和他联系较多,主要是作为晚辈后生请教问题。阿里集团有十万员工,在 P9 职级的员工只有寥寥千人,所能够获得的工资和股票,远远超过了普通人的期望。我问过他,怎么看待这几年愈演愈烈的中年危机话题。他没有多说,只淡淡的提了一句,「其实不是像大家讲的那样紧张,如果三四十岁,职级还是 P6,能不中年危机吗」,这里需要说明一下,阿里的硕士入职定级一般是 P5。

我们来品品这句话,是有一定信息量的。诚然,以这位师兄取得的成绩和社会地位,中年危机对他来说,可能是没有亲密接触过的。但从以往的交流中,我知道师兄热爱思考,也热爱与人打交道,甚至对我这样一位寂寂无名的晚辈后生都经常保持联系。所以他对社会百相是有着高于一般人的认知的。他之所以这样说,其实是想告诉我,在他的观念里,与其说职场中年危机是一种现象,倒不如说是一种结果。

何出此言,从毕业后的二十多岁,到可能出现中年危机的三四十岁,这十几年里,有些东西的改变是我们无法阻止的,例如身体机能的下降,精力明显没有青年时旺盛了。但有些东西,是我们可以争取的。

像师兄说的,如果一个程序员,人近中年,还在相对而言较低的职级位置上,这十几年的时间,基本是处于一种原地踏步的状态,过着温水煮青蛙的日子,技术深度和广度都停滞不前,当公司的效益下滑时,很容易成为优化的目标。

那如果,十几年如一日的专研技术,在技术上有所沉淀,能够避免职场中年危机吗,相信这个问题,也是很多热爱技术的朋友一直苦苦思考的。

我曾经很自以为是的认为,中年危机可能是很多人为自己年轻时候的不努力找借口,是在品尝年轻时碌碌无为种下的恶果。后来了解的人和事越多,越发觉得自己的认知过于简单了。

有一位我十分佩服的前辈沈世钧,他是一家著名外企的技术专家。我们知道,计算机领域的知识更新迭代非常快,很多人会不断的学习新出来的知识,更新自己的技术栈。在这一点上,沈老师做的更为出色,他每年都会更新自己的简历,去市场上面试一波。

这样做有两个理由,其一是更清楚市场更关心哪些技术,更加了解技术趋势。其二是想弄明白自己的市场竞争力如何。

从 30 岁到 40 岁,沈老师年年如此,这种方式一次鞭策着他不断的追踪前沿技术,屹立在技术前沿,与年轻人同台竞技。

然而,事情的发展,可能会与自己的预期大相径庭。原以为自己这般超越常人的努力,日积月累,能够不断提升自身的市场竞争力,结果随着这些年面试的进行,一种窘境越发明显了。

一年一年,面试的结果每况愈下,如果从技术上来说,沈老师的表现是逐年提升的,唯一的问题很简单,就是年龄。

2019 年初,沈老师参加了一场面试,前几轮状态非常好,一路过关斩将,当时心想这个 offer 十拿九稳了,结果却在总监面惨淡受挫。

推门而入的那一刹,总监的脸上表现出了些许的惊诧和失望,草草问了数据库并发处理的问题,就结束了面试。

这次面试,即使是事过数月,我依然清楚的记得那位总监脸上的表情,他期待的显然不是一个奸滑,油腻的中年大叔,而是一个血气方刚,听话,能加班的精壮小伙。

前辈们的苦涩经历,甚至让我们怀疑「努力」二字的价值和意义。但,我们的努力没错,只是有时候,我们过于沉浸于努力所带来的充实感,在不断的前进中自我麻痹。

现实很美好,现实很骨感,现实很残忍,选择更好的方向去努力,更为重要。

技术是程序员安身立命的本领,很多人崇尚技术,但技术并不能给我们带来数十年的安稳。

不知道大家有没有思考过,为什么现在计算机应届生的起薪,要远远高于其他行业,比如物理学、生物学、航天学。为什么呢,是因为计算机的技术更高级吗,还是因为我们这些从业者更努力。想必我们心知肚明,都不是。我们能够拥有不错的机遇,是因为计算机行业还处于上升阶段,我们幸运的遇上了互联网的行业爆发式增长。

曾经的能源、机械、土建行业,也经历过这样的过程,但不幸的是,计算机领域的发展速度,是历史上任何一个行业前所未有的。身处这个领域中,从完全竞争阶段到寡头垄断阶段的过程,所需的时间非常短。阿里腾讯从摇摇欲坠,到跻身全球十大互联网公司,仅仅花了十几年时间。

速度越快,需要的新鲜血液就越多,更新迭代就越快,竞争力弱了,自然很容易被优化。也许我们的技术还在,精力还在,但当社会开始嫌弃年龄大了的中年人,我们也无法独善其身。

说了这么多,都是在阐述中年危机的背景和现状,关于解决办法,我自然是说不出来,也不可能在这里胡诌一通。我只想聊聊自己的预防方法。

预防建议

我想多给自己一些选择,将潜在的风险分散开来。

试想,如果家庭的收入,仅仅是自己的一份工资,那连生病都是一种奢侈。但好在,这个社会很公平,压力很大,机会不少,我可以对自己进行各种投资。

首先是职场投资,我喜欢专研技术,喜欢与前辈交流,请教职场经验,了解专业领域的前景,避开吃力不讨好的坑,保证自己的主业不要走岔路,稳定发展。

我自己做Android开发已经是接近八年,2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,19年5月份进了字节跳动一直到现在。

字节跳动除了优秀的同事之外,大公司里往往还有丰富的内部文档和资料。同时我在内部看到了很多优秀的文章,也有很多优秀的技术沙龙和分享。现在想起来2年下来,也没有去过几次,文章和资料看得也不算多,现在想想颇为遗憾。别的不说,就拿推荐领域而言,近些年质量不错的论文往往都来源于大公司尤其是国内的大公司,以阿里、华为和头条为主。除了公开的论文,公司内部还有很多技术相关的资料和文档,这些真的可以说是有价无市,非常珍贵。

以下分享一下我近八年抗战Android的具体学习路线及笔记文档,希望能让程序员放下自我,不断学习交流,帮助到有心提升技术的朋友!

系列知识点在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

而作为一名Android程序员,如何破局!构建属于自己的一套架构知识体系就显得尤为重要了!

一线互联网大厂Android架构进阶学习路线

  • 架构师筑基语言基础

目前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终端内存优化实践

  • Android框架体系架构

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

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

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

  • 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、机器学习

  • Flutter学习进阶

2020 年无疑是 Flutter 技术如火如荼发展的一年。现在这门技术也依然非常有价值。

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

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

  • 微信小程序开发

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

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

其次是认知投资,最重要的是读书,读好书,而不是网络上漫天飞舞的无聊书籍。这里推荐给读者一本我最喜欢的书,《富兰克林自传》,真的是经典之作,如果不知道富兰克林的成就,只觉得是一位老人用质朴的语言,缓缓道来很多人生哲学。读完之后会发现,原来一位不起眼的年轻人,通过对自己人生的不断精进,能够取得如此傲人的成就。

当然还有精力投资,我选择自媒体这条路,目前还只是经常更新文章,通过不断输出倒逼自己增加输入,同时也积攒着自己的小小声名。此外,我觉得视频领域大有可为,视频比以往任何一个时代,更能影响我们的生活。前几天,抖音的日活破 4 亿,快手也成功的打入下沉市场,另一个崛起的,是哔哩哔哩,它占据了很多人的业余时间。当真正的 5G 时代来临时,会给视频领域,带来更多的变革,更多的机会。

身边的很多人,开始进入视频创作领域,在长短视频平台,发挥自己的创造力,怀揣着厚积薄发的信念,一点点的积攒粉丝。

财富投资的事情,我还没有去做,一是目前对资本市场还不太了解,二是不想经历过于分散,同时做好两件事,就已经是一件不容易的事了。

这个时代很独特,我们身处其中,压力很大,但机遇真的很多。2012 年开始,互联网呈井喷之势,短短数年之间,造就很多技术致富的奇迹,使得多少人通过双手完成了阶层跨越。如果世界是一个舞台,现在的我,就是身处其中的一位舞姿稍显拙劣的舞者,不断的努力,去舞出属于我的阶级跳跃。

本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

推荐阅读更多精彩内容