每天都有人在失去工作。
阿里滚动式裁员,腾讯持续裁员,知乎突击裁员,美的收缩式裁员……裁员潮像洪水一样蔓延,不论大厂还是中小企业,不论互联网还是传统行业。告别增长,降本增效,裁员是最直接的手段。
过去,重在雇主品牌建设的互联网公司,为裁员这样的负面字眼紧张在意,一篇报道就可能引发一场公关危机。如今,经过大环境的锤炼,他们已经无感。新闻不再新鲜,这时候如果哪家公司还没有裁员,反而更应该上头条。
今年的职场,没有金三银四。
以前,但凡在稍微靠谱点的公司,不犯大错,干个几十年没问题;而现在,可能上午还为某个项目发愁,下午就彻底恢复了自由。
对普通人来说,失业不可怕。失业后找不到工作,才是致命的。
那么在变幻莫测的职场中,Android开发要如何实现自救,保全自己呢?
1.底层基础知识过硬,专业技术过硬
每个企业的业务方向都不一样,用的技术也不一样。很多人在开发过程中只是浮在表面,忽略底层源码分析,面试求职的简历也没有进行修缮和突出重点,自然求职不顺,加薪无望。
解决这个问题的最好办法就是:深入底层,抓住不变量。
要知道,底层知识永远都不过时。算法数据结构、基本的程序设计理论、良好的编码习惯、分析问题和解决问题的能力、强大的学习能力和旺盛的求知欲……这些永远都不过时,大脑的思维方式也永远都不过时。
专业技术过硬 ≠ 对API熟悉,技术过硬是指对技术在实际业务模型下的应用能力,自己在实际工作中对问题的分析解决能力。
有时候在做一个功能或者解决一个问题的时候,你有很多种选择,有很多方法,你是否有足够的知识储备让你选择解决方案,找到最优解?还是你仅仅知道一个唯一的解决方案?
当你面对一个问题的时候,你的思路是否能支持你一步一步找到 root cause?要花多少时间?找到以后你能不能有办法解决掉?
如果你觉得自己在这些方面还有欠缺,这里推荐大家去看一下这份Android framework底层源码开发揭秘。
从底层开始打怪升级。
这份资料免费分享给大家,有需要的朋友可以点击文末卡片免费获取!
2.保持学习的习惯
很多人认为年纪大了学不过年轻人,但是这个逻辑是讲不通的。年纪大了家里事情多,没年轻人有时间那我还是能理解,但是也拥有年轻人没有的优势,比如对代码的熟稔,对规则的熟悉。
笔者大概每天保持学习 2 小时以上,主要是对新技术的学习和刷算法题。手游、短视频什么的基本不碰,碎片时间会刷刷CSDN、知乎。
笔者自己明显感觉到最近这些年,精力,智力,思维,工作能力相比于读书考试那会以来又达到了一个巅峰状态,工作上代码写的得心应手,学习东西快,理解能力强,刷算法时思维比以前还要敏捷。
不敢说公司抢着要把,但是至少笔者能说自己还是有一定竞争力,起码 35 岁被裁什么的在我这不存在的。就算是被裁,出去重新找个工作也很容易,还能涨涨薪水。
3.写好业务代码,搬好每一块砖头
没有哪一个架构师不是从写业务代码成长过来的。上面指派的任务,要保质保量认真按时完成,这是最基本要求。
在这个的基础上考虑有没有什么风险,对别人有没有影响,能不能把公用部分抽出来造个轮子?如果是作为别人的上游,对别人来说是不是好用?代码是不是简洁干净?有没有可以写成配置的 hardcode?
一个好的工程师在拿到需求时,并不单纯是考虑这个需求怎么实现,还会考虑,自己设计的架构体系,扩展性在哪里,在他的眼里,看到的需求会被分解,折分,然后自己的技术方案,会挨个分解,分配。
在完成设计之后,他会很清楚的知道 ,自己设计的系统里,哪些变化是支持的,随便你改,我只需要改动一个很简单的内容,哪些是你绝对不能改的,你要改,我就必须花很大的代价,特别是在已经有线上数据的时候。
而且还要会拿着自己的架构体系跟 PM 沟通,讲清楚。
负责任,写好业务代码,搬好每一块砖头,完成自己的代码质量优化。当你做到了这些你就拥有了基本的架构思想:面向未来编程。
总结
要想成为架构师,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。
如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
Android八大模块进阶学习资料
一、架构师筑基语言基础
知识要点:深入理解Java泛型、注解深入浅出、并发编程、数据传输与序列化、Java虚拟机原理、高效IO
二、Android高级UI开源框架进阶解密
知识要点:SmartTable使用指南、TextSurface源码解析、FloatWindow源码解析、RippleEffect使用指南等等
三、Android Framework 开发揭秘
知识要点:系统启动流程分析、Binder解析、Handler解析、AMS 解析、WMS解析、Android10.0 源码解读
四、Android性能优化—实战解析
性能优化也是企业考察一个高级 Android 工程师技术水平的重要维度。特别是诸多大厂在这方面尤为看重,毕竟就算0.1%的瑕疵,影响的将是百万级、千万级的用户体验!
五、音视频精编源码解析
知识要点:WebRTC Native 源码导读、X264源码解读、FFmpeg、ijkplayer 源码分析系列、jsmpeg源码解析、Live555源码解析、Opus源码解析
六、Flutter学习进阶
知识要点:Flutter跨平台开发概述、Windows中Flutter开发环境搭建、编写你的第一个Flutter APP、Flutter Dart语言系统入门等等
七、微信小程序开发
知识要点:小程序概述及入门 、小程序UI开发、API操作、购物商场项目实战
八、百大框架源码解读
知识要点:微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等
全套视频资料:
一、面试合集
二、源码解析合集
三、开源框架合集
篇幅有限,需要Android中高级面试合集,Android开发学习资料的小伙伴可点击文末卡片免费领取!