一年前,我剛從大學畢業並且決定踏入社會。我有很多初始的想法並想將它們實現,但我不懂編程。
聽從Yipit 聯合創始人Vin Vacant 的建議之後,我開始自學編程。
現在我終於學了足夠多的知識來自己實現產品原型,一路走來,非常坎坷。如果你在跟我同樣的路上,我希望你能避免犯跟我同樣的錯誤。
錯誤1:我花了太多時間學習那些我不是特別需要的東西上
有如此多的技術,又有那麼多的相互矛盾的觀點以至於你很難判斷什麼是重要的,我根本就不知道如何開始。在Hacker News、 Quora、 Stack OverFlow上看了一大堆最流行的文章之後,我簡直要瘋了。下面是大雜燴清單:
HTML、CSS、 AJAX、 PHP、 Javascript、 Heroku、 Celery、 SQL、jQuery、 Django、POSTGRES、 nodeJS、 BackboneJS、Ruby、 Rails、 MongoDB、 Python
在這些技術中,我不知道哪些我需要學哪些不需要學,所以我試著把它們全部學習一遍。
我當時本應該做的:我本應該縮小這個清單,只挑出我構建原型所需要的技術。
最終,我搞清楚了這些技術就是幹什麼的,然後把這個清單縮減為如下:
0. HTML:構造一個網頁的內容(如連結,標題等元素的選擇)
1. CSS: 內容的樣式(如滑鼠移至連結上時改變它的顏色)
2. Javascript:使內容變成動態(比如使用者點選連結的時候彈出一個菜單)
3. jQuery: 一個包含容易使用外掛程式的javascript庫(如投影片效果顯示圖片)
4. Python: 處理資料(如從資料庫中讀取使用者購買記錄或推薦使用者可能喜歡的產品)
5. Django: 一個用Python編寫的web架構可以將以上的技術串聯起來。並且提供了很多內建的、非常必要的功能。(如使用者登入,以及用python容易地任何資料庫)用架構能讓你的工作大大簡化。
Suneel Chakravorty
錯誤2:我沒有立馬開始寫代碼
我花了太多時間閱讀編程書。我不確定我讀的那些東西是對我的項目有直接協助的。更糟糕的是,我沒有將書中的東西應用起來,最後發現沒什麼效果。
我本應該做的:在一開始我就應該通過一些小的項目來進行學習。我之後發現了一個非常有效學習方法:
0. 在看了一些教程之後積極地編寫常式。
1. 挑選一些簡單的項目,然後編碼實現它。例如一個簡單的部落格,或者一個投票的應用。
2. 多次重複第二步。
3. 構建你的初始項目原型。
這樣做有很多好處,你可以很快地克服關於編程的任何恐懼。你將會看到你的勞動成果。最重要的是,你能夠很快培養構建產品所需的技術。
英文原文:Suneel Chakravorty 編譯:伯樂線上 - @賤聖OMG