从自身规划的角度来谈谈程序员在技术上的成长路线
从自身规划的角度讲,技术上的学习分如下几个阶段:
1、做好业务需求的功能; 这个是初级程序员就应该有的能力,俗称面向百度编程
2、解决极端情况下的技术问题; 比如 性能优化,OOM 等,稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的App在 部分机型上崩溃、页面加载不出来等; 只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了
在忽略这些问题的过程中,也放弃了进一步提升的可能性; 还有一部分程序员是看到了这些问题,但一直不知道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不足。
3、在开发框架和效率上做文章: 举个例子,很多程序员说自己的精力都在和产品的撕逼中浪费了,但有没有想过,能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来?
比如是否能够做到只编写一次代码,或者改个配置参数就能够做到在不同平台上运行;更高的要求是,能否将这些方案做成通用框架或产品
Android 学习路上的一些心得
1-3 年
前 3 年,我觉得是我们成长最快的时候
尤其是刚开始工作的一年,刚开始接触项目,我们会接触到很多新知识,比较网络框架的封装,Android 架构 MVVN,MVC,MVP 等
这段时期是我们进步最快的时候,因为很多东西我们都不会,我们会逼着自己去学习
第二到第三年,也是我们成长的关键时期;这时候,在项目中,我们基本会自己独立负责需求;这时候的我们,大多数基本功能都可以自己独立实现;需要注意的是代码风格和代码思维的培养
代码风格: 指的是编码习惯;比如方法命名,方法的合理拆分,适当添加注解,注释;听起来可能会很虚,但是千万别小看这些细节;反正我在组里见过一些工作五六年的,代码一坨一坨的,像 si 一样。
代码思维: 有点类似于人的视野和思考方式吧;很多时候,实现某个效果,有很多种方案;我们为了应付需求,可能会随便选择一种,没有去了解其他方案。而这恰恰错过了我们成长的最佳时期
记住,永远别给自己设限,或许在编程的路上会遇到很多问题,但是总会有解决方法的,而这取决你的态度
3-5 年
这个时期,不出意外,我们基本都是高级工程师了;这时候大多数人会遇到瓶颈,不知道学些什么好;好像什么都会,但是不够深入; 我也遇到这样的情况,现在正在深挖
这方面我暂时也给不了太多意见,只能说,选择一个方向,静下心来,去学习,相信能收获到我们想要的
学习方向有很多,比如 Android 性能优化(启动,卡顿, Crash 治理), JNI C++,gradle 打包,编译速度,音视频等等,这些都是大的方向
在我学习的过程中,最开始是在网上找了很多资料,毕竟这些资料是我们开始最快速的学习方法,这里我放上我这些年在网上收集到的学习文档,然后再以我的工作经验给大家总结一下,让你们少走些弯路,提取一些目前互联网公司最主流的Android开发架构技术,希望能帮助到大家
如果需要这份《Android中高级进阶的知识点大纲》+面试文档+技能图谱
可以直接点击 “此处” 即可 免费获取
Android中高级进阶的知识点大纲图:
Framework学习大纲:
Framework资料目录
面试试题:
获取方式: 点击 “此处” 即可 免费获取
学如逆水行舟,不进则退。 程序员,是一个不断自我学习,自我进步的过程,需要一直坚持学习,学习新知识,方能不被技术所淘汰
不忘初心,坚持到底
技术是我们的根本,这个一定不能放弃,即使已经做到了管理层,也请尽可能多的接触代码
Android 架构师之路还很漫长,与君共勉
PS:有问题欢迎指正,可以在评论区留下你的建议和感受;
欢迎大家点赞评论,觉得内容可以的话,可以转发分享一下