一万小时定律
说了半天,你有没有觉得我学得非常的杂啊?我现在自己想想,都觉得似乎有点太杂了。不过,人生在世,不走点弯路是不可能的。我也没觉得我花在那些小众语言或不重要的特性上的时间完全是浪费,虽说也许有更好的学习方式。学习编程绝对是一场比马拉松更长的长跑,是需要长期的努力和付出的。
你很可能已经听说过“一万小时定律”了。这个说法的核心意思是,在大部分的领域里,从普通人变为专家需要投入至少约一万小时的时间。如果按每天工作八个小时、一周工作五天计算,那么成为一个领域的专家至少需要五年。如果投入时间不那么多,或者问题领域更复杂,“十年磨一剑”也是件很自然的事。
注意这是个约数,也只是必要条件,而非充分条件。时间少了,肯定完全没有希望;大于等于一万小时,也不能保证你一定成为专家。即使天才也需要勤学苦练。而如果天资真的不足,那估计投入再多也不会有啥效果。
如果你看得更仔细一点,你在了解一万小时定律时,应该会注意到不是随便练习一万小时就有用的。你需要的是刻意的练习。换句话说,练习是为了磨练你的思维(或肌肉,或其他需要训练的部分),而不能只是枯燥的练习而已。
打另外一个比方,如果你工作了五年,任务是数据库的查询和报表。那估计对绝大多数人,只有第一年可能是有能力提高的,后面四年则对能力提高没有什么大帮助。在求职市场上,这样的五年经验,多半不比两年工作经验的更有竞争力。考虑到五年经验的的薪水比两年的要高,很多公司会更偏好经验更少的呢。这就是为什么纯编程的职位(像 Java 开发工