12年前有人告诉我,你至少需要10,000小时才能称自己为某事的专家。我不明白这一点。假设我每个月至少工作160小时,那么每年工作1,920小时,五周假期后,就是1,720小时。由于我不能将这些时间的100%花在编写代码上,因此我扣除了30%,最终每年将近1,000小时。但是现在,12年后,经过12,000小时的编程,我明白了。我刚刚读到的亚里士多德的一句话完美地描述了这个过程。重复做一份工作,工作就会变成我们。那时,卓越不是一种行为,而是一种习惯。(亚里士多德)在那12年里,我有足够的时间涉猎至少15种编程语言。有些我喜欢,有些我讨厌,有些我必须学习。前言大学的时候接触了一点Java和Prolog,然后就去学习了工作公司专有的脚本语言。在那里,我无意中学习了ActionScript、AdobeAssembla、HAXE、Python、Qt和C++。在家里,我用Assembla和C完成了一些硬件项目。现在作为一名自由职业者,我专注于Objective-C、Swift、Scala、SQL、Ruby和AndroidJava。有很多很多用于不同目的的工具。有必要知道哪些工具适用于哪些项目。如果我不知道,那会浪费我数小时甚至****天的原型制作时间。经验让我更快更有效率。现状从技术上讲,我越来越发现项目或多或少容易。我的经验告诉我如何开始、如何构建以及如何完成产品。所以现在我真的明白什么是一万小时了。我需要面向市场的产品,但我没有经验。我不像现在那样使用15种不同的工具,而且我不知道哪些最适合个人情况和目标。回顾我的第一个项目,它很可怜,但这是我们迈出的第一步。从第一个小程序,然后是第一个博客,第一个营销活动,第一首歌。我们朝哪个方向迈出的第一步往往是开始时最重要的一步,然后需要持之以恒。我知道我的一些博客很幼稚,但这些是我在通往10,000小时的旅程中必须经历的。我也确信我的许多营销活动都会失败,但我会从中学习和改进。我学到的教训现在,我偶然进入了一个我没有经验的新领域,我很重视我获得的编程经验。然后我开始明白这段经历的真正意义。我们年纪越大,就越害怕学习,因为我们认为我们应该已经无所不知。我们知道的越多,我们学得越快,但我们永远不应该停止学习。我们学得更快,不需要花费1亿小时来取得成功。这就是成为专家的方式。所以我从10,000小时的编程中学到的是,经验是我们学习的杠杆。不断学习、体验和领悟。永远心存感激。我们可能爬过很多山,但我们中的大多数人一生都不会爬上珠穆朗玛峰。如果值得,就去做。翻译链接:http://www.codeceo.com/article/programming-10000-hours.html英文原文:WhatIhavelearnedfrom10,000hoursofprogramming
