项目地址:https://github.com/Skykai521/AndroidDeveloperAdvancedManual
2021 年是我做 Android 开发的第 8 年了,随着工作的不断深入,我越来越发现对于多数工程师来说,除了把技术能力搞好之外,更需要学习如何沟通,如何思考以及如何在职场中协调资源。这些能力反而更决定了一个工程师发展的上限。为此我写了这本小册子,这里我把 Android 开发的进阶分为了三个阶段,初级,中级和高级。这只是为了让读者更容易找到开始阅读的章节。在进行阅读之前,你可以先过一下整体的目录,如果你对某个阶段的内容早已了然于心,那么可以跳过这个阶段阅读。如果整本手册都没有感兴趣的话题,当然也就不必再看下去了。
如果你有任何想法或者问题,可以通过提 issue 的方式跟我交流,同时也欢迎关注我的公众号:SkyKai ,期待你的交流!
第一部分、初级工程师进阶
初级工程师的首要任务是提高工作能力,努力向中高级工程师进阶。这个过程艰难且漫长,需要一步一个脚印的往上走,最终才能成为高级工程师。
第一个脚印就是成为能出色完成上级布置的任务,能独立排查问题,态度积极,乐于迎接挑战的工程师。
我给优秀初级工程师的定义为:“又快又好”,其中“快”指需求完成的速度快,问题响应的速度快,问题解决的速度快等等。而“好”指代码编写的质量好,工作态度好,任务完成度好等等。
接下来我将从认知篇,知识篇与职场篇,来聊聊初级工程师如何进阶。
认知篇
- 1.1 遇到问题应该怎么办?
- 1.2 优秀工程师离不开 GitHub
- 1.3 反编译不是高级技巧
- 1.4 学会调试
- 1.5 对自己的代码负责
知识篇
- 2.1 Activity 与 Fragment
- 2.2 Handler 消息机制
- 2.3 理解 View 体系
- 2.4 自定义 View
- 2.5 动画机制
- 2.6 线程与进程
职场篇
- 3.1 职场注意事项
- 3.2 需求开发的完整流程
- 3.3 什么时候跳槽?
- 3.4 要努力进大厂吗?
- 3.5 如何准备面试?
- 3.6 如何选择 Offer ?
第二部分、中级工程师进阶
初级工程师只要又快又好的完成任务就可以,中级工程师阶段不仅要又快又好,还要能独当一面。独当一面是要能独立负责一个项目,或者一个独立业务。并在遇到问题时可以独立解决,成为最熟悉自己负责业务的那个人。
中级工程师开始要注重代码规范,学习更底层的知识,一般还要指导初级工程师。同时要懂得更多职场规则,并做好长远的职业规划。
认知篇
- 4.1 如何引入开源项目
- 4.2 如何快速排查问题
- 4.3 怎样写出漂亮的代码
- 4.4 怎样写好注释
- 4.5 代码出 Bug 该怎么办?
- 4.6 怎样才能少出 Bug ?
- 4.7 业务开发与架构开发
知识篇
- 5.1 进程间通信
- 5.2 热修复技术
- 5.3 常用设计模式
- 5.4 常用架构模式
- 5.5 如何优化应用启动性能
- 5.6 经典开源项目解析
职场篇
- 6.1 职场沟通技巧
- 6.2 做好一个需求的要点
- 6.3 做好长期规划
- 6.4 要不要拒绝 996 ?
第三部分、高级工程师进阶
高级工程师阶段,无论是编程能力还是业务能力,你都具有了一些不可替代性。你通常负责新技术的预研,重要需求推进以及新项目的技术选型。高级工程师会让老板和同事觉得:非你不可。你更多的时间是在解决别人解决不了的事情,尝试业界还未尝试过的方案以及帮助其他工程师成长。
到了这个阶段编程语言已经不重要了,一切选择都为了业务更好的发展。同时也要考虑更多代码之外的事情了。
认知篇
- 7.1 高级工程师的特点
- 7.2 参与开源项目
- 7.3 如何判断技术发展趋势
知识篇
- 8.1 了解跨平台开发
- 8.2 Flutter 是跨平台的未来吗?
- 8.3 最优跨平台方案是什么?
- 8.4 大型项目架构解析
- 8.5 构建移动开发平台
职场篇
- 9.1 如何成为项目核心
- 9.2 工资要存起来,理财还是买房?
- 9.3 如何面对35岁问题
项目地址:https://github.com/Skykai521/AndroidDeveloperAdvancedManual