自从Android开发“凉凉”以来,“两级分化”越来越巨大。
初级的由于竞争中太多,甚至有工作一年两年后,不给加薪反降薪的骚操作! 关键是还不一定敢拍屁股走人(下一家不好找)
而企业对于Android高级架构师的供不应求,开100W的高薪岗位也不一定能很快招到满意的Android架构师。
Android年薪百万是什么概念?
至少相对于阿里的P7技术专家了!
我们先来看一下招聘网上对于Android高级架构师的招聘要求;
职位描述:
- Android平台功能模块的设计与开发
- 移动端开发框架的研究与设计
- 移动端技术规范的制定与推广
- 移动端技术培训
要求
- 重点高校本科及以上学历,计算机及相关专业毕业
- 精通java语言,熟悉面向对象设计原则。
- 有至少5年的Android开发经验,有app上线的优先考虑
- 具有较强的编程和解决问题的能力,具有较好的数据结构及算法基础功底
- 对移动互联网产品有浓厚的兴趣
其实简单点,就是能够独立开发APP =有APP上线
APP有设计感 = 懂设计模式设计原则
项目经验丰富 = 较强的编程和解决问题的能力
内存和性能优化 = 具有较好的数据结构及算法基础功底
GitHub 开源项目 = 对移动互联网产品有浓厚的兴趣
在我看来
1.Android高级工程师 + 全局眼光 = 架构师
所以架构师必备的一项技能就是要放眼全局,做的设计要能够思虑长远,如何做到?
多看Androd源码,从系统运行的角度思考你写的东西,在Android世界是怎么存在的。
2.认知上要达到WHAT HOW WHY三阶段的WHY的程度
打比方说,我们使用了第三方的库,最开始WHAT阶段是知道它怎么用,可以解决什么问题
然后HOW阶段,我们理解了这个库是怎么运行的,内部的架构是怎么样的,高级工程师多停留在这个阶段。
最后的WHY阶段,为什么这么设计?有没有更好的设计?
当你到了WHY阶段了,你就积累了大量的设计源泉。
3.行动上要多用架构解决实际问题
在Android高级工程师积累的基础上,解决问题的时候多以架构设计来解决,就需要
精通设计模式,不拘泥于设计模式,设计模式是在遵循Java设计原则的前提下,在大量的应用实践中总结出来的,犹如武功招式,
这个阶段要无招胜有招,多重招式叠加制敌。
还包含用架构思路来解耦,组件化,动态加载
想达到阿里P7以上先要搭建知识框架
我们在学技术的时候,如果没有注重搭建知识框架的话,学到后期的话你就会遇到一个问题,就是会感觉到自己之前学习的知识很乱,不成系统,再加上行业技术更新很快,越往后自己学习的知识会越来越多,而之前的学习又是零散的自己没有整理的,你就会感觉自己所掌握的这些知识是散乱的。
就好像很多点,线可能已经连接成了,但是就是组不成一个面。当我们做一个大一点的项目,需要熟练用到很多相关技术面,甚至会用到组件化技术。如果你长期只使用一些常用的技术点,那么你可能还有很长一段时间要待在小公司搬运代码了。
怎么样搭建知识框架呢?
这里分享的搭建知识框架两种方式,都是很多技术大佬总结出来的非常好的方式,看你们个人喜好!
第一种:看视频教程来搭建知识框架
这是个通用的方式,可能更加适合那些技术处于初级到中级阶段的朋友,当然,这里我说一点,我发现在很多看视频学习的朋友经常会犯这样的一个错误,就是对视频教程的欲望很强导致的松鼠病,什么意思呢?就是很多朋友到处找视频教程,然后各种囤积,顶多是这个看看,那个看看,感觉这个也好那个也好,于是这个也想看,那个也想看,导致的最终结果就是,视频教程倒是收集了不少,可是没有一个真正的看完过,你说,你是不是就是这样的?(此段话太过属实!)
其实这就是学习技术的一大禁忌,它会严重的欺骗你,让你觉得自己学的很多,实则不仅学的很少,而且还拖慢了你的提升的进度!我告诉你啊,关于视频教程,找一套差不多的就行,就这市面上流传的一些培训班的视频教程,其实都大差不差,只要不是年久失修的那种都行,要知道这就是培训班的啊,所以用来搭建知识框架很合适,找一套就行了,多了没任何好处,现在听我的,看看你收藏的资料里面是不是有好几套同类型的视频教程,听我的,留一套,其他的都删除吧!
记住,只留一套用来搭建知识框架,只留一套,一套,就一套(如果你没有的话,我可以分享你一套阿里P7级Android高级教程)
【阿里P7级】Android高级架构教程
阿里巴巴的 P7 是非常高的级别,薪资至少在 30K 起(加上年终奖和股票,上百万的P7也很常见),但对P7的要求也是极高,这套视频教程的整体设计便是参照阿里P7的技术能力框架制作。(有 1-5 年的实际工作经验便可以跟着学习。)
【阿里P7级】Android架构高级教程
免费分享;
后台私信我关键词【视频教程】免费获取
然后你就靠这套视频教程来搭建知识框架,那么有了这么一套视频教程之后,又该如何去做呢?
这个你要知道,一般这些视频教程都是按照知识点的从前到后,从浅到深的按阶段讲解的,所以你完全可以按照这个视频教程里讲解的顺序去搭建这个知识框架,在搭建知识框架这块,我看到很多人使用思维导图来搭建,我也试过这种方式,把各个知识点都整理到思维导图上。
最好找到配套的学习教程,效率会特别高。
至此,看视频教程搭建知识框架的方式就是这样的了!
搜索相关知识或路径,自我组织知识框架
这个方式其实要求就比较高了,这要求你要有一定的搜索能力和组织能力,这个方式的核心就是自己去搜索所需要学习的知识点,然后整理组合,然后组织成一个知识框架。
这样说你可能不理解,我举一个例子吧,比如说我们学习Android,如果是按照看视频的方式搭建知识框架,那我们只需要找一套视频教程,然后从前往后看,根据所讲建立相应的文件夹就可以形成我们的知识框架。
但是第二种方式不是这样的,因为没有了视频教程作为参考,我们就需要自己去搜索,比如去搜索“学习Android应该掌握哪些知识点?”,“Android需要学习什么”,“Android的学习路径是什么”,然后你就会得到很多的答案,就会有很多人告诉你先学什么,再学什么等,然后多找几个答案,你就会得出一个学习路线,然后按照这个路线建立相应的文件夹,之后再按照文件夹的顺序去逐个学习,可以找单独的视频教程看,也可以上网搜系列博客来学习,这个就自由的多了。
至此,这就是第二种搭建知识框架的方式了!
然后我必须强调几点:
- 这个搭建知识框架可不是说你整理好要学习的知识顺序,然后建立相应的文件夹就行了,这所包含的知识你是要真的去学的!
- 学习的时候你一定要记笔记,一定要记笔记,这个很重要
- 最终你的知识框架应该是一个完善的层级文件夹,每个文件夹下有相应知识的学习笔记
这样你的知识框架才算真正的搭建完成!至此,你向Android架构师迈出了最关键的一步。
推荐阅读:山西传媒网