人人都想自學編程,為什麼堅持下來的沒幾個?

編者按:不管是中途放棄,還是抽不出時間,最終都要把學到的東西落實到應用中去。本文作者Xiang Zhou,原文標題The most difficult things about learning to code by yourself — and how to tackle them

近年來,許多人對學習編程產生了興趣。

他們要麼通過在線課程開啟了學習,要麼通過面對面授課,當然還有一些人淺嘗輒止。

像code.org、codecademy和freeCodeCamp之類的網站越來越受歡迎——畢竟網上有海量的編程資源。

但是學習編程並不容易。以下就是一些我們在學習中會面臨的挑戰

1. 每天都找不到合適和足夠的時間

如果你正在自學編程,很可能你還有其他的事情要做。

你可能有一份兼職或者一份全職工作,或者要居家照看孩子。關鍵是很難抽出空來。那麼,你如何每天撥出時間來學習編程呢?

有些人可能會說:「如果你肯下功夫,總能找到時間。」說實話,我同意。

所以問題就變成了:「你每天應該花多少時間學習編程?」如果每天只能抽出半個小時,那還能學到東西嗎?

這個問題只有你自己才能回答。每天應該學多久的編程,這個很難有確切的答案。有些人建議時間不要太長——15分鐘就夠了。

另一方面,我也聽說過有些人在一年左右的時間每天學習9到10個小時的編程,取得了驚人的進步。所以如果你想找到點動力,可以參考一下這個。

底線在於:只有你自己知道你每天可以抽多少時間出來學習編程,並養成習慣。freeCodeCamp的創始人Quincy Larson曾在twitter上說:

不在於某一天突飛猛進,而是每天都循序漸進。

你可以自己去找找資源,看看那些在技術領域工作了十幾年的資深開發人員是怎麼做的,儘管這個不一定是絕對標準,但會讓你知道如何為自己設定一個現實的、可持續的學習計劃。

2. 在「沒有取得長足進步」和「精疲力竭」之間找到平衡點

就我個人而言,我在這方面掙扎了很久。

當時有幾天,我就是沒法理解書中的一個代碼片段。我非常疲憊,以至於不得不強行讓自己冷靜下來,去陽台深呼吸。

從那時起,我就一直提醒自己不要用力過猛,以免物極必反。

學習編程並不容易。你需要集中注意力——尤其是當你學習新東西的時候。這是一種精神上的負擔,有時候你無法弄清楚——為什麼你寫的代碼沒法奏效,或者為什麼它就奏效了。

我發現,每當我真正專註於正在解決的問題時,我的效率非常高,同時也非常放鬆——當我發現一個需要解決的問題的時候,當我在網上找到了解決辦法的時候,當我試了各種各樣的辦法想看看哪個能奏效的時候,以及當我解決了所有問題的時候,我很享受整個過程。

在算法學習中,我們遇到的很多東西都是非常複雜的(數據結構和算法等等),每當我學習編碼時,我都會應用「50/50規則」。

我用50%的時間來做困難的任務,學習概念和算法等等。另外50%的時間我就干自己最有興趣的活兒。所以我在日程學習中保持了一種平衡。

所以,坦率地說,你需要熱愛自己的工作。我們來看看下一點。

3. 熱愛自己的工作

雖然聽起來很老套,但這是事實。如果你熱愛自己正從事的工作和方向……你就不需要從外界的認可獲得動力。

這種滿足感是無法偽造的。

4. 記得在完成了別的工作后,繼續堅持學習編程

事實是,當涉及到自學時,你永遠都沒法心無旁騖地學習。

我們在生活中都扮演了各種各樣的角色——可能是丈夫,或者妻子,或者父母。你需要照顧家庭,或者工作,或者完成學業。

當我們還有其他角色,哪兒有時間去學習編程呢?

有時候你的確做不到一直堅持學習。我最長的不學編程的時間是兩個月。

但在那之後,我立即又撿起了編程的學習。我發現自己忘記了很多學過的東西。當你拿起同一本書,卻不知道如何繼續讀下去時,你可能會感到沮喪。「天啊,難道我真的要重頭來過,再學一次嗎?」

這就是你必須堅持到底的時候了。

你需要告訴自己:「好吧,第一個小時的學習可能很慢,效率也不高。不過沒關係,我明天再多學點就可以補上了。」

但粉飾也沒用,只能繼續前進。你可以發泄,但是只要發泄完了,就趕緊繼續學習。

5. 無論如何,保持動力

自學是很不一樣的。當你自學編程的時候,身邊沒有人跟你一道。沒有同學,沒有社交,成功了也沒有喝彩。大多數時候,你都是一個人。大多數時候,你都是孤獨的。

所以你需要找到某種動力來保持前進。

我一直在看這個網站——r/macsetups,因為那裡有很多開發人員。他們用強大的硬件來創建自己想要創建的軟件。沒有比這更值得的了。

要獎勵自己,讓它成為一種習慣。

獎勵可小可大。可以是一天結束后洗個熱水澡,也可以是喝杯冷飲。告訴自己你做得很好。

6. 不要「為了學習而學習」,要去面試,去實踐,去參加工作

在學習編程時,我們有時會偏離正道。我覺得有時候你只是想偷懶——一種希望通過整天坐在電腦前就不必面對真正的挑戰的偷懶。

別偷懶,別忘了,你要成為一個開發人員。

不要陷入「我正在學習,這已經足夠好了,等我準備好了,我再去找工作」的誤區。

坦率地說,找活兒干是我們最應該做的事情。你可以聯繫潛在客戶,哪怕是為家人和朋友免費建立網站也行。

下次你去面試的時候,你就能展示自己都做了哪些工作,這會給你的簡歷增光添彩。第一步總是最難的,但無論如何你都必須邁出這一步。

所有這些都是你在成為一名開發者的路上將要面對的挑戰。承認它們,以正確的態度面對它們——所有的挑戰只會讓你變得更強、更好。

最後,要享受學習編程的過程,享受你正在構建的東西,無論是你的項目還是你自己的未來。

編譯組出品,編輯:郝鵬程


想在手機閱讀更多程式設計資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems