前幾天在知乎上看到這么一個問題牌柄,一位在讀學(xué)生畸悬,自己非常想自學(xué)編程,但是很怕走一些彎路珊佣,于是提問「自學(xué)編程需要注意什么蹋宦?」,我看了一圈回答咒锻,看起來都不是自學(xué)過來的冷冗,很多回答抓不到重點。
我的讀者都知道惑艇,我是非科班 0 基礎(chǔ)自學(xué)過來的蒿辙,我很清楚一個人自學(xué)編程有哪些誤區(qū),有哪些需要注意的地方滨巴,以及哪些可以提升效率的地方思灌。所以,我從我的自學(xué)經(jīng)歷給一些自學(xué)編程的后來者總結(jié)了一些建議恭取,希望給正在自學(xué)編程或者打算走這條路的讀者一點幫助泰偿。
1. 先培養(yǎng)興趣
其實自學(xué)編程不是那么難,只要是理工科生蜈垮、邏輯思維好點耗跛,最好英語也好點,基本都可以學(xué)會編程窃款,但是很多人都失敗了课兄,原因就在于很多人還沒入門就放棄了,看著一堆冰冷的英語字母晨继、一些枯燥的書籍烟阐,致使很多人嘗試了一段時間直接就放棄了。
所以自學(xué)正確的姿勢是一定先要培養(yǎng)下興趣紊扬,不要上來就學(xué)習(xí)編程語言蜒茄,先搞清楚編程能用來做什么,最好是自己有個小想法餐屎,比如自己想做個網(wǎng)站檀葛,自己想做個 app,有這樣的想法之后腹缩,再去針對性的去學(xué)習(xí)需要的編程知識屿聋,你才會更容易堅持下去空扎。
2. 不要鉆牛角尖
很多新手自學(xué)的時候,最開始一定會遇到各種問題润讥,比如學(xué)習(xí)的時候搞不懂為啥一定要這樣寫转锈,程序運行出來了,怎么這么神奇楚殿?它背后是什么樣的原理呢撮慨?等等等……很多人都會花很大的時間去試圖全部弄懂,導(dǎo)致花費大量的時間脆粥,自己進度同時又很慢砌溺,過來人告訴大家,初學(xué)者不要過分鉆牛角尖变隔,很多東西规伐,你的 level 沒到那個水平,自然沒法完全弄懂弟胀,完全沒關(guān)系楷力,等到了后面,有些疑問自然就明白了孵户。
這就好比萧朝,你初中的一些數(shù)學(xué)、物理題夏哭,你花了很長的時間也不一定能明白检柬,但是到了高中之后,你會恍然大悟竖配,原來這個原理是這個意思何址。
所以,初學(xué)者切忌鉆牛角尖进胯,按部就班的去學(xué)習(xí)好了用爪,哪怕遇到一些不太明白,不知背后原理的事情胁镐,完全沒關(guān)系偎血。
3. 結(jié)合視頻
初學(xué)者一定要看視頻,而且不能只看視頻盯漂,視頻是幫助你理解的颇玷,結(jié)合書本、配合視頻一起學(xué)習(xí)就缆,效果是最好的帖渠,一些視頻講解的比較淺顯,不夠系統(tǒng)竭宰,但是只看書的話空郊,很多人容易看到后面就看不懂了份招,所以,我自認為視頻 + 書籍是初學(xué)的最好方式渣淳,等到后期脾还,有能力了,看書入愧、看視頻、看博客就隨你了嗤谚。
現(xiàn)在有很多在線視頻網(wǎng)站都很不錯的棺蛛,推薦兩個:
「慕課網(wǎng)」和「Udacity」,免費的話上慕課網(wǎng)就夠了巩步,如果想自學(xué)能力較差旁赊,那么可以考慮在 Udacity 買套付費課程。
當(dāng)然椅野,如果付費課程都沒能激起你的學(xué)習(xí)興趣终畅,但你又想走編程這條路,那么可以考慮去報個培訓(xùn)班竟闪,但是我不是特別建議离福,互聯(lián)網(wǎng)時代,在線教育足以讓每個人接觸學(xué)習(xí)我們感興趣的行業(yè)炼蛤,付費課程 + 輔助指導(dǎo) + 自學(xué)妖爷,我覺得適合大部分人了。
4. 多敲代碼
編程是一個極度重視實踐的行業(yè)理朋,也許書上的代碼你看得懂絮识,但是你自己親自敲下來一定會遇到各種問題,所以嗽上,初學(xué)者在學(xué)習(xí)的過程中次舌,一定要親自實踐,哪怕你對著書上的代碼一行一行的敲下來兽愤,也比你單純的看有效果的多彼念。
所以,敲代碼一定是伴隨著整個學(xué)習(xí)周期的烹看,從最初的學(xué)習(xí)国拇,到后面入門,再到之后你的提升惯殊,都離不開它酱吝,還是那句話,也許在學(xué)習(xí)的過程中你會遇到一些難題土思,會遇到暫時不了解的代碼务热,沒關(guān)系忆嗜,就悶頭敲下去,只要你能堅持下去崎岂,一些問題在后面都會自然的有答案的捆毫。
5. 堅持下去
編程這事其實真的沒那么難,只不過編程在一開始不會有那么大的反饋冲甘,不像你學(xué)唱歌绩卤,花幾天,就可以唱一首歌了江醇,不像你學(xué)語文濒憋,花個一周,就會說「之乎者也」了陶夜,編程是你可能你花幾個月的時間凛驮,你甚至都覺得自己啥都不會,所以很多人在一開始就放棄了条辟。那么自學(xué)編程成功的無一例外都是堅持下來了黔夭,你得做好少則三個月,多則半年的時間一直持續(xù)學(xué)習(xí)羽嫡,并且這么長時間可能感受不到任何進步的狀態(tài)本姥,但是,一旦你堅持下來了厂僧,當(dāng)然扣草,不只是單純的熬過這個時間,你得堅持每天都要學(xué)習(xí)颜屠,等渡過這個初期階段辰妙,你會很有感覺,后面的路雖說也不好走甫窟,但起碼你沒那么迷茫了密浑,你知道該怎么學(xué)習(xí)了,你會很容易找到方向了粗井。
相比其他行業(yè)來說尔破,編程入門難,做到精更難浇衬。但是對于絕大部分自學(xué)編程人來說懒构,你該優(yōu)先考慮入門,爭取堅持下去耘擂,用三個月到半年的時間胆剧,讓自己渡過這個艱難的入門期。
6. 折騰個作品出來
很多人通過視頻 + 書籍的方式堅持一段時間,掌握了點編程基礎(chǔ)秩霍,覺得自己學(xué)的還可以了篙悯,這個時候你該考慮折騰個作品出來,這是檢驗?zāi)銓W(xué)的理論知識的過程铃绒,這個作品可以很簡單鸽照,可以是一個簡單的博客網(wǎng)站,也可以是做一個小的資訊 App颠悬,還可以是一個小的爬蟲等矮燎,甚至 GitHub 有很多開源的項目,你去仿寫都沒問題赔癌,但是重要的一定要自己親自去做漏峰,而不是對著 copy,相信我届榄,無論你的理論知識掌握的多么扎實,在這個過程你都會遇到各種問題倔喂,哪怕之前你覺得很簡單的東西,但是動起手來可就沒那么容易了。
當(dāng)你花費了很大的功夫鼓寺,親自把作品折騰出來了捶朵,你會有非常大的滿足感與進步感,你的能力有了一個提升悼枢,而且這也算是你的項目經(jīng)驗了埠忘,有一個完整作品,其實才算具備找工作的基本能力了馒索,這時候可以試著找一份初級的開發(fā)崗位莹妒,一旦找到工作,你的自學(xué)之路绰上,基本算是成了旨怠,后面的路,雖然也不容易蜈块,但是你算是熬到了鉴腻。
最后,再給自學(xué)的人建議一點百揭,要善于使用搜索引擎爽哎,你遇到的那點小問題,已經(jīng)有無數(shù)前輩早都遇到器一,并且已經(jīng)分享在互聯(lián)網(wǎng)上了课锌,前人的經(jīng)驗是你的寶貴學(xué)習(xí)資源,也許你一開始使用的是百度盹舞,但是产镐,建議你試著使用 Google隘庄,當(dāng)你學(xué)會使用 Google 的時候,你會接觸另一個世界癣亚。
總之丑掺,我是過來人,我非常清楚自學(xué)編程這條路有多么不易述雾,尤其對于一些非科班的同學(xué)街州。
你要耐得住寂寞,你要比別人更努力玻孟,你要找到適合自己的編程方向唆缴,再到找到一份工作,這過程的艱辛只有過來人才能體會黍翎。但是過來人的經(jīng)驗告訴你們面徽,我自學(xué)編程成功幾乎改變了我的人生軌跡,而且我從未后悔過匣掸。
真心希望每個自學(xué)編程的人都可以找到自己的方向與定位趟紊,祝早日找到工作。
順便在給大家推薦一個架構(gòu)交流群:617434785碰酝,里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring霎匈,MyBatis,Netty源碼分析送爸,高并發(fā)铛嘱、高性能、分布式袭厂、微服務(wù)架構(gòu)的原理墨吓,JVM性能優(yōu)化這些成為架構(gòu)師必備的知識體系。還能領(lǐng)取免費的學(xué)習(xí)資源嵌器。相信對于已經(jīng)工作和遇到技術(shù)瓶頸的碼友肛真,在這個群里會有你需要的內(nèi)容。