轶事
“老天爷保佑,在弘法寺烧的香还真显灵了!”。在快要花光上一家公司的裁员赔偿款的4个月后,海投了200多家公司,面试了50多家,25岁在深圳的张鹏终于又“成功”入职了一家“创业公司”。
“领导让我接手一个二手Android项目,项目很庞大,前任开发人员已离职一个多月了,没人和我交接,代码没有注释,项目中各种bug,简直一团乱麻。”
“领导给的任务是一周完成这个项目,压力很大,我晚上老是睡不好。我实在不想在这家公司待了,每天早上起床都有种不想去公司的念头,可是出去又更加不好找工作,所以在没有更好的选择时,我还是坚持每天去上班。”张鹏吐槽道。
前任开发人员都离职了一个月,才招到了他这么一个“幸运儿”,来完成“救公司于水火”的壮举,这香真是没白烧。当然,在这一场“姻缘”当中,烧香的可不止张鹏一人,公司老板应该也应该也烧了不少,才迎来了自己的“盖世英雄”。
阴阳怪气,莫怪莫怪!
回到正题,西天诸佛帮你解决不了bug的,不过西天阿三哥兴许可以(手动狗头)。张鹏的处境,可以说是目前大多数初中级Android开发人员经历的缩影。
现状
初中级安卓开发的迷茫:一抓一大把,涨薪无望跳槽难。 现在,在IT职场中,有很多Android工程师,他们或者是计算机相关专业毕业,又或者是IT培训班出身,毕业后,通过竞争找到了一份见习或初级Android工程师的职位,心怀憧憬,希望在公司里大展拳脚、做些成就。于是,在工作中跟着上级或团队边干边学,干完工作后还得充电,没办法呀,因为项目里的代码还没有掌握得太扎实,框架层还有很多设计思路搞不清楚,每天工作、学习十二三个小时是常事。
工作一两年后,由于个人的努力以及业务的锻炼,自我感觉技术水平已经大有不同,希望能拿到更高的工资,但是公司迟迟不给涨薪,即使在北上广深等一线城市,也还拿着8k左右的低工资,标准的月月光,买车、买房、结婚?想起来似乎很遥远。
给自己定个目标,争取月薪10K+,找领导沟通,无果,心委屈了,想跳槽了,因为行业现状就是“跳槽涨工资最快”嘛。看看自己:有一年以上Android开发经验,熟悉Android平台下的GUI设计和实现,能够熟练配置Android开发环境,具备扎实的java基础,熟练掌握B/S、C/S开发,具备基本的算法设计能力、文档编写和语言表达能力,还有实际项目经验……嗯,感觉不错,出去试试吧。
不试不知道,一试吓一跳,现在Android开发行情急转直下。前两三年,即使是应届Android开发的简历挂出去,两小时之内必然有招聘方打来电话,一天之内可以接到三四家公司的面试邀请。现在,Android开发的职位提供不多,平均每个岗都是上百人投简历,竞争异常激烈,竟然两三天过去了,还没有收到面试邀请。
出路
“技术才是安生立命之本”。你在抱怨工作不好找的同时,很多企业也在发愁招不到理想的应聘者。前段时间,我和一位在做HR的朋友聊天时,谈到了Android人员求职的话题。他说他最近正在帮助公司招募Android开发者。据估计,一个月内收到的简历有数百份,但总体标准较低,筛选下来符合要求的不超过5%。最后,他发起了不超过5次的面试,但都没有通过面试。
同时,这位朋友还表示,据他了解,现在很多大公司在招聘Android开发高端人场需求方面,是有非常大的缺口的。特别在Android的一些细分领域,比如物联网、音视频、性能优化、安全等,就算是高薪挂出也很难招到合适的人。虽然现在做Android的人很多,但质量是关键,数量根本没有意义。如果你能提升技术,跻身于“高端市场”,简历一挂出,各种公司抢着要。
说了这么多,一直也只是分享自己对于Android开发现状的一些感触和看法,也有可能会有人会说“你算老几?”,你在这儿BB个鸡毛。我自己的话是2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,19年5月份进了字节跳动一直到现在,也就是说说自己的看法。仁者见仁智者见智,不作争辩。
同时自己在7年的Android开发职业生涯中,被人面试过,也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!
便车
所以到底应该如何学习提供,如何进阶,我整理了一些路线和笔记,仅供参考。
一.进阶学习九大专题
1.高级UI,自定义View
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。
不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
2.NDK开发
音视频,人工智能,这些是未来没办法阻挡的发展大趋势。我们可以在猎聘网上看那些招聘岗位,要求精通NDK的薪资都在30-60K+。追求高薪岗位的小伙伴别错过
3.数据结构与算法:
4.Java内核原理
百分之百,大大小小所有公司,面试必问
5.Flutter
火了一年多了,你工作不一定要用到。但是你出去面试(初级很少要求会),肯定会问到的。
关于Flutter是不是未来,我没法确定告诉你,我能确定的就是你要去面试高薪岗位,你得掌握这种主流的新技术(大厂最看重的除了基础,技术水平外,就是你的学习能力。)
6.性能优化
听说大公司的末位淘汰制专为代码质量差性能低的员工准备的。怎么样写一手高性能的代码?怎样进行性能调优呢?
7.移动架构实战项目
架构师不是天生的,是在项目中磨练起来的,所以,我们学了技术就需要结合项目进行实战训练,那么在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了。
8.kotlin
为什么要学习Kotlin?
- Google发布申明,目前已经有35%的Android专业开发人员使用kotlin(爆发式增长)
- Google与Oracle源于Android的恩怨持续已久,也一直想要找一种语言代替Java
- Java以后要开始收费了,可能导致一部分公司放弃Java
- 当前已经有许多公司的招聘要求中,要求开发人员需要会kotlin
- kotlin的学习成本并不是很高,从Java转kotlin,一般一周时间就足以完成,且kotlin与Java可以相互调用,觉得kotlin解决不了的地方,仍然可以使用Java编写(非常人性化)
二. Android核心知识笔记
总共八大模块学习资料:如NDK模块开发、Android框架体系架构、flutter、kotlin...
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
本知识体系适合于所有Android程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的答案总结。
三. 2020 BAT TMD大厂面试真题解析
腾讯,阿里、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率。
网友评论