入门初级阶段:
掌握Java基本知识(或任何其他面向对象语言),需要掌握Android SDK软件开发工具包,多看Android相关的文档,IDE (例如Eclipse),这些是必不可少的。顺便学习一下JavaScript脚本基础。掌握这些基本上已经可以算是入门了。
晋升中级阶段:
想晋升为到高级Android工程师至系统架构师的职位,很重要的一点就是学习研究源代码,直接查阅Android的源代码(这是看李宁老师的书得到的启发),源代码很容易从网上获得。同时,Android很大程度上是基于Linux内核的,所以学习 Linux的相应API以及各种操作也是十分必要的。还有,常用混合移动开发框架(例如:AppCan)。编译原理,高并发网站架构设计等技能。
高级发展阶段:
再往上想发展到项目经理,还需要掌握Android 软件安全分析技术、软件开发常用测试、界面交互式系统设计,同时要补充些项目管理方面的知识,比如:软件项目风险管理常用团队协作开发工具需求分析设计设计模式。
要做到公司首席技术官的位子,更多的是从架构考虑,包括:数据库系统优化、Windows Server服务器架设管理、网络安全技术与解决方案(Cisco)、海量数据库解决方案、大型服务器负载均衡优化技术等等。这是个需要绝对实力的职位。也是我的终极目标。
将自己提升为“T型人才”
作为身处开发类岗位的大家或者还在纠结方向的大家,我觉得还是找准方向,深耕。技术有一点深度了,然后工作经验也有了,那么我相信距离稳定的高薪也就不远了。
因为就目前形势来说,对于企业,初级开发都比较好招,但是中级或以上的就比较难了,有很多公司在这上面花了很多时间,找简历,猎头,主动联系等等,最终也是无功而返。
这其实也就变相说明了,行业内中高端人才的稀缺。想要高薪,必先埋头钻研,自身达到一定高度,薪酬自然跟着上去。
换个角度,当你技术有一定深度的时候,对于一些其他技术,或多或少都会有所涉及的。这个时候技术的广度也有了,大家还会觉得薪资会低吗?
在深耕技术前,首先要给自己制定一个成长曲线图,按照路线来合理的学习。不要东拼西凑的去学,那就是在浪费自己的时间,而且很容易忘去。下面是我自己针对Android岗位招聘中的技术需求而制定,里面基本记录的都是Android工程师必备技能和现主流技术的学习路线。
希望以下的学习路线能对你有帮助
内部调优
-
高效文件IO与网络IO
-
微信全面调优
-
内存与网络
-
贴近实战之问题优化
-
编程优化
高级音视频
-
C/C++基础
-
交叉编译
-
NDK进阶面试
-
增量更新与Gif渲染
-
H264视频编码
-
MediaCodec
-
视频编辑之剪影实战
-
FFmpeg万能播放器
-
直播推流
-
图形渲染与识别
-
Webrtc音视频
架构师必备
-
架构筑基技能
-
手淘组架构设计
-
开源架构手写实现
-
一线大厂架构核心进阶
Kotlin技术
项目开发必备底层知识
-
Android虚拟机内存原理
-
Android10.0虚拟机源码分析
-
高级并发原理
-
线程实战
-
编译时高阶技术
-
JDK高级动态代理
-
高级数据结构与算法
Android Q FrameWork源码与UI新技术
-
自定义控件进阶
-
UI绘制与新技术
-
AndroidR新技术
-
Android Q下的FrameWork源码(SDK 29)
-
深入虚拟机源码
-
微信核心技术掌握
Gradle
-
Groovy语言学习
-
Gradle Android插件配置
-
Apk优化之图片压缩(编译器自动将图片转换webp)
-
Gradle自动化加密
-
手写Gradle实现自动化打包
小程序
adle Android插件配置
-
Apk优化之图片压缩(编译器自动将图片转换webp)
-
Gradle自动化加密
-
手写Gradle实现自动化打包