Vacanti:我是如何學習編程的
英文原文:How I Learned to Code 譯文鏈接
讀:本文作者是 Yipit 的聯合創始人 Vinicius Vacanti ,在辭職創業前,他是做金融的。想創業成功,不是一件容易的事。不了解他的朋友,可以再看看他之前分享的博文:《為什么我辭職去創辦一個科技公司》、《一夜暴富之前的漫漫長路》。
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 上有人已經解決了我的問題,并且我能理解那些答案。
我發現有兩類人是能挺過那些艱辛的:
- 那些真的特別喜歡編程的人。如果你現在不是一寫代碼就興奮的話,那很可能你不是那種人。
- 那些必須寫代碼才能達成目標的人。他們寫代碼不是因為樂趣。他們寫代碼是因為他們必須這么做。他們也許享受過寫代碼的快樂(實際上大多數代碼的人 都感受過這種快樂)。但這種快樂和上面第一條提到的快樂不同,因為他們是工作需要,要不就是他們想做的東西,沒人給他們做,只有自己動手。
所以如果你打算學習編程,那就不只是買一本書,或去上個課程那樣。
如果你真想學編程,你應當做兩件事:
- 現在開始想一個項目,必須是你確實特別想實現的項目,開始學習所有要實現這個項目所需要的技術。
- 把自己放到一個除了這個項目實現沒有其他選擇的情況中(譯注:也就是咱們常說的『置之死地而后生』)。