Android开发要达到阿里P7水平,很难吗?凭什么人家能进大厂?

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

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

主要困境:

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

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

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

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

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

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

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

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

一,职业发展规划


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

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

2.解决极端情况下的技术问题,比如性能优化,OOM等。

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

3.在开发框架和效率上做文章。

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

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

举个例子:

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

具体怎么做?

如果你现在已经是一个 Android 工程师,但是经验积累的还不够,那这个阶段就是你成长极快的时候。前提是,你认同我之前经常说那句话:

从你入行那一刻起,你就要不停地学习。

对于 Android 工程师来说,想在业务能力上更进一步、让自己更值钱,最大的捷径就是用正确的方法来学习,好的方法能让你事半功倍,下面就是我在学习中总结的两个“捷径”:

第一,用企业的技术要求来训练自己。

作为一个程序员,你的知识体系,和企业的用人需求,是不一样的。 Android 工程师尤其是。

我也见过一些读者朋友,觉得自己的 Android 技术过关,但是一到面试就被 pass 了,问题就出在这,无法将 Android 技术应用到实际开发中。

这里我建议 Android 经验 1-3 年的读者,可以对标阿里 P7 的标准。文章后面,我会给大家分享阿里 P7 的技术水平,和如何达到这样的水平。

第二,制定一份至少 6 个月的学习计划,目标尽可能明确。

我之前分享过一个观点:学一个新东西,如果你能坚持 6 个月,已经跻身这些学习者的 25%。能够坚持一年的人,不超过 5%。如果你竟然坚持学习了 5 年,就可以轻松打败那 99% 的人,进入 1% 的行列。

我自己就是最好的例子,刚工作那会,我每天至少编码 3 小时,一直坚持了 3 年。

我建议你现在给自己制定一个学习计划,最好以 6 个月为一个周期,至于达到什么程度,要根据自己的实际水平,可参考上面两条。

以上 2 条,是我亲身实践得出的结论,希望你们能用得上。

肯定会有读者想说:我也经常制定学习计划,但是从来没坚持下来过。

对于这样的读者,我更建议你能找一个系统学习的路线,很多大佬整理的学习路线都很好,能让绝大部分学员坚持下去。

二,体系化深入学习


在体系化的学习过程中,博客、书籍、视频课程都是较好的学习手段。

鉴于Android也是基于java语言的,因此很多与java相关的基础也是必须掌握的,比如《深入理解Java虚拟机》、《Effective Java》等相关书籍也是必读的。

Android相关的书籍包括《Android权威编程指南》、《Android开发艺术探索》等,进一步的还可以去阅读Android相关源码,配合《Android源码设计模式解析与实战》等书籍,对阅读源码大有裨益。

如果你觉得自己看书太慢而且难以全部理解,博客不够系统,可以找一套进阶视频学习。没有的话我可以免费分享一套给你

关于作者

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

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

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

以下为我的整理,免费分享;

三、进阶阿里P7


1、确定好方向,梳理成长路线图

知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。

高级UI

架构师筑基包括哪些内容

我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。

由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容

注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!



这份资料就包含了所有Android初级架构师所需的所有知识!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值