腾讯 35 岁架构师提前退休,比别人早 2 年确定职业目标有多重要?还不学起来等着被裁吗?
最好的选择在进入舒适区、自身能力提升遇到瓶颈、公司增长缓慢之前就跳槽,跳到一个能力可以继续提升的地方去。
35 岁写不动代码了怎么办?
机器是对人类职业寿命的重大延伸,比起体力劳动者,我们的职业寿命延长了几十年。写代码可能是最轻松的跟机器打交道的职业中,最轻松的一个。
这么多年了,那么多工厂的老工人都还在车间操作机床呢,我们坐写字间的怕什么。中国的通信业、IT 行业,国外的 IBM、MS 等里面大把的 5、60 岁写代码的。
大家不用对自己预期过高,总想着升任 CEO,赢取白富美。你要是把目标定位在 50 岁跟 35 岁一样,6、70W 年薪,估计就没那么大压力了
35 岁做不到管理层怎么办?
做不到管理层继续写代码啊~如今,一线架构师什么的,可比管理层好找工作多了。
百度 M2A\2B 出来,要是纯管理,不做一线工作,都没啥地儿可跳。而百度 T7、8、9 要出来,公司都是跪求的,抢着要。
为什么?原因太多了,市场经济需要企业不断提升产品质量、技术水平,发展太快需要扁平化结构等等。
什么样的程序员在 35 岁以后依然被公司抢着要?
我 37,算是 35 岁以后的程序员。最近一次跳槽是 34 岁,当时一个月面 4 家,拿了 3 个薪资不等的程序员岗的 offer,都是不 996 的外企,最低的年薪是 50w。后面不想再继续面,所以选择了其中一家。
我说说看我在工作习惯和职业素养。
1、负责任
我说的负责任不是说往自己身上大包大揽,那叫老好人,也不是天天没事加班演给老板看,那叫奋斗逼。负责任是说给你指派的任务,你要保质保量认真按时完成,这是最基本要求。
在你做的过程中,你要考虑有没有什么风险?对别人有没有影响?能不能把公用部分抽出来造个轮子?如果是作为别人的上游,对别人来说是不是好用?代码是不是简洁干净?有没有可以写成配置的 hardcode?
2、技术过硬
技术过硬 ≠ 对 API 熟悉,你用过这个框架,那个框架,熟悉这个配置,熟悉那个配置,这不叫技术好,这叫对框架熟,最多只能叫做 API 调用师而不是软件工程师。
技术过硬是指对技术在实际业务模型下的应用能力,自己在实际工作中对问题的分析解决能力。
有时候在做一个功能或者解决一个问题的时候,你有很多种选择,你是否有足够的知识储备让你选择解决方案?还是你仅仅知道一个唯一的解决方案?如果你现在有很多方法,你是否能找到最优解?
当你面对一个问题的时候,你的思路是否能支持你一步一步找到 root cause?要花多少时间?找到以后你能不能有办法解决掉?
3、沟通能力
沟通能力不是不是说找产品找经理吵架的能力。沟通能力有三层意思:
第一,讲述一件事情或者描述一个物体要有条理,有逻辑,能用清楚明白的语言把要描述的对象描述出来。在这个过程中很多技术人员习惯用技术语言去跟其他领域的人沟通,暂且不谈语言条理和逻辑,这种沟通大多是无效的,因为鸡同鸭讲怎么可能有效率?所以引出第二条:要学会抽象和归纳
第二,抽象和归纳,在跟人沟通过程中,讲一件事不要东一榔头西一棒槌,一会描述细节,一会又概括描述。特别是技术人员在跟其他人沟通时,要把技术概念抽象出来,并且概括提炼你要说的内容,然后组织语言表达出来,这样让对方快速理解你要表达的东西,如果涉及到细节,你再深入那个点展开来谈。
第三,要学会跟你的上级即时沟通状态,特别是那种需要相对长期时间完成的任务,尽量在一些关键的点汇报自己的情况,让对方知道自己在做什么,做到哪里,还有什么剩下的,有没有什么问题,有没有风险,需不需要帮助等等。千万不要闷头在那做,一做好多天啥也不说,结果一开会一问这也是问题那也是问题,要么就是明明自己觉得有问题的东西不尽早沟通,一直拖,拖到最后实在干不了给上级一个惊喜。
4、学习能力自己保持学习习惯
很多人认为年纪大了学不过年轻人,我不是很懂这个逻辑,你说年纪大了家里事情多,没年轻人有时间那我还是能理解,你说学不过年轻人我真的不同意,况且多少年轻人也没拿时间出来学习啊,王者吃鸡抖音小姐姐多香是不是?
我大概每天保持学习 2 小时以上,主要是对新技术的学习和刷算法题。手游不碰,抖音不碰,碎片时间(比如马桶上)刷刷微博知乎。我明显感觉到最近这些年,精力,智力,思维,工作能力自从读书考试那会以来又达到了一个巅峰状态,工作上代码写的得心应手,学习东西快(所以我不知道有些人说三十多的人学习能力不如年轻人的结论是怎么得来的),理解能力强,刷算法时思维比以前还要敏捷。
不敢说公司抢着要把,但是至少我能说我还是有一定竞争力的,起码 35 岁被裁什么的在我这不存在的。就算是被裁,出去重新找个工作不就好了,还能涨涨薪水。
也许迷茫的同时,我们应该明白,**竞争无处不在,只有从根本上提升自己,精进自己,才能在这个社会上有立足之地。**另外,我们应该学会不畏惧年龄的增长,勇敢尝试,即使脱离原来的行业也许会有新的机遇等着你!
Android 技能储备
不用多说,相信大家都有一个
共识:无论什么行业,最牛逼的人肯定是站在金字塔端的人。所以,想做一个牛逼的程序员,那么就要让自己站的更高,成为技术大牛并不是一朝一夕的事情,需要时间的沉淀和技术的积累。
关于这一点,在我当时确立好 Android 方向时,就已经开始梳理自己的成长路线了,包括技术要怎么系统地去学习,都列得非常详细。
下面是详细的学习路线及资源:
Android 学习路线图
首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!
模块化学习资源
接下来是每个模块我整理出来的文档学习资料,帮助大家更细致化的学习。
《Android 汇总复习资料—Java》
《Android 汇总复习资料—Android》
《Android 汇总复习资料—Android 扩展》
《Android 汇总复习资料—Kotlin》
《Android 汇总复习资料—Flutter》
《Android 汇总复习资料—算法》
除了上面的学习路线,还可以额外的配合以下方式学习,效果翻倍~
Android 进阶学习
①看视频进行系统学习
前几年的 Crud 经历,让我明白自己真的算是菜鸡中的战斗机,也正因为 Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去 B 站进行学习,B 站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频,有需要的我也可以分享给你。
②读源码,看实战笔记,学习大神思路
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
③面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
④2020 大厂面试高频知识点
图片
网络和安全机制
数据库
插件化、模块化、组件化、热修复、增量更新、Gradle
评论