18 | 三段分解法:怎么利用10000小时成为大牛?

你好,我是华仔。

10000 小时定律虽然理论上很简单,但真正要落地实行也并不那么容易。上一讲我介绍了怎么通过海绵学习法来获取你的 10000 个小时,但是就算有了时间,你也很难十年如一日地坚持学习。

能否坚持,当然要看你对自己的事业是否有“激情”。但如果只靠激情来支撑,持续 10 年依然是一个很大的挑战。因为我们的大脑在进化的过程中,已经形成了需要不断的正反馈才能保持兴奋的机制,也就是说,与其在第 10 年给一个大奖励,还不如每个月都给一个小奖励。所以除了激情,你还需要“先定一个能达到的小目标”。

那么,具体要怎么制定小目标呢?这一讲,我就为你介绍一个三段分解法,带你把“10 年成为大牛”这个大目标,分解成一个个可以在短期内达成的小目标。

第一段:分解“等级”

第一段分解,是在当前状态和最终的目标状态之间,分解出中间的等级。

10 年成为大牛这个目标虽然比较长远比较宏大,但并不意味着在成为大牛之前,我们一直停留在菜鸟阶段原地踏步。在菜鸟和大牛之间,其实有几个关键的里程碑,这些里程碑就是中间的等级。

大部分的专业领域都有比较正式的等级划分标准,例如钢琴专业从 1 级到 10 级,跆拳道从白带到黑带。对于互联网的领域来说,虽然没有通用的专业等级标准,但不同的公司都会有类似的职级体系,你可以直接以公司的职级体系来划分中间等级。

以跨越式职级为例,从 P5 到 P9,你经历的等级包括以下这些:

P5,职场新手,工作 1~3 年,需要别人带你完成任务。

P6,项目能手,工作 3~5 年,能够独立完成任务。

P7,团队专家,工作 4~8 年,能够带领小团队实现目标。

P8,领域专家,工作 8 年以上,能够带领多个团队实现目标。

P9,业务导演,工作 10 年以上,能够导演成熟落地的作品。

我们可以看到,虽然说至少 10 年才可能成为 P9 这个级别的大牛,但是你 3 年就可以达到 P6,5 年就可能达到 P7,8 年就可能达到 P8,在这个过程中,你一直在成长和提升,早就不是当初的菜鸟了。如果对你来说,不是非得赚它一个亿才算小目标,那么你已经可以活得比较滋润了。

分解出中间的各个等级之后,我们核对一下自己目前所处的位置,然后瞄准下一个最近的等级,继续第二段的分解。

第二段:分解“技能”

虽然朝下一个等级努力的时间是 2~3 年,跟 10 年比起来已经缩短了不少,但是这个时间还是比较长的。为了更好地利用这 2~3 年时间,我们需要进一步分解。

第二段分解的目标就不是等级了,而是技能,也就是为了达到下一个等级的要求,你需要针对哪些技能做专项提升。

如果你所在的公司已经有成熟的职级体系,你可以参考第 5 讲的 COMD 能力模型,整理出当前级别和下一级别的能力要求矩阵,这样就可以一目了然地看出具体的能力差距项有哪些了。

如果你所在的公司目前没有成熟的职级体系,或者你准备跳槽到某个心仪的公司,你也可以采取一个取巧的方式来明确能力项差别,这就是直接查看公司的招聘要求。

以阿里巴巴招聘网站上的“Java 开发专家”这个职位为例,招聘要求如下:

引自阿里巴巴集团招聘网站

可以看到,“Java 开发专家”(对标阿里 P7)要求的技能包括 Java、Spring、SOA、MySQL、Hibernate 和 Linux/Unix 等。多查看一些类似的职位描述(不同公司、不同业务线),你就能获得“Java 开发专家”的大概要求的技能范围。

但实际上,真实的技能要求会比职位描述更加细致,比如“熟练掌握 Java 编程技术”到底意味着什么,职位描述是不会写得特别清楚。我个人的习惯是将这些要求整理为一个思维导图,详细列出每个技术点。

注意,这张图只是一个示例,并不是说所有 Java 开发专家都一定是这个要求,比如互联网行业和电信行业的要求就不一样,你需要根据自己的行业和技术方向整理出适合自己的思维导图。

有了这样一个思维导图后,我们就可以开始真正进行第二段分解了。分解的方法很简单,哪里不懂补哪里!比如你感觉自己现在的数据库水平很一般,只会写 CRUD 语句,其他的东西都不懂,那么你就专攻数据库这一部分,通过一段时间的专项提升来拿下这个技能。

专项提升某个技能的持续时间既不能太短,也不能太长,一般建议在 6 个月左右。

时间太短,容易陷入为了“完成任务”而去学的误区,没有真正得到有效提升。例如我曾指导一个下属学习 MySQL,结果他就看了几个 PPT 就说自己学完了,其实还远远没有熟练掌握 MySQL 相关技能。

时间太长的话,其他技能就来不及提升了,要是你 2 年时间都用来提升数据库,那操作系统怎么办?网络怎么办?所以 6 个月为一个周期,基本上刚刚好。

举个例子,如果你目前岗位是 Java 后端开发,级别是 P5,如果晋升到 P6 需要掌握数据库、Linux 操作系统、网络编程的技术,最终的二段目标分解如下:

2021.01~2021.06:提升数据库水平

2021.01~2021.06:提升 Linux 水平

2021.06~2021.12:提升网络和网络编程水平

当然,二段目标的提升顺序并不是一成不变的,很多时候你还需要根据工作内容进行调整。比如主管最近正好安排你来负责优化系统性能,降低机器负载,那么你完全可以把“提升 Linux 水平”挪到“提升数据库水平”之前。

第三段:分解“行动”

第二段分解之后,我们得到了 6 个月左右的技能提升目标,接下来要做的,就是通过第三段分解,将技能提升目标分解为具体要做的事情,然后按照计划执行。

比如说你的二段目标是“提升 Linux 水平”。那么,怎样才能提升呢?你可以上网搜索(知乎是个好地方),也可以去问有经验的朋友,把二段目标细化为 1~2 个月的三段目标。

以我刚加入 UC 的情况为例,之前我在华为的时候,是在 Windows 平台上用 VC6 进行开发,而到了 UC 之后,是在 Linux 平台上用 C++ 开发。所以我当时就确定了“提升 Linux 水平”这个目标,然后通过上网查、找别人问等方法,最终将这个目标分解为 4 个行动:

1.5 个月:通读《UNIX 环境高级编程》

1.5 个月:通读《Linux 系统编程》

2 个月:通读《UNIX 网络编程 卷 1》

1 个月:Linux 常用命令实战,包括 tcpdump、ps 和 top 等

把 6 个月的技能提升目标进一步分解成 1~2 个月的具体行动目标之后,实施起来就简单多了。我每 1~2 个月只需要专注做好一件事,每次完成后都很有成就感,既感觉自己的水平有了提升,又佩服自己能够坚持按计划完成任务。这样的双重激励让我更有动力去完成下一个目标。

当然,在具体落地的时候,你还需要进一步分解到周,比如下周看完某本书的哪几个章节。但是在做计划的时候,我建议你先分解到月就可以了,因为一开始就直接分解到周还是比较耗费时间的,而且如果出现计划之外的事情,调整计划本身花费的时间和精力成本也比较高。

最后,我大约花了 2 年的时间将 Linux、网络和 MySQL 三个重点技能从一无所知提升到高级的水平。很多同事都问我,之前在华为是不是就是做这方面的,因为他们觉得短时间能达到这个水平是不太可能的。

小结

这一讲我跟你分享了三段分解法。虽然我举的例子都是技术领域的,但是这个方法在其他很多领域也都适用,比如说产品和运营等。

通过这个方法,你可以把宏大的目标逐步分解成可以落地的日常行动,一边“仰望星空”,朝着最终的方向前进,一边“脚踏实地”,一步一个脚印地去实现它。

现在,我们再回顾一下三段分解法的要点:

第一段是分解等级,参考专业领域的等级划分标准或公司的职级体系,在当前状态和大牛之间划分出 3~5 个中间等级,把 10 年的宏大目标分解成 2~3 年的一段目标。

第二段是分解技能,参考 COMD 能力模型和招聘网站的职位描述,整理下一个等级的技能需求,列出自己需要重点提升的 3~5 个技能点,把 2~3 年的一段目标分解成 6 个月左右的二段目标。

第三段是分解行动,参考同行在网上发布的经验和朋友的建议,确定提升单项技能的 3~5 个具体行动,把 6 个月左右的二段目标分解成 1~2 个月的三段目标。

虽然最终执行计划的时候要落实到周,但是制定计划的时候分解到月就行了,这样做的好处是,计划调整起来更加方便灵活。

思考题

这就是今天的全部内容,留一道课后思考题给你吧。以后端 Java 开发为例,P5/P6/P7/P8 都有“Java 编程技术”的相关要求,那我们为什么不在 P5 的时候就安排时间全部学完,彻底掌握这项技术呢?

欢迎你把答案写到留言区,和我一起讨论。相信经过深度思考的回答,也会让你对知识的理解更加深刻。