Vinicius Vacanti
回到2006年,那时候我还在干一份金融相关的工作,趁着休息时间,我偷偷溜出来去曼哈顿市中心的书店闲逛。茫然的翻看着眼前的各种计算机书籍。 《学习HTML》,《24小时精通Java》,《Javascript入门》以及各种《一步一步学XX》这样的书籍,让我不知所措。
一年后,我正准备要辞去金融工作,自己创立一家技术公司。所以我决定自己学习编程。当我再次去那家书店的计算机图书区域,依然让人眼花缭乱的书架在我眼中变得空旷了——我自己做了研究,我要看的是“LAMP”相关的书——于是我就进拿了一本《Apache+MySQL+PHP》,翻看了几页之后就回去工作了。
实际上我并没有学习什么编程。我只是晚上和周末试图自学。在休假的时候像模像样带着我的编程书。尽管我做完了所有练习,也写了诸如“to-do”和“blog”这些应用,但我并没有真正学会。
2007 年夏天,我辞掉工作开始创业了。我们将首个创意产品原型外包出去了,这样一来,我就能专注与如何获取客户与商业拓展。外包团队会注重产品代码质量,直到我们招到了 CTO。
然而九个月以后,我发现我的想法行不通。接包方并没做好,无论我们怎么尽力了,都没有找到合适的 CTO 人选。
为了公司能继续做下去,我只有真正去学习编程了……
所以在2008年初,我又到了曼哈顿的“Barnes and Noble”的计算机图书区。这次我挑了一本『学习Python』,然后就直接回家了。
这次我一点也不兴奋,而是沮丧。
如果我不亲自学习编程,我的公司就完了。我又得继续干回金融的老本行。我不想让我的家人和朋友看到我放弃。那样我就完全失败了。
三个月以后,我不仅写了一本书,还重写了我网站的原型(之前的外包花了六个月才写完)。我自己动手将我的网站架设在我自己建设的服务器上,并且以小时为单位,迭代的增加新功能。我学会编程了。
虽然我并没有打算做一个Google的工程师,但我还是可以把我们任何所需要的东西做出来。几年之后,Yipit上线了,现在是一个有25名员工,已获风投,很快就将盈利的创业公司。
为什么我这次尝试学习编程和前几次如此不同呢?其实原因很简单:我没有其他选择。
说真的,学着写自己的网站原型非常艰苦。我得不停第学习各种技术:HTML/CSS、MySQL,Python/Django、Javascript、AJAX、Nginx 等等。我几乎不停地在Google搜索错误信息,期望Stack Overflow上有人已经解决了我的问题,并且我能理解那些答案。
我发现有两类人是能挺过那些艰辛的:
- 那些真的特别喜欢编程的人。如果你现在不是一写代码就兴奋的话,那很可能你不是那种人。
- 那些必须写代码才能达成目标的人。他们 写代码不是因为乐趣。他们写代码是因为他们必须这么做。他们也许享受过写代码的快乐(实际上大多数代码的人都感受过这种快乐)。但这种快乐和上面第一条提 到的快乐不同,因为他们是工作需要,要不就是他们想做的东西,没人给他们做,只有自己动手。
所以如果你打算学习编程,那就不只是买一本书,或去上个课程那样。
如果你真想学编程,你应当做两件事:
- 现在开始想一个项目,必须是你确实特别想实现的项目,开始学习所有要实现这个项目所需要的技术。
- 把自己放到一个除了这个项目实现没有其他选择的情况中(译注:也就是咱们常说的『置之死地而后生』)。
原文链接:http://viniciusvacanti.com/2013/07/30/why-you-will-never-learn-to-code/