Android开发要达到阿里P7水平,难度超乎我们的想象

219 阅读5分钟

写在前面;

Android开发前几年火爆一时,市场饱和后Android程序员每一名程序员都想进阶,甚至成为架构师,但这期间,需要付出的辛苦和努力远超过我们的想象。

就我这几年对所接触的Android工程师调研:97% 的Android开发 技术人都会面临这些困境(可能也是你的困惑)

主要困境;

外包公司/小型团队技术闭塞:如果你长期在小型软件公司或外包公司工作,是很难有机会经历完整且大型项目的开发,整个技术视野会比较窄,导致薪资长期处于停滞不前;

重复同样的编码工作:长期重复同样的编码工作,项目对你的技术要求就是那些,不会让你按照自己的期望去发展,导致很长时间自己的能力都无法突破,企业更是难以接受新技术;

自控力差,没时间学习:白天工作,晚上加班,只能依靠碎片化的时间学习,如果自控力比较差,基本就三天打鱼两天晒网,无法系统性学习,无法沉淀成技术实力;

目前的简历,难进大厂:现有的技术能力、项目经验,无法通过大厂简历初筛,更别说拿到大厂的高薪 Offer。

这些问题,将会成为你职业发展的绊脚石,不想办法解决这些,焦虑可能会像一块巨石,压在你身上。很多求职者的能力体系和企业用人需求有很大出入。

相信大多数从事Android开发的小伙伴一开始肯定不是抱着改变世界的宏伟目标,说白了就是赚钱的多,以后技术牛逼了,年薪百万,走上人生巅峰,迎娶白富美~

但工作过一年后你会发现,自己的工作重点就是将找各种各样的组件、框架,拖拖拽拽,改改样式。在极端情况下出现了问题后(比如部分机型上崩溃,加载图片慢),也不知道该如何解决!

造成这种局面的原因:自己的意识不够,格局受限,在向上提升方面也没有完整的规划。

一,职业发展规划;

从自身规划的角度讲,技术上的进阶分如下几个阶段:

1.做好业务需求的功能。这个是初级程序员就应该有的能力。

2.解决极端情况下的技术问题,比如性能优化,OOM等。稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的App在部分机型上崩溃、页面加载不出来等。只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了。在忽略这些问题的过程中,也放弃了进一步提升的可能性。还有一部分程序员是看到了这些问题,但一直不知道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不足。

3.在开发框架和效率上做文章。举个例子,很多程序员说自己的精力都在和产品的撕中浪费了,但有没有想过,能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来?比如是否能够做到只编写一次代码,或者改个配置参数就能够做到在不同平台上运行。更高的要求是,能否将这些方案做成通用框架或产品。

其实没转行的Android程序员,大多都是希望能在这方面继续学习提升的。而上面列举的几个阶段,首先要从思考方式上去逼迫自己不断地逼迫自己,不要偷懒。其次,要想按照上述阶段发展,还需要落在实处,在具体的技术体系中不断的学习。

举个例子:

对于OOM,需要知道有哪些优化工具可以使用(Lint、MAT等),如何检测OOM,以及垃圾回收机制等深层次的原理。对于性能优化来说,如何减少apk体积、资源动态加载等都是必会的。以下是性能优化相关思维导图。

Android开发要达到阿里P7水平,难度超乎我们的想象!_阿里P7移动架构师

(Android性能优化思维导图)

关于作者

作者目前在深圳,13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

我们今年整理了一份阿里P7级别的Android架构师全套学习PDF,特别适合有3-5年以上经验的小伙伴深入学习提升。

主要包括腾讯,以及字节跳动,华为,小米,等一线互联网公司主流架构技术。如果你有需要,尽管拿走好了。

《Android 11.0最新 Framework 解析》 目录

关注Vx公众号:Android老皮

你有没有敢去想过,自己以后能达到架构师水平,突破百万年薪,实现财富自由呢?如果你觉得这对于你来说不可能,甚至很可笑,那么你就真的遥不可及了。