给孩子们的建议:1000小时定律

1000小时定律

我还没有资格给孩子们提供一些生活上的建议,但是我想分享一条简单的建议,在我还是孩子的时候貌似没有听过:

找到你真正喜欢做的事情,坚持下去,坚持多深入一些,大约十年之后,你一定会精通于此,并以你为傲。

这是我自己对受欢迎的10,000小时定律的个人实践,解释了用10,000小时的紧张训练,从而成为某个特定领域的专家。例如,一流的音乐家、艺术家、运动员、科学家和其他在各自领域的专家都分享了一个普通的经验:他们持续地、超过10,000个小时高强度训练,常常从幼年开始。这等于每周每个工作日训练4个小时【注1】,坚持10年,葆有巨大激情和坚持不懈。

我不想强迫你成为某方面的专家,但是我真的希望你成为某方面的专家,我认为这只需要更少的时间和专注。下面是我的1000小时定律,它是10,000小时定律的更为温和的版本:我宣称大约1000小时的训练就能精通某方面。1000小时在10年内约等于每周两个小时,相较于每天4小时,更有可持续性。想必你可以为某个兴趣每周抽出2个小时。因此找到你真正喜欢做的事情,坚持下去,坚持多深入一些,大约十年之后,你一定会精通于此,并以你为傲。

一点自我陶醉

举一个我本人的例子,你现在访问的网站是我在过去的十年里所维护的。我现在认为我自己非常擅长创建个人网站以及在线文章写作。

我不总是以网站设计和写作为傲。我在过去的几年里,只是开始收到了一些赞美,不过我已经做了10年网站了,可追溯到1997年。我最初的尝试看起来非常可怕(比如,MS画笔和剪贴画3D裸男)。有人对我说,他们认为我在写作和网站设计上有某种天赋。我可以担保,在我13岁刚开始的时候,没有人这样对我说过!回到中学时代,我的写作水平很糟糕:我的某些文章得过C和D。我对视觉审美毫无认知

然而,我在过去的十年用闲暇时间通过忙于我的网站,学会了提高写作和视觉设计感。我从来不记得在这上面花过大量时间,或影响了学校或工作的责任。这是一个爱好,我一有合适的时间就能去做。这样,如果在十年里你能持续地从事一种爱好,即使你每周投入数个小时,我保证你一定会非常精通于此!在整整十年里,积累1000个小时是相当容易的。

我认为我目前已经超过了1000小时,但是我离真正专家的10,000个小时的标准还差很远。我绝不认为自己是一个专业作家或网站设计师。我只不过是一个沉溺于某种癖好者,虽然在很多年里从事这个爱好了。然而,做为一名爱好者,我已经设法磨练了关于这门手艺的一些深入直觉,这无法从看一本书或入门向导上获得。对于长时间的持续训练,是无法简单取代的,没有速成的方法。然而,如果你只是长期地坚持你喜欢的东西,这是很容易达到的。

关键信息

不过这对我而言已经足够了。你不必关心我的爱好让我如何产生愉快的;你只需关心你能够从阅读本文过程中获取什么。

...

如何学习Vim

我已经学习Vim多年了。下面是我推荐开始学习Vim的一些建议。

如果你不想学,就不要去学Vim

我深爱Vim,无法想象一整天用其它编辑器去写代码的情景,但是我从来不推荐谁去选择它。为什么?你不得不想选择它。我不能强迫谁;他们会恨它的。我能做的、最好的就是告诉人们我为什么喜欢它,让他们明白,它实际上是一个非常不错的编辑器。

因此如果你还没有兴趣去学,就不要让任何人强迫你。你不得不真正喜欢学习Vim,否则你永远不可能学到精通的境界。

学到过得去的程度

第一步要学到刚刚能够勉强维持的水平。起初这就像被虐待。在你开始学得更快之前,你一定是缓慢的。因此你需要在工作之外花些时间,这样你的工作效率就不会受影响。

我开始使用Vim时,我知道打开一个文件,向上、下、左、右移动,知道如何切换进/出编辑模式,如何删除,如何退出Vim,就这些。很明显,你不得不坚持多学一些,否则它就不值得了,不过你不得不从某个地方开始。

尽可能多地坚持使用

如果你坚持使用它,某些命令就变成了肌肉记忆,这是好的,因为你可以只是在脑子里记住了如此多的命令。如果你尽可能多使用,更多的命令就变成了第二本能,这样你可以关注越来越多的命令。

拥抱Vim,尽可能长时间地使用它

当你每天投入工作的时候,你精力充沛,不要打开你平常的编辑器,而是调出Vim。想用多长时间就用多长时间。如果你想了,或真的想去用另一款编辑器,不要着急,这一天的剩余时间再去用。当你有进步了,你会发现自己想用Vim的时间正越来越长,最终你用Vim时的产出才更多。

不要关闭方向键,只是尽量不要使用

会有个学派对你说,你需要关闭Vim里的方向键,使用h、j、k、l键移动。实际上这是我用过的方法,不过只是我想这样做的。

要我说,你怎么舒服就怎么来。如果保留方向键让你舒服,那么无论如何,都要保留。不过,一定尽可能多地忍住不用方向键。

现在我相当精通了,我后来打开了方向键,我还开启了鼠标滚动和点击。这样做的理由是,我不想完全疏离同事,因为他们会用我的电脑看代码。

...

软件开发中最危险的词语

“只是把它放在服务器上的某个地方。”

“只是在条目的右侧增加一个收藏按钮。”

“只是在设置屏幕添加【这里插入复杂的选择】。”

词语“只是”的使用意指做出了很多假设。几个月前,Brad Frost就该词语如何应用到个人的理解中,分享了一些想法

“只是”让我觉得像个白痴。“只是”假定我来自于一个特定环境,在大学学习了某些课程,精通某些技术,并且读了所有该读的书、文章和资源。

他指出,学习从来都不是所想的这样简单,他是对的。不过,在你所掌握知识的程度和词语“只是”的危险之间,存在一个直接的相互关系。你知道的越多,你解决的问题就越大,这个词语后面隐藏的假定就越多。

评论一下,“只是把它放在服务器上的某个地方。”我们听到过多少次了?但是让一个业余项目在本地运行,部署到真正的服务器,需要时间、金钱和辛苦的工作。软件某些地方的微小部分可能是错误的版本,这需要提出来。本地编译的系统可能无法完美地按规模编译。

“只是”暗示了一个功能或系统后面的所有想法都已经被做好了。甚至更糟糕的是,它还暗示了部署过程中的、不得不要做出的所有决定都已经被发现了——从来都不是这样的。

当事物从概念变成现实的时候,有些地方会发生变化。正如Dave WiskusDebug的一段音频中提到的,“当手指碰到玻璃时,一切会发生变化。”

收藏按钮从视觉上看,放在右侧或许好看,不过它可能是一个真正艰难的地方。当收藏不是唯一要采取的行动呢?收藏按钮接下来会发生什么?

即使有一次收藏被开发了,且处于测试中,它也应该再次通过其步骤。在使用中,收藏为其存在提供了足够价值吗?毕竟,“一旦那个功能还在那儿,你要坚持。

当你听到周围全是词语“只是”时,就深挖一些,找到里面包含的所有假设。放大、慢慢想。

你的产品是死是活,取决于构思和创造之间所发现的决定,因此不要只是把它放在服务器上的某个地方。

...