我从1万小时编程中学到了什么
12年前有人告诉我,你至少需要10,000小时才能说自己在某方面是专业的。对此我并不理解。假设我每月至少工作160小时,那么我每年工作1,920小时,除去五周的假期,那就是1,720小时。由于在这些时间里,我不可能100%都用来写代码,所以扣掉30%的话,最终差不多是每年1,000小时。
但是现在,12年过去了,在历经12,000小时的编程后,我理解了。我刚读到的亚里士多德的一句话,完美地描述了这个过程。
重复不停地去做一件工作,这个工作就会变成我们本身。到那时,杰出就不是一个动作,而是一种习惯了。(亚里士多德)
在这12年里,我有足够的时间去涉猎至少15种编程语言。有一些我很喜欢,而有的则是我讨厌的,还有一些是我必须学习的。
前言
在大学时我稍微涉及了一点Java和Prolog,然后就去学习工作公司专有的脚本语言。在那里,我无意中地学习了ActionScript、Adobe Assembla、HAXE、Python、Qt和C ++。在家里,我用Assembla和C做了一些硬件项目。而现在作为自由职业者,我专注于Objective-C、Swift、Scala、SQL、Ruby和Android Java。
有很多很多用于不同目的的工具。知道哪些工具适用于什么样的项目是很有必要的。如果我不知道的话,会浪费我数个小时甚至最高数天的时间来制作原型。经验让我更快、更高效。
现状
从技术上看,我越来越发现项目或多或少都是容易的。我的经验告诉我如何开始,如何构建和如何完成产品。所以我现在真正明白了10,000小时的意义所在。我需要面向市场的产品,但我没有经验。我不像现在这样使用过15种不同的工具,也不像现在这样知道哪些最适合个别的情况和目标。
回想起我的第一个程序,非常可怜,但这是我们迈开的第一步。从第一个小程序开始,然后是第一个博客,第一次营销活动,第一首歌。我们往哪个方向迈出第一步,往往是开始最重要的一个步骤,然后需要持之以恒的毅力。我知道我的一些博客很幼稚,但这些都是我通往10,000小时的旅程中所必须经历的。我也很肯定,很多我的营销活动都会失败,但我会从中得到学习和提高。
我的经验教训
现在,我偶然进入了一个新的我毫无经验的领域,而我很重视我所获得编程经验。然后我开始明白经验的真正意义。
我们年纪越大,我们就越怕学习,因为我们认为我们应该已经知道这一切了。我们懂得越多,学得更快,但我们不应该停止学习。我们学得更快,就不需要花费10,000万小时就可以取得成功。而这是成为专家的必经之路。
因此,我从10,000小时的编程中所学到的是,经验是我们学习的杠杆。保持学习,体验和实现。永远心怀感激。
我们可能爬了很多山,但我们大多数人都不会在我们的有生之年登上珠穆朗玛峰。只要值得,就去做。
译文链接:http://原网站已经失效/article/programming-10000-hours.html
英文原文:What I have learned from 10,000 hours of programming
翻译作者:码农网 – 小峰