一万小时定律对程序员是否适用?

一万小时定律是作家格拉德威尔在《异类》一书中提出的定律,指我们平常所看到的天才之所以卓越非凡,并不是他们在智力上比我们高出一个等级或者几个等级,而是他们持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件,格拉德威尔将此称为“一万小时定律”。

那么一万小时定律是否对程序员也同样适用呢?答案是肯定的,不过要讲究方法。

方法,也就是学习的方法,这也是很多编程初学者所面临的最大的问题,也是他们所问的最多的问题。

我想要成为Android工程师,请问我应该如何学习,学习哪些内容等等,归根到底都是不知道具体的学习方法,面对所要学习的知识一脸茫然,完全不知所措。

如果此时,一个世界级的编程大师跟这位同学说,你应该先学习A,再学习B,然后再学习C,学习A的过程中,可以专注学习1、2、3等等知识点,那么经过一万小时的锤炼,这位同学就有可能成为世界级的编程大师(注意这里只是有可能,为什么不是肯定,原因后面讲)。

可惜的是现实生活中,我们很少有机会能够接触到世界级的编程大师,并且能够得到他们的指导。于是,我们开始向比我们有经验的人请教、寻找各种学习资料、购买各种网络课程等等。

这些方法多多少少都会有些作用,但多多少少都存在一些问题。比如我们不太可能只向一两个有经验的人请教,但这些人说的方法都不同,选择哪种方法学习让我们犯了难;再比如我们从网络上收集到的资料或者购买的课程,基本上都不够系统,学习的过程中总感觉有种错乱的感觉,进而导致放弃。

但是,即使这些方法存在这样那样的问题,依然是我们目前所能选择的最好的解决方案了。通过这样的方案,我们可能需要花十五年甚至二十年的时间来达到编程大师的水平,而有编程大师指导的学生可能只需要十年的时间就达到了编程大师的水平,这是非常可怕的一个数字。

因此,为了加快成为编程大师的速度,我们需要持续不断地学习,持续不断地遇到比我们更强的人,并向他们学习。如果在一个环境中没有比你更厉害的人,那么要立马跳出来,去寻找那个有比你更强的人的环境。

同样,在学习的过程中,对自己已经非常熟悉的知识就不要再下太多的时间去巩固了,而是去花费精力学习自己未知的东西,也就是脱离自己学习的舒适区。

很多程序员在工作时,比较喜欢做自己非常熟悉的技术,对自己不了解的技术或者功能干脆置之不理,这样久而久之,就把自己限制在一定的认知范围内了,我们要不断地突破自己的认知范围。

那么,找对了学习的方法,并且经过了一万小时的锤炼,是否就意味着自己达到了编程大师的水平了呢?答案是不一定。即使你有世界级的编程大师给你指导,你也未必成为世界级的大师,因为一万小时定律中提到,一万小时的锤炼是必要条件,而不是充分条件,意思就是即使你经过了一万小时的锤炼也不一定成为世界级的大师哦。

说到这里,突然想到这就跟《葵花宝典》中提到的一样:

欲练此功,必先自宫;
就算自宫,未必成功;
不必自宫,也能成功!

对应到一万小时定律,那就是如果要成为世界级大师,就要先经过一万小时的锤炼;但就算经过一万小时的锤炼,也未必能够成为世界级的大师;不过要成为世界级的大师,也不一定非要经过一万小时的锤炼!

最后,希望大家能够早日找到自己的学习方法,我也会持续分享一些学习方法供大家参考,欢迎大家订阅关注微信公众号“程序员的窘境”,一起学习,一同成长~

你可能感兴趣的:(一万小时定律对程序员是否适用?)