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

不要陷入「我正在學習,這已經足夠好了,等我準備好了,我再去找工作」的迷思。
評論
Photo Credit:Reuters
Photo Credit:Reuters
評論

本文獲得合作媒體 36kr 授權轉載。本文作者 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. 記得在完成了別的工作後,繼續堅持學習程式設計

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

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

當我們還有其他角色,哪裡還有時間去學習程式設計呢?

有時候你的確做不到一直堅持學習。我曾經長達 2 個月完全停止學習程式設計。

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

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

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

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

5. 無論如何,保持動力

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

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

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

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

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

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

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

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

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

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

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

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

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

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

延伸閱讀:

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

 


精選熱門好工作

行銷企劃主管

安力國際開發股份有限公司
臺北市.台灣

獎勵 NT$15,000

高階 SRE 專家 / Sr. SRE

奔騰網路科技有限公司
臺北市.台灣

獎勵 NT$15,000

PopDaily 人力資源管理專員–【人資部】

數果網路股份有限公司
臺北市.台灣

獎勵 NT$15,000

評論