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

2021-09-24 17:09:13 字數 2746 閱讀 6584

不管是中途放棄,還是抽不出時間,最終都要把學到的東西落實到應用中去。

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

畢竟網上有海量的程式設計資源。

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

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

有其他的事情要做,不能專心學習程式設計。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. 熱愛自己的工作

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

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

4. 記得在完成了別的工作後,繼續堅持學習程式設計

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

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

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

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

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

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

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

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

5. 無論如何,保持動力

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

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

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

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

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

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

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

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

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

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

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

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

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

為什麼人人都要學程式設計

如果你對 猩球崛起 這部電復印象深刻,你一定不會忘記黑猩猩凱撒是如何一步一步從猩猩變成和人類相似,甚至智力超越大部分人類的智慧型生物。其中人類是如何判斷出猩猩的智力達到和人類相似的水平呢?那就是漢諾塔的遊戲,如果在一段時間內,可以達到了15步就完成遊戲,那麼就認為猩猩的智力已經達到人類的水平。為什麼...

為什麼人人都要學程式設計

如果你對 猩球崛起 這部電復印象深刻,你一定不會忘記黑猩猩凱撒是如何一步一步從猩猩變成和人類相似,甚至智力超越大部分人類的智慧型生物。其中人類是如何判斷出猩猩的智力達到和人類相似的水平呢?那就是漢諾塔的遊戲,如果在一段時間內,可以達到了15步就完成遊戲,那麼就認為猩猩的智力已經達到人類的水平。為什麼...

學習的時候為什麼有些東西先背下來就好

在學習的時候,往往會遇到一些知識開始我們要先背下來。首先,我們剛接觸一些知識的時候很難做到對這個領域理解深刻,開始時我們要做到不牴觸的把作為該領域基石的原理定理背下來,方便不斷的回味理解,即便是最後理解深刻了,也基本是拿著結論解決問題,這些結論還是要背下來固化到大腦的 隨時可以說出一些結論,但是具體...