这是在某论坛看到的一个网友的疑问,他说感觉现在Android 开发这条路越来越难走了。下面是他的分享:
本来已经做好了好几个月找不到工作的准备。不过这两周感觉面试机会还算可以。两周10个面试感觉刚刚好。
作为有3年Android经验的开发者,我想对于大多数公司的技术面都不会太难。只要把掘金里的相关Android的文章看看并且实践几次,再加上过去写公司项目和开源项目的经验,应该足以满足大部分中小企业的Android开发需要吧。
但让人失望的是,10个公司里面有7个公司都没有通过技术面,只有三家公司到了HR面试轮。薪资范围在10-15K之间,远远低于期望值。
我只拿到了一个Offer。提供Offer的公司是初创公司,加班很多,本来我不是很想去的。但是他们给的福利还不错,用天眼查看了注册资本也是想相当多。再加上没有其他公司给机会,我就去了这家公司。只是没想到这家公司我才工作2天就出现变动。又被被迫离职了,这事太魔幻了吧。
所以他最后提出了疑问,现在中大型企业Android招聘要求越来越高,去小公司又太坑,从事三年开发是否应该考虑转行?
现状分析
其实不管在任何行业,任何岗位,初级技术人才总是供大于求,都是不好找工作的,Android开发只是其中之一,iOS、Java、web前端都是这样。
就算你转行去现在的热门行业,大数据、人工智能、区块链算法等等,技术不过硬还是会问出类似的问题。
对于有Android开发经验的同学,更多应该想想怎么往深探索,而不是一味想着转行,转行相当于倒退回到原点,重新出发,形象点来说,就是换了个不同的砖头接着搬砖而已(高技术含量的除外)。因此我们更应该去追求质变,而不是平行或者倒退,一次倒退可以承受,多次倒退就很难在35岁后进入上升期。
而且这个行业既没有消失也没有没落,只要目前存在的都有它存在的前景。一个行业不是一朝一夕就会垮掉的,Android全球第一的终端占有量,Android生态也不会轻易让Android倒下。至少在我们这代人的有生之年是看不到Android消亡的。
薪资水平
现在各大公司其实都很缺Android高级研发,不断的在招人,就拿很多一线互联网来说,需要花很多的时间去找高级工程师的简历。
今天随意看了下Boss直聘上Android开发的薪资,姑且以一线城市3-5年工作经验来看:
以上根据个人能力会有差别,而且不同公司也有差距,但是我感觉这个范围不会差别太大,所以得出结论大概是经验丰富的Android开发高级工程师依然很吃香。
进阶路线
Android学习之路任重而道远,我们也都在奋斗的路上。下面是最新的学习资料,已经全部上传至开源项目【GitHub】,有需要的朋友自取。
《高级UI》
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。
不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
《Framework精编内核解析》
众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。
所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。
主要内容包含:
- 深入解析Binder
- 深入解析Handler
- Dalvik VM 进程系统
- 深入解析 WMS
- PackagerManagerService
《360°全方面性能调优》
Android应用的性能优化是每个Android开发人员必然会遇到的,也是跳槽面试时基本必问的问题。
下面是总结的一些APP性能优化原则,如果能遵循下面这些优化原则,那么开发出来的APP肯定会更流畅一点、用户体验更好一点、更稳定一点。
内容主要包含一下几点:
1、设计思想与代码质量优化
2、程序性能优化
- 启动速度与执行效率优化
- 布局检测与优化
- 内存优化
- 耗电优化
- 网络传输与数据储存优化
- APK大小优化
3、开发效率优化
- 分布式版本控制系统Git
- 自动化构建系统Gradle
4、项目实战
- 启动速度
- 流畅度
- 抖音在APK包大小资源优化的实践
- 优酷响应式布局技术全解析
- 网络优化
- 手机淘宝双十一性能优化项目揭秘
- 高德APP全链路源码依赖分析
- 彻底干掉OOM的实战经验分享
- 微信Android终端内存优化实践
《Android第三方框架》
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。
当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
本篇内容要点(1042页)
- 热修复设计
- 插件化
- 组件化框架设计
- 图片加载框架
- 网络请求框架
- RXJava 响应式编程框架设计
- IOC 架构设计
- Android架构组件Jetpack
《NDK模块开发》
NDK是原生开发工具包,这套工具允许Android使用C/C++代码,并提供了众多的平台库。
主要内容包含:
- NDK 模块开发
- JNI 模块
- Native 开发工具
- Linux 编程
- 底层图片处理
- 音视频开发
- 机器学习
《Jetpack架构组件从入门到精通》
《Flutter技术进阶》
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的资料对大家有一个方向参考。
所有资料已经全部上传至开源项目【GitHub】,有需要的朋友自取。
作为 IT 行业的过来人,下面我想分享一些个人建议,希望能帮到还在迷茫中的朋友:
1 普通人为了达成某个目标,需要舍弃一些东西,舍得舍得,有舍才有得。
2 职业生涯早期有机会去大公司大平台,还是要去大公司见见世面。很多事情不是一蹴而就的,如果能力不够可以采取曲线救国,只要最终能达到目的就好。
3 技术是根本,没有技术你就没有钱。技术又不是全部,因为你很难搞一辈子技术。
4 眼光和机遇很重要,机遇可遇不可求,但是机遇来了,眼光不够没有做出相对准确的预测,做错了选择,那也是很伤。
5 学历和起点不是问题,其实能力和眼界才是程序员核心竞争力,大厂不一定就是铁饭碗。
6 人都需要学习,并能不断敢于挑战自己,才能离成功几率越大。
技术进阶之路很漫长,一起共勉吧~
转载:https://blog.csdn.net/Android23333/article/details/116132407