从0到1
1、系统性、针对性学习;
2、知识积累:对知识的理解需要靠不断地实践来巩固;
3、复盘:看到问题后的逻辑和思考,灵活运用,举一反三;
4、能力 = 知识 + 逻辑(实践+复盘);
5、知识效率/工程效率;通用知识/业务知识;
第一阶段:大学毕业 3 到 5 年
1、基础的 Java 知识:你会开始看《Java 编程思想》、《Effective Java》;
2、高质量代码进阶知识:你会开始看《重构:改善既有代码的设计》、《代码大全》、《编程珠玑》;
3、常用的主流框架:比如 SSH 相关的《Spring 实战》、《Spring Boot 实战》、《Hibernate 实战 ( 第 2 版 )》、
线上资源: Apache 官网、Spring 官网、Hibernate 官 网、StackOverflow;
4、系统设计与算法知识:《系统分析与设计方法》、《设计模式》、《需求分析与系统 设计》、《面向对象分析与设计》、《UML 用户指南》、《算法导论》;
5、其他知识:比如数据库调优、缓存框架、NoSQL 数据库、日志框架等等;
第二阶段:大学毕业 5 到 10 年
1、能对所负责领域的业务特点、发展趋势、友商竞争分析有很好的洞察?能知道 这个业务领域的客户是谁?他们的需求是什么?他们的痛点是什么?
这 个 TL 应该需要学习《咨询的奥秘》、《探索需求》、《系统化思维导论》
对于技术型的 TL,还应该了解《成为技术领导者:掌握全面解决问题的方法》
2、服务于特定领域的客户,我们需要能了解我们的客户企业架构、业务知识。要 了解清楚规划的产品、服务,什么才是客户所需要的。那么,从理论上,我们 是否应该学习一些 TOGAF、NGOSS、ITIL 等业务理论以及业务知识;
3、作为 TL,是否有必要能将自己对于市场的洞察转换成业务规划,并能向自己的 老板(或者投资人)说清楚、讲明白?
学习《金字塔原理》,并能 非常清晰、有逻辑性地进行表达与沟通;《博弈论》、《影响力》;
4、业务进一步深入分析,需要学习《领域驱动设计 : 软件核心复杂性 应对之道》、《实现领域驱动设计》、《企业应用架构模式》、《恰如其分的软件架构》;
5、技术方案设计、接口设计以及编码实现:《PMBOK 指 南》、《敏捷软件开发》、《人月神话》、《程序开发心理学》;
6、英语与锻炼;
知识(寻找线索、建立联系、分类、追本溯源)
能力(编程能力、架构能力、工程能力)
书籍推荐:
《Effective Software Testing》
《程序员修炼之道 - 从小工到专家》
《设计模式之禅》
《Spoken Language Processing: A Guide to Theory, Algorithm and System Development》
《机器学习导论》
《Reinforcement Learning: An Introduction》《强化学习在阿里的技术演进与业务创新》
《Programming Rust》
《Machine Learning: A Probabilistic Perspective》
《Architecture of a Database System》
《从优秀到卓越》
《为什么精英都是时间控》
《创新者的窘境》
《魔鬼经济学》
《孙子兵法》
《创造自然》
《浮生六记》