今天不聊具体的技术问题,聊一聊个人成长的问题,大家可能对一万小时定律耳熟能详了, 作家格拉德威尔在《异类》一书中说道:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。一万小时的锤炼是任何人从平凡变成世界级大师的必要条件。” 这就是“一万小时定律”。 作者的原意是要在某个领域成为专家,至少要投入一万小时的时间。
那么只要在某个领域投入超过一万小时,就能成为该领域的专家?我们来做个简单的计算,我们就按每周工作5天 每天8小时算,一万小时也就是5年时间,然而绝大多数工作5年的人在其所在领域都算不上是专家。拿国内的程序猿来说,可能工作3年就能攒到一万小时,但3年工作经验的程序猿能算是专家的真是凤毛麟角,可以说绝大多数程序猿都无法用一万小时成为专家。
一万小时定律只是夸夸其谈? 其实不然,只是大多数人误解了一万小时定律。 格拉德威尔在《异类》中也提到了“一万小时定律”只是成为专家的必要条件。 我们高中数学就学过充分条件和必要条件的区别了。 这里说直白点就是成为专家一定需要一万小时的训练,而训练一万小时却不一定成为专家。 大多数人工作十年并没有积攒十年的工作经验,而是将一年的工作经验用了十年。
那么如何才能让一万小时定律变的有效呢?直白点就是如何能提升自己一万小时就能成为专家的概率呢? 前一段时间我看到有个视频总结了一万小时定律的其他4个必要条件,感觉说的很对,这里总结整理后分享给大家,希望对大家有所帮助。
首先就是反馈,为什么说反馈很重要?做完一件事之后只有得到反馈你才能判断出自己做的对不对,反馈可以是做事的结果或者别人的意见。比如其实编程就是一件很容易获得反馈的事情,你写完代码点下编译运行,编译器会很快告诉你代码有没有问题、执行结果也会告诉你你代码逻辑对不对、新功能上线后用户也会通过行为告诉你这个功能好不好用…… 所以程序猿的世界其实不缺少反馈,而是缺少对反馈的关注。
再比如,大学时期参与过竞赛的同学可能深有体会,为准备参加竞赛而刷题是学习算法最好的途经之一,我们使用的OJ(Online Judge)平台有很多算法题,你写完代码可以迅速验证自己代码的准确性,相当于迅速得到了反馈。 以我大学ACM队长和近些年面试校招生的经验来看,参与过算法竞赛的同学在算法方面明显强于没有相关经验的同学,这也是各大厂在校招时不约而同强调了竞赛的原因。
如果你关注自身成长,你就必须寻找或者创造出一个能快速获得反馈的环境。如果你是学生,我建议你刷Leetcode来提升自己的算法能力,如果你身处职场 建议你多和自己的用户沟通下,听听他们对你做的功能的反馈。
第二点其实算是对第一点的补充吧!这里先强调下,反馈是很重要的,但并不一定所有的反馈都是对的,都是有用的。在有些特殊的环境下,有些反馈可能是错误的反馈或者随机的反馈。这时候你虽然快速得到了反馈,但这些反馈和你的行为之间没有任何规律可言,你也就无法从这些反馈中吸取经验和教训。 这里有个很典型的例子,就是股票市场。假如你现在学习炒股,你买入或者卖出股票后很快就能知道你是赚是亏,然而你很难从中找到任何规律,这种情况下所以不管你买卖过多少次股票,你也很难提升你炒股的水平。
作为程序猿你大可不必太担心这些,因为在计算机这个领域绝大多数都是确定性的,极俱规律性。只有那些纯做业务的同学需要关注下,本身业务问题就不是纯的计算机问题,在业务发展的过程中还是可能会出现反馈失常的情况,这种情况下还是建议多主动和你的用户多沟通,从真实的用户口中获取到真正的反馈,而不是那些随机的噪声。
如果反馈帮助你发现自己和目标之间的差距,那么成长就是抹平你与目标之间的差距。但是很多时候,你可能无法只凭借自己的力量抹平差距,甚至有时候还找不到前进的方向,这时候如果有相应指导的话,你就能更容易突破自己。有了有效的指导,你可以少踩一些坑、少走很多的弯路,事半功倍。 当然这里的指导是广义的,不局限老师的指导,也可以是优秀课程的指导。
初入职场,如果你能遇到一个靠谱的团队和靠谱的导师,以上三条都将全部满足,你出任CTO迎娶白富美走上人生巅峰也将指日可待[狗头]。 有句老话 名师出高徒 相信你肯定听过,有优秀的人指导你肯定也能变的更优秀。
如果你想系统性学习某个知识,最好是能找个在该领域比较资深的人来指导你(不过这个要么就成本高要么干脆找不到),其次就是找一份相关的比较优秀的教程,互联网如此普及的今天,早就不缺乏各类知识的相关教程了,但是还是需要做好甄别和筛选的。
上面三条都是外界因素,有时候很难去把控。而刻意练习是自己所能控制的,有本书就叫《刻意练习》,书中最重要的一条结论就是“不论在什么行业或领域,提高技能与能力的最有效方法就是刻意练习”,很推荐大家阅读下。书中的《刻意练习》其实是中学习的方法论,而我这里的刻意练习主要强调的是练习, 师傅领进门修行在个人,无论外部给你了多少的指导和帮助,只有自己努力消化吸收后才能成为自己的。
虽然以上这四个条件都是一万小时定律能生效的必要条件,但我觉得这最后一条才是最重要的,没有最后一条前面三条不会有任何意义。今天的文章就到这了,大家觉得有用请点赞,喜欢请关注。最后问大家一个问题,你觉得在一个领域做到成功,需要至少多少投入多少个小时? 1000、2000、10000、甚至是更多?