最后
在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
三、我见到的年入50万的众生相
1 小A,某外企部门经理,管理50多号人。
每天早上大约9点半到公司,每天估计开会(电话会议和现场会议)时间有6个小时,和领导和客户沟通时间估计2个小时,剩下的就是写ppt,邮件和跟进度了。一般来说,周末如果能有一天闲下来就不错了。
**2 小B,**某大厂架构师,技术牛人,分布式架构5年+经验,对于分布式系统里的反向代理,mq,数据库集群等组件有资深的实践经验。
每天平均开会时间+解决问题的时间,估计有6个小时,一般是下班后才有时间干自己的活,平时不怎么写代码,而是出方案,具体来说就是根据业务系统的现状设计组件,开发组件时遇到问题,得及时解决。而且需要手机一直开机,有问题得及时解决。
需要说明的是小B是资深架构,还没做到技术总监级别,如果能做到负责某个产品的首席架构或技术总监,年入估计要70万+了。
3 小C,有自己的公司,平时帮人出解决方案,卖自己公司的产品,顺带做监理,培训等等,反正什么活都干,平时经常在飞机上,不定时需要和别人去谈项目。而且,从谈客户到实施到问题解决到后继维护,大多都是自己解决。
4 小D,做培训的,培训内容涵盖PMP,数据库,AI等,做大班培训和企业培训,在行业内也比较有名气了,也是有自己的公司,而且做得时间比较长,有稳定的客户源,算下来,一年有100万+了。但每天也有见不完的客户和干不完的事。
5 小E,某创业公司(规模一般)的技术总监,年入55万+,老板的要求是,得解决任何技术问题,从带人开发到测试到上线部署到性能优化,全都得管,大到租服务器上线项目,中有选用分布式组件开发项目,小到代码review测试,没有不涉及到的。而且成天得提心吊胆,因为创业难。
归纳一个字,年入50万,忙。
但相比那些混吃等死无所事事的,这些人能用忙来换钱,也算是有本事了,至少本人愿意往这方面努力。
四、归纳下年入50万的技术和软实力方面的要求
先归纳下技术方面的要求。
**1 至少得有架构师的能力,而且得能在项目里搭建各种组件,**这些包括但不局限于:反向代理集群,消息中间件集群,微服务集群组件,缓存实现方式,日志管理组件,数据库集群,数据库分库分表集群等。
2 项目里的架构组件遇到问题时,能通过debug查看源代码的方式解决实际问题。
**3 能编写linux发布脚本,能在linux搭建基于Spring boot或tomcat等的项目,**同样,一旦项目运行出现问题,能通过查看日志快速定位和分析问题。
**4 得至少是一个领域的专家,**比如在数据库方面,知道oracle调优,或知道如何搭建集群,总之精通数据库方面的部署调优排查问题等方面的问题。这样能做到在团队里,这个领域方面,你是无可替代的。事实上,真正大牛不会仅局限于一个方面,往往同时是多个领域的专家。
5 在当前某个热门领域(AI大数据或区块链)有解决实际问题的能力,而不是仅仅能搭建一个脚手架项目。
总之,技术上得综合全面,而且精通一个或多个领域,而且最好能紧跟热点。但一些高收入人群的能力还不仅限于此,下面说下我看到的这些大牛在在非技术领域方面的技能。
**1 能带团队,**能把自己设计的方案平稳地让手下的人实现,其中就包含了团队协作,沟通,进度把控,风险把控等能力。
**2 能和其它团队的人沟通甚至扯皮的能力,**毕竟最终出一个方案,得兼顾多方利益,有时候技术得向进度成本等因素妥协。
**3 不断学习的能力,**包括能认识到哪些该学以及该怎么学,这说起来非常简单,但根据本人的实践,难。
**4 能和各种各样的人打交道的能力。**这往往是从事软件开发的程序员比较欠缺的能力。
5 更为重要的是,能意识到当前的热点,同时知道自己该往哪个方向发展,同时或者通过学习,或者通过和别人协作,不断让自己进步。
比如我就见到一个人,他看到区块链当时比较火,所以一方面就挖矿,另一方面就学这块,目前就从事这方面的开发,收入比之前就高了不少。
五、如何高效地达到年入50万水准
我目前看到的是,在上海,一些能力比较强的人(大约10%),在具有5年工作经验后,就达到了这个水准,在具有8年经验的人群里,大约三成到一半人能达到这个水平。所以大家的目标应当是,8年内把自己的收入提升到这个水平。下面我提些可执行的措施。
**1 给自己制定一个目标,**比如我当前是高级开发,但两年后,我得具备架构实践方面的能力,能胜任架构师的角色。这还不算,然后得给自己列个学习和实践的清单,比如该学哪些,该操练哪些。
人无远虑必有近忧,目标虽然可以是虚无缥缈的,但没目标,一定是一事无成。
**2 不仅得了解架构组件的实现和配置方式,还得了解该组件的部署和配置方式,而且出了问题还得知道如何调试和排查问题。**就拿kafka组件举例,不能仅仅了解怎么用,而且还能编写部署集群的脚本,一旦出了问题,还得知道通过日志甚至debug底层代码排查问题。
**3 在第2点的要求,尽可能多地掌握高并发场景下的技术点,**比如数据库分库分表,消息缓存等。
**4 目前不少系统是部署在Linux上的,所以Linux技能也是必备项,不仅会通过linux命令部署应用,而且还得编写部署脚本,最好还能在Linux配置各类集群。 **
如上是技术方面的需求,其实说起来非常简单,要达到上述要求不容易。下面列些实践中的经验。
**1 积累上述技能时,得靠踩坑来积累经验,**尤其是高级开发往架构方面升的阶段。这时可能会发现自己欠的债太多,或者工作压力本身就大,出了问题又很难排查,往往这个时候就得靠咬牙坚持了。(本人目前就处于这个阶段)
**2 最好进一个大厂,**比如BAT或互联网企业,不是说外企等其它公司就无法提升自己了,但毕竟互联网公司提升自己的效率更高。如果发现在当前公司虽然舒适,但无法给自己更好的发展前景时,那可能就得为自己多加考虑了。
这里也说个笑话,一个人的提升速度和1 踩坑率(踩坑数量除以天数)2 平均加班时间 3 身边牛人的数量 这三点成正比,哪些公司能同时满足上述三点呢?
**3 不断总结积累,**至少把在工作中用到的技能点吃透,比如最近我在用线程,那么就得把诸如volatile等的细节搞明白。又如,最近我会在linux部署和排查项目,那么就得不断掌握linux各种相关的命令。
**4 先做学徒再做师傅,**刚开始总是不可能有实践机会,总是会跟在架构师后面打零工,这时就得多琢磨架构师是如何分析和解决问题的。
比如我最近在跟着一些大牛在做数据库分库分表,当程序调通后,我没有就事论事,而是再进一步去了解相关组件的底层细节以及集群配置方式,所以最近我感觉在架构层面,进步不少。
5 同时锻炼自己分享,和别人沟通,执行力和时间管理等方面的领导方面的能力。
**6 平时不能光埋头干,得定时到外面找些活,**比如写书做软件做培训等等,这样挣钱是一方面,另外能见识到更多的人,这样自己视角就更广泛了。 当自己人脉广了以后,小到找活,大到换工作,都有帮助。
六、总结,求帮助,求推荐
虽然本文的主旨是介绍如何年入50万,但通篇是介绍积极正当的手段,所以也不上拜金。况且只有始终保持积极向上的进取心,才能不断提升自己。
本文从构思到完成,前有有3个多小时,自认为列出的各点,也都是本人所见和所思,所以希望对大家有所帮助,如果确实如此,本人不胜荣幸,也请大家多多推荐。
###最后
不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。
如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。
在我学习的过程中,最开始是在网上找了很多资料,毕竟这些资料是我们开始最快速的学习方法,这里我放上我这些年在网上收集到的资料,然后再以我的工作经验给大家总结一下,让你们少走些弯路,提取一些目前互联网公司最主流的Android开发架构技术,希望能帮助到大家!
Java语言进阶与Android相关技术核
Android应用是由Java语言进行开发的,SDK也是由Java语言编写,对于Android来说,只要SDK没有用Kotlin重写,那么Java语言是都需要学习的。而且Android APK的后台服务器程序大概率是Java语言构建,所以掌握Java也是一种必然,这就是为什么BAT面试为什么死抠你的Java水平。
尾声
最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。
进阶学习视频
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
https://bbs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!