新手學習編程的最佳方式是什么?
英文鏈接: What are the best ways for a complete beginner to learn programming
回答這個問題是我最近兩年來唯一的關注點。我覺得此處提及的許多資源盡管都很不錯,然而我卻注意到,成功的學生,無論使用哪種資源,往往都會在以下三個方面,比其他人有著更好的表現。
- 聚焦習慣而不是目標
- 獨自學習非常痛苦
- 項目實踐
聚焦習慣而不是目標
聚焦習慣而不是目標聽起來似乎不合常理,但是請聽我把話說完 - 這是一個有關平衡的問題。凡是和我共過事的人都知道,我有時就像傻子一樣,在一天內,引用《蝙蝠俠:俠影之謎》中 Ra's Al Ghul 的話多達 3-4 次。
Bloc 公司的投資者們對于我在董事會上頻繁地引用《蝙蝠俠:俠影之謎》中的片段作為開始,早已經煩透了。
R'As 告訴 Bruce:
“(當你的胳膊快要凍僵的時候,)按摩你的胸口,你的胳膊自然會暖和起來。”
如果你將精力放在在每星期編程 20-30 個小時的習慣培養上,成為一名 Web 開發者的目標很快就可以實現。如果你將目標設定為在數月內成為一名 Web 開發者,在什么時候能可以達成目標以及距離目標還有多遠等不確定性的壓力之下,你反而可能會一無所獲。聚焦于習慣而不是目標。按摩你的胸口,你的胳膊自然會暖和起來。
因此,你現在應該做的是:在你的日程安排上,每天花15分鐘時間用于編程。不要多于15分鐘,每天只要15分鐘就夠了。如果你能在一星期之內堅持做下來而不找任何借口,請試著把時間延長到一天20分鐘。不要試圖通過每天一小時的編程來過度擴展自己的能力,編程就是一場 10000 小時的馬拉松,因此我們應該將精力集中在培養習慣上。與其在一天內花費大量時間學習編程,不如每天花費少量時間,但是能夠天天堅持,因為這樣更有效。
獨自學習非常痛苦
當我在學習 Web 開發時,在我的學習過程中,擁有一位導師和加入一個社區是兩個最大的組成要素。
- 擁有一位導師
大學期間,我曾在一家名叫 merge.fm 的小型創業公司工作。暑假期間,我與該公司的一位聯合創始人一起工作,我在此期間學到的東西比我之前一年在大學學到的還要多。跟隨一名經驗豐富的專業人士一起工作,可以真正地加速你學習的速度,你會了解到他們如何思考問題的,同時,也會發現自己的不足之處。這就是為什么師徒制通常成為學習一門新技藝的默認標準的一個原因吧,因為它非常有效。
- 加入一個社區
我加入了的兩個社區,一個是 Illini Entrepreneurship Network(我們學校的一個學生組織),另一個是 Hacker News(一個面向黑客和創業者的大型在線社區)。
我沒有從 Hacker News 學到任何有關對象和類的知識,但是我學到了一些別的東西。我知道了沒人喜歡 JavaScript。我知道了 Ruby 程序員是編程領域的潮人。我還知道了 Bret Taylor, Rich Hickey 和 John Carmack 都是編程世界的領袖人物,還有就是,那些真正關心員工的軟件公司,它們公司的廚房看上去就像興奮劑實驗室。
總之,我學會了如何說行話。當你和其他程序員一同工作的時候,這一點非常重要,也正因如此,才使你覺得自己就是一名程序員。
項目實踐
在學習 Web 開發的第一年,我動手實現了以下項目:
- 一個 Digg 的克隆版(來自 Sitepoint書上的 Rails 例子,我想現在它已經過時了)
- 一個在線購物應用程序(來自 Agile Web Development with Rails 4)
- 一個 GeekSquad-esque 應用程序(個人項目)
- 一個實時在線課堂應用程序(個人項目)
- 一個外語學習應用程序(課程項目)
我認為構建真實項目之所以非常重要的原因有很多,就我而言,最重要的一個原因是它充滿了樂趣。這恰恰是在傳統教育中嚴重缺失的,也正因如此,它才成為了諸多原因中最重要的一項。尋找如何開展項目實踐的參考資源,http://ruby.railstutorial.org/ 是一個不錯的選擇。
要具有“小強”精神
對于那些能堅持讀到此處的讀者們,我偷偷地增加了第四項內容。Paul Graham 曾經對 Airbnb 的創始人說過:
“你們這些家伙是不會失敗的,因為你們就像打不死的‘小強’一樣”
一段時期,你可能會有放棄學習編程的想法。就像任何具有同樣價值的事情一樣,學習編程真的很難,有時你會覺得自己真的很笨。這就是為什么第一項策略如此重要的原因 - 不要過度擔心是否已經取得進步,或者需要花費多長時間達成目標。你要做的就是每周堅持 10-30 個小時的編程。就像執著的‘小強’一樣,你就不會失敗。
多年以前我說過一句話 - “成功貴在堅持(注解:亦可譯為‘生活中80%的成功源于堅持’)”,這句話經常被其他人引用。人們常常向我提及,他們想編寫一個劇本,他們想制作一部電影,他們想撰寫一本小說。那些最終成功實現目標的人,80%的做法是先行動起來。那些最終失敗的人,他們連這一點都做不到。這正是他們不能做成一件事情的原因,他們沒有去做。一旦你去做了,如果你真地去編寫電影劇本,或者撰寫小說,實際上,你的成功之路已走過大半。這就是我可以告訴你的我人生最大的成功經驗。其它的都是失敗的教訓。
-- Woody Allen(美國好萊塢著名電影導演)
作者:Roshan Choxi,美國在線編程學習公司 Bloc 聯合創始人/CEO
留言列表