自學編程需要注意什麼?
文章推薦指數: 80 %
前幾天看到這麼一個問題,一位在讀學生,自己非常想自學編程,但是很怕走一些彎路,於是提問「自學編程需要注意什麼?」,我看了一圈回答,看起來都不是自學過來的,很多回答抓不到重點。
我的讀者都知道,我是非科班 0 基礎自學過來的,我很清楚一個人自學編程有哪些誤區,有哪些需要注意的地方,以及哪些可以提升效率的地方,所以,我從我的自學經歷給一些自學編程的後來者總結了一些建議,希望給正在自學編程或者打算走這條路的讀者一點幫助。
1.先培養興趣
其實自學編程不是那麼難,只要是理工科生、邏輯思維好點,最好英語也好點,基本都可以學會編程,但是很多人都失敗了,原因就在於很多人還沒入門就放棄了,看著一堆冰冷的英語字母、一些枯燥的書籍,致使很多人嘗試了一段時間直接就放棄了。
所以自學正確的姿勢是一定先要培養下興趣,不要上來就學習程式語言,先搞清楚編程能用來做什麼,最好是自己有個小想法,比如自己想做個網站,自己想做個
app,有這樣的想法之後,再去針對性的去學習需要的編程知識,你才會更容易堅持下去。
2.不要鑽牛角尖。
很多新手自學的時候,最開始一定會遇到各種問題,比如學習的時候搞不懂為啥一定要這樣寫,程序運行出來了,怎麼這麼神奇?它背後是什麼樣的原理呢?等等等,很多人都會花很大的時間去試圖全部弄懂,導致花費大量的時間,自己進度同時又很慢,過來人告訴大家,初學者不要過分鑽牛角尖,很多東西,你的 level 沒到那個水平,自然沒法完全弄懂,完全沒關係,等到了後面,有些疑問自然就明白了。
這就好比,你初中的一些數學、物理題,你花了很長的時間也不一定能明白,但是到了高中之後,你會恍然大悟,原來這個原理是這個意思。
所以,初學者切忌鑽牛角尖,按部就班的去學習好了,哪怕遇到一些不太明白,不知背後原理的事情,完全沒關係。
3.結合視頻
初學者一定要看視頻,而且不能只看視頻,視頻是幫助你理解的,結合書本、配合視頻一起學習,效果是最好的,一些視頻講解的比較淺顯,不夠系統,但是只看書的話,很多人容易看到後面就看不懂了,所以,我自認為視頻 + 書籍是初學的最好方式,等到後期,有能力了,看書、看視頻、看博客就隨你了。
現在有很多在線視頻網站都很不錯的,推薦兩個:
「慕課網」和「Udacity」,免費的話上慕課網就夠了,如果想自學能力較差,那麼可以考慮在 Udacity 買套付費課程。
當然,如果付費課程都沒能激起你的學習興趣,但你又想走編程這條路,那麼可以考慮去報個培訓班,但是我不是特別建議,網際網路時代,在線教育足以讓每個人接觸學習我們感興趣的行業,付費課程 + 輔助指導 + 自學,我覺得適合大部分人了。
4.多敲代碼
編程是一個極度重視實踐的行業,也許書上的代碼你看得懂,但是你自己親自敲下來一定會遇到各種問題,所以,初學者在學習的過程中,一定要親自實踐,哪怕你對著書上的代碼一行一行的敲下來,也比你單純的看有效果的多。
所以,敲代碼一定是伴隨著整個學習周期的,從最初的學習,到後面入門,再到之後你的提升,都離不開它,還是那句話,也許在學習的過程中你會遇到一些難題,會遇到暫時不了解的代碼,沒關係,就悶頭敲下去,只要你能堅持下去,一些問題在後面都會自然的有答案的。
5.堅持下去
編程這事其實真的沒那麼難,只不過編程在一開始不會有那麼大的反饋,不像你學唱歌,花幾天,就可以唱一首歌了,不像你學語文,花個一周,就會說「之乎者也」了,編程是你可能你花幾個月的時間,你甚至都覺得自己啥都不會,所以很多人在一開始就放棄了。
那麼自學編程成功的無一例外都是堅持下來了,你得做好少則三個月,多則半年的時間一直持續學習,並且這麼長時間可能感受不到任何進步的狀態,但是,一旦你堅持下來了,當然,不只是單純的熬過這個時間,你得堅持每天都要學習,等渡過這個初期階段,你會很有感覺,後面的路雖說也不好走,但起碼你沒那麼迷茫了,你知道該怎麼學習了,你會很容易找到方向了。
相比其他行業來說,編程入門難,做到精更難。
但是對於絕大部分自學編程人來說,你該優先考慮入門,爭取堅持下去,用三個月到半年的時間,讓自己渡過這個艱難的入門期。
6.折騰個作品出來
很多人通過視頻 + 書籍的方式堅持一段時間,掌握了點編程基礎,覺得自己學的還可以了,這個時候你該考慮折騰個作品出來,這是檢驗你學的理論知識的過程,這個作品可以很簡單,可以是一個簡單的博客網站,也可以是做一個小的資訊 App,還可以是一個小的爬蟲等,甚至 GitHub 有很多開源的項目,你去仿寫都沒問題,但是重要的一定要自己親自去做,而不是對著
copy,相信我,無論你的理論知識掌握的多麼紮實,在這個過程你都會遇到各種問題,哪怕之前你覺得很簡單的東西,但是動起手來可就沒那麼容易了。
當你花費了很大的功夫,親自把作品折騰出來了,你會有非常大的滿足感與進步感,你的能力有了一個提升,而且這也算是你的項目經驗了,有一個完整作品,其實才算具備找工作的基本能力了,這時候可以試著找一份初級的開發崗位,一旦找到工作,你的自學之路,基本算是成了,後面的路,雖然也不容易,但是你算是熬到了。
最後
再給自學的人建議一點,要善於使用搜尋引擎,你遇到的那點小問題,已經有無數前輩早都遇到,並且已經分享在網際網路上了,前人的經驗是你的寶貴學習資源,也許你一開始使用的是百度,但是,建議你試著使用 Google,當你學會使用 Google 的時候,你會接觸另一個世界。
總之,我是過來人,我非常清楚自學編程這條路有多麼不易,尤其對於一些非科班的同學,你要耐得住寂寞,你要比別人更努力,你要找到適合自己的編程方向,再到找到一份工作,這過程的艱辛只有過來人才能體會,但是過來人的經驗告訴你們,我自學編程成功幾乎改變了我的人生軌跡,而且我從未後悔過,真心希望每個自學編程的人都可以找到自己的方向與定位,祝早日找到工作。
一個程式設計師學習平台分享給你們,讓你在實踐中積累經驗掌握原理。
主要方向是JAVA工程師。
如果你想拿高薪,想突破瓶頸,想跟別人競爭能取得優勢的,想進BAT但是有擔心面試不過的,可以加我的Java學習交流群:282711949。
註:加群要求
1、大學學習的是Java相關專業,畢業後面試受挫,找不到對口工作可以
2、在公司待久了,現在過得很安逸,但跳槽時面試碰壁。
需要在短時間內進修、跳槽拿高薪的
3、參加過線下培訓後,知識點掌握不夠深刻,就業困難,想繼續深造
4、已經在Java相關部門上班的在職人員,對自身職業規劃不清晰,混日子的
5、有一定的C語言基礎,接觸過java開發,想轉行的
小號勿擾,不喜勿加作者:googdev
原文連結:https://zhuanlan.zhihu.com/p/32005307
獻給程式設計師的最好的一份機器學習自學手冊
該文章來自Github上開源項目翻譯靈感來自 谷歌面試學習手冊原文地址:Machine Learning for Software Engineers