_不止代码_节选

第一阶段:大学毕业 3 到 5 年

  • 对于从事 Java 软件开发的技术同学,在毕业后的 3 到 5 年内主要都是以学习、
    积累为主。这个阶段的工作几乎每天都有惊喜,都有收获。从一开始啥都不懂的校园
    “新鲜人”向“职业人”转变。在这个阶段,你会学习:
    • 基础的 Java 知识:你会开始看《Java 编程思想》、《Effective Java》。
    • 高质量代码进阶知识:你会开始看《重构:改善既有代码的设计》、《代码大
      全》、《编程珠玑》。
    • 常用的主流框架:比如 SSH 相关的《Spring 实战》、《Spring Boot 实战》、
      《Hibernate 实战 ( 第 2 版 )》。当然,这些书已经不够了,你会通过 Google、
      Baidu 大量地浏览在线的资源:Apache 官网、Spring 官网、Hibernate 官
      网。你会去 StackOverflow 问问题或找答案。
    • 系统设计与算法知识:《系统分析与设计方法》、《设计模式》、《需求分析与系统
      设计》、《面向对象分析与设计》、《UML 用户指南》、《算法导论》
    • 其他知识:比如数据库调优、缓存框架、NoSQL 数据库、日志框架等等
      在这 5 年间,快速地完成这些基础知识的学习,并能在项目中快速地学以致用。
      不仅自身能获得比较高的成就感,而且实际的用人的单位、猎头也会非常喜欢这类熟
      练工。

第二阶段:大学毕业 5 到 10 年

很多本科同学,特别是研究生同学。在毕业 10 年后,就已经到了 34、35 岁左
右了。也是前段时间网上广泛讨论的所谓 34+ 岁现象。 其实,年龄并不是问题的真
正原因。真正的原因还是在于自身“竞争力”是否符合这个年龄所应该具备的。
到了这个年龄的人,往往已经不是“个人贡献者”了,而是“团队贡献者”。团
队贡献者可能是带团队的 TL,也可能是个架构师,在技术决策上具有团队影响力和
话语权。
那么,为什么这些人能管理团队或者有影响力呢?
从公司的经营视角看,一个管理团队的人,他必须为业务的成功负责。说个大白
话,一个 TL 管了 N 个人,他至少要能保证大家输出所产生的价值,至少要高于这个
团队的工资、奖金、五险一金、OPEX、CAPEX 等等吧。这个 TL 为了大家输出得有价值,他是不是需要能:
● 能对所负责领域的业务特点、发展趋势、友商竞争分析有很好的洞察?能知道
这个业务领域的客户是谁?他们的需求是什么?他们的痛点是什么?所以,这
个 TL 应该需要学习《咨询的奥秘》、《探索需求》、《系统化思维导论》。对于技
术型的 TL,还应该了解《成为技术领导者:掌握全面解决问题的方法》。
● 服务于特定领域的客户,我们需要能了解我们的客户企业架构、业务知识。要
了解清楚规划的产品、服务,什么才是客户所需要的。那么,从理论上,我们
是否应该学习一些 TOGAF、NGOSS、ITIL 等业务理论以及业务知识?
● 作为 TL, 是否有必要能将自己对于市场的洞察转换成业务规划,并能向自己的
老板(或者投资人)说清楚、讲明白?并争取到老板的同意,包括资金、人力
资源等。对于,能否把事情讲明白,我们可能需要学习《金字塔原理》,并能
非常清晰、有逻辑性地进行表达与沟通。当然,有些业务发展的事不一定特别
有逻辑,是需要摸索、尝试,那么你是否能将一个不确定的领域说服老板并获
得支持,我们又需要什么?《博弈论》、《影响力》等。
● 获得老板支持后,就需要开始带着兄弟们干活了。作为带头人,你看我们是否
需要能将业务趋势、客户痛点进行业务建模好让团队的 PD、技术都能理解?
在做业务进一步深入分析,可能就需要学习《领域驱动设计 : 软件核心复杂性
应对之道》、《实现领域驱动设计》、《企业应用架构模式》、《恰如其分的软件架
构》等等。
● 做完业务设计后,开始要带着团队做技术方案设计、接口设计以及编码实现
等。这个过程,TL 又需要具备软件项目管理的能力。无论是《PMBOK 指
南》,还是《敏捷软件开发》、《人月神话》、《程序开发心理学》,相信总归还是
会有点帮助的。
● 对于一些有国际化要求的公司,还需要再学习英语吧!
● 嗯,还需要有个好的身体,还需要经常锻炼,学习科学的健身吧(说起来自己
脸红)。至少我明白了一个道理,以前我都是跟自己说,等这段时间过了,闲
下来去锻炼一下。其实,我发现,越是忙的时候,越需要锻炼身体!20 > 阿里技术人生
● 另外,在这 10 年内,比较关键的是——你还经历过什么有挑战的业务、技术、
产品、平台等方面的成功与失败经验?在这些经历里,你可能会遇到这些困难
与挑战:团队磨合的挑战、技术方案上的争执、平台优先 or 业务优先的博弈、
低落的团队氛围、个人的低谷等等。这些困难与挑战,你是退缩了?还是有成
长?在带团队时,再次面临这些挑战时,这时你是否有解或者有勇气了?
发现没有?毕业 10 年后,作为一个团队贡献者,你可能需要具备这些能力,并
且还远远不止。而且,更可悲的时,当毕业 10 年后,突然发现自己不具备这个能力
时(比如晋升失败时发现了),这些能力 GAP 就不再是 2 到 3 年就能追得上的了。我
见过一些有准备的同学,他们给自己的目标是在毕业第 7 年就要具备这些能力,他有
严格的学习计划、实践计划、甚至是冒险的创业经历。当他到第 10 年这个点时,这
些高阶技能很可能已经有 3 年的实践经验了。
如果我们没有做好准备,10 年后,如何和这批人竞争?这些软、硬知识,从十
年这个时间刻度倒排,学习计划、实践计划的执行还是很紧张的。所以,从现在开始
给自己制定一个严格的学习计划、严格执行,多实践吧!

猜你喜欢

转载自blog.csdn.net/lr19941226/article/details/80922518