技术人的小目标:10000小时理论落地,你就是大牛
技术人的小目标
首富王健林在采访时不经意的一句话“先定一个能达到的小目标,比方说我先挣它一个亿”瞬间刷爆了朋友圈,朋友们都在充分发挥调侃和自黑的潜力,各种段子都在说自己要先定一个能达到的小目标,比如说我先挣10 billion的津巴布韦元 :)
抛开首富的小目标对于我们普通老百姓来说过于宏大这点外,其实这句话也是挺有道理的,简单来说就是要循序渐进,不要期望一口吃成一个大胖子。这个道理其实平时大家也都懂,但在这个浮躁的社会,要真正理解并采取行动,并不那么简单,比如说“技术人员如何成为大牛”这个话题。
我在一次活动中现场进行了一次演讲:《吃的草够多,你也能成为大牛》,其中提到了10000小时理论,意思就是在一个专业方向上持续不断的积累10年,就可以成为业界大牛。这个简单的道理现场让很多朋友都觉得醍醐灌顶:原来成为大牛也不是那么难的事情,我也可以成为大牛!
虽然理论上很简单,但真正要落地实行也并不那么容易,实行10000小时理论的关键在于坚持,我认为坚持的关键在于自己对于所从事的事业是否有“激情和兴趣”。这点当然是核心,但如果只靠激情支撑,持续10年也确实有挑战,正如一个朋友在分享会后问我的“要持续10年才能成为大牛啊,时间好长啊”!
如果说做一件事要10年后才能修成正果,估计很多朋友就会放弃了,毕竟像唐僧那么坚定的信仰者总是少数,大部分凡夫俗子都还是需要持续不断的激励才能有动力去做一件事,因为我们的大脑在进化的过程中已经形成了需要持续不断的奖励才能保持兴奋的机制,也就是说相对于在第10年给一个大奖励,还不如每年给一个小奖励。
那如何才能在10年漫长的路上让我们持续的坚持下去呢?答案其实就是首富的话:“先定一个能达到的小目标”!
我们来看如何将“10年成为大牛”这个目标分解为一个个能达到的小目标。我将这个方法归纳为“三段分解法”,即:将一个宏大或者长远的目标经过三次分解,得到一个个短期内能达到的小目标。具体的分解方法如下。
一段分解:瞄准目标
10年成为大牛的目标虽然比较长远比较宏大,但并不意味着在没有成为大牛前,我们一直都是菜鸟。从菜鸟到大牛的过程中,中间其实有几个关键的里程碑,这些里程碑就是我们的一段目标。
以技术人员为例,技术人员典型的发展路径基本上都是下面的这个模式:
1)0 ~ 1年:菜鸟,需要别人手把手来教
2)1 ~ 3年:初级,需要别人带你做
3)3 ~ 5年:高级,能独当一面,可以带初级技术人员了
4)5 ~ 8年:资深,能独挡多面
5)8 ~ 10年:大牛,统筹规划,高屋建瓴
通过上面的分解我们可以看到,虽然说10年才能成为大牛,但是3年就可以达到初级水平,5年就可以达到高级水平,8年就可以达到资深水平,在这个过程中我们一直在成长和提升,而不是说没有成为大牛就是菜鸟;并且对于很多朋友来说,如果目标不是像首富那样要赚就赚1亿,能达到高级或者资深水平,其实已经可以过得比较滋润了。
通过这种分解方法,再核对一下自己目前所处的位置,然后先瞄准下一个目标,全力以赴其实也就2 ~ 3年时间,这样来看一段目标其实是比较容易达成的。
这种目标分解的方法除了适合技术人员外,其它很多领域也都适应,比如说产品人员、运营人员、甚至公务员!
二段分解:掌握技能
经过一段分解后,明确自己目前所处的位置和下一个目标,接下来就要看这个一段目标如何实现了。虽然说每个一段目标持续时间在 2~3年,但3年时间说长不长,说短也不短,如果没有好好利用,可能到了2年多的时候回头一看,好像什么都没达成,还是原地踏步。因此,为了更好的利用这3年时间,我们需要进一步分解,这就是“二段分解”。
一段分解的维度是等级,二段分解的维度则不一样,不能再分等级了,否则等级太细就没法区别了。二段分解的维度变成了“技能”,即:为了达到一段目标,我需要具备什么样的技能。
还是以技术人员为例,假设经过自我评估,认为自己目前处于初级阶段,而且初级阶段的事情已经做得比较顺手和熟练了,那么下一个一段目标自然就是达到“高级”水平。“高级”与“初级”相比,有哪些不同的技能要求呢?
这就需要我们根据各自不同的行业和方向详细列出来了,如果自己想不出来,网上有很多资料都可以搜索到,最方便的就是到一个招聘网站,多看看几个招聘需求的描述,然后归纳总结一下。
我们随便到网上搜索一个,例如拉勾网上滴滴的“高级Java开发工程师”招聘:
多看几个类似的职位招聘,基本上我们就能明白“高级Java开发工程师”的一些基本要求。当然实际上的技能要求比招聘需求的描述还要更加细致,我个人的习惯是将这些要求整理为一个思维导图,详细列出每个技术点。例如:
(注意:以上这个图只是示例,并不是说所有Java高级工程师都一定是这个要求,例如互联网行业和电信行业的要求不一样)
有了这样一个思维导图后,我们就可以开始真正进行二段分解了,分解的方法很简单:哪里不懂补哪里!例如:我感觉目前我的数据库水平一般,仅仅会写CRUD语句,其它的东西都不懂,那我就开始专攻数据库这一部分,经过一段时间的专攻来提升自己的水平。
二段目标持续时间一般建议是6个月,既不能太短也不能太长。太短容易让人陷入为了目标而做的误区,没有真正得到有效提升;时间太长的话,3年时间又不够完成其它目标了,例如要是我定一个目标说2年提升数据库,那操作系统怎么办?网络怎么办?……等等。以6个月为一个周期,基本上刚刚好。
经过分解,最终的二段目标可以分解为如下的几个更小的目标:
1)2016.06 ~ 2017.01:提升数据库水平
2)2017.01 ~ 2017.06:提升Linux水平
3)2017.06 ~ 2017.12:提升网络和网络编程水平
当然,二段分解目标并不是一成不变的,很多时候需要根据我们工作的内容进行调整。例如老大正好安排我来负责优化系统性能,降低机器负载,那么我完全可以将“提升Linux水平”安排到“提升数据库水平”之前。
三段分解:规划执行
二段分解得到技能的小目标后,接下来的关键就是要实现这个目标,这就是三段分解的主要目的,即:将技能目标分解为具体要做的事情,然后按照计划执行。
比如说我的二段目标是“提升Linux水平”,那怎么样才能提升呢?可以上网搜索,也可以去问有经验的朋友。明确要做的事情后,三段分解需要将二段分解的6个月目标更加细化,分为1个月或者两个月一个目标。
以我当时加入UC的情况为例,我在华为的时候是在Windows平台上用VC6进行开发,而到了UC的时候是在Linux平台上用C++开发,我当时定了“提升Linux水平”的目标,然后通过上网查,找别人问等方法,最终将这个目标分解为几个步骤:
1)1个月:通读《UNIX环境高级编程》
2)1个月:通读《Linux系统编程》
3)2个月:通读《UNIX网络编程 卷1》
4)1个月:Linux常用命令实战:tcpdump、ps、top等
通过这种方法,将6个月的目标又进一步分解为1个月的目标,实施起来就简单多了,每1 ~ 2个月专注一个具体目标,每次完成后都很有成就感,既感觉自己的水平有了提升,又佩服自己能够坚持按计划按目标完成任务,双重奖赏让自己更有动力进行下一个目标。我大约花了2年的时间将Linux、网络、MySQL三个重点技能从一无所知提升到高级的水平,很多同事都问我之前在华为是不是就是做这方面的,因为他们觉得短时间能达到这个水平是不太可能的。
你的小目标从现在开始!
综合前面的分析,我们将三段分解提炼一下:一段分解“等级”,二段分解“技能”,三段分解“行动”。通过前面我们的案例就可以看出,原本一个宏大的“10年成为技术大牛”的目标,经过三段分解,最终得到的是1 ~ 2个月可执行的具体行动,通过这种一步一个脚印的行动,最终就可以达成“10年成为技术大牛”的目标。