尊重原创,如果要转载请与版主联系获得同意后注明出处转载
前言
现在软件行业的发展越来越火,这样就吸引了各行各业的同学纷纷转行到IT行业,尤其是Android开发,或是报培训就业班大概4个月左右就能拿到比较满意的薪水,或是自己自学也能找到不错的工作,但是这部分同学可能是从来没有接触过计算机语言,只是知道学这个就能找到比自己目前工资高的职位。其实这样是非常有隐患的,因为对行业的宽度不甚了解,大概在工作3年左右会有一个迷茫期,工资每年只有一点点的提升,可能开始看本篇文章的同学已经发觉到这一问题,不要相信那些广告上说的工作3年就能拿到非常高的工资,那些东西都是噱头,薪水从来都是与能力成正比而和年龄无关。有个很现实的问题摆在面前,你是拿同样的经验工作3年,还是每年都有丰富的经验扩充3年的经验。所以在迷茫的时候不妨多学点东西来沉淀自己,因为本人是Android技术出身,对其他的计算机行业不好评头论足,只是针对Android开发的同学们提供了一个自认为比较好的职业学习路线供大家参考。
初级工程师
这部分人适合刚刚从培训机构出来或者是自学刚参加工作1年左右的同学:
1.明确Activity的生命周期(横竖屏切换和非正常死亡重建);
2.Activity的启动模式以及每种模式的应用场景;
3.Android中的Context的深刻理解;
4.对四大组件的如何使用;
5.简单的自定义View的实现(比如会随音乐跳动的view);
6.Intent的多种用法(比如开启别的应用像qq);
7.Activity的过场动画和;
8.对进程间通信IPC进行一定的了解;
9.多点触控的事件分发原理机制;
中级工程师
完成以上内容并且熟练使用并且了解为什么使用时基本上已经可以告别初级进入中级Android工程师的行列了,到达中级工程师想要再精进就需要大量的实际代码练习接下来开始划重点:
1.熟练使用AIDL(中级工程师的标志性跨进程通信);
2.Android用户界面的各种适配方案;
3.Android布局优化(根据view树进行分析比如为什么要尽量减少view的多层嵌套);
4.view的事件的分发机制;
5.熟练各种IPC(socket、binder等);
6.熟练使用各种动画,明白属性动画的工作原理;
7.熟练使用多进程并明白使用场景和为什么使用;
8.socket网络编程(重点,即时通讯等重要的程序都要用到);
9.混合编程(NDK、JNI);
高级工程师
到达高级工程师时不论是学习习惯和个人素养都到达了一个比较高的层次了这个时候也是时候做出人生的又一个转折点,是继续做技术呢?还是改作产品!另外如果是本科毕业的同学推荐大家考一个在职研究生,虽然现在在职研究生难考了,但是含金量也更高了,如果有时间还是考一个提升一下,同时还能认识点业内的精英,不管是扩充人脉还是提升见识都是比较好的事情。接下来就是着重说一下技术知识:
1.熟练查阅Android源码;
2.了解Android各组件工作原理和工作流程;
3.熟悉framework层;
4.对Linux和Android的联系有一定的研究;
5.线程池的细节和参数配置;
6.多看别人的源码,熟练使用设计模式;
7.能够开发自己的框架,并且有架构意识;
8.在自己从事的行业中提升纵度(比如做应用层就研究如何省电省流量提升速度等优化,底层就研究硬件和驱动);
总结
从高级工程师再往上就是资深工程师了,个人觉得当到达资深工程师的时候再往上就没有什么固定的学习套路了,可能自己没有摸索出来,非常欢迎各位指点评价。虽然没有什么特别固定的套路,但是有一点可以确定的是不断学习,只有不断学习才能提升自己,不要在自己最好的年纪选择安逸。希望大家都能在自己的事业道路上一方风顺!!!