編程新手學(xué)編程:應(yīng)該如何保持學(xué)習(xí)編程的動力?大牛都是這樣做的!
嗨!各位老鐵,其實(shí)學(xué)編程真的很讓人崩潰。
學(xué)編程現(xiàn)在看起來挺簡單,因?yàn)榫W(wǎng)上有豐富的各種資源。然而當(dāng)你實(shí)際去學(xué)的時候就發(fā)現(xiàn),還是很難!
對我來說也一樣。但從某天起,我決定認(rèn)認(rèn)真真學(xué)編程一年。后來又過了一年,又過了一年又一年……我好像有點(diǎn)感悟。
如果你曾致力于學(xué)習(xí)一些重要的東西,就會知道在漫長的艱難時刻保持自己的積極性是多么困難。你怎么做呢?我說下我的經(jīng)驗(yàn):

1. 去開發(fā)點(diǎn)真東西
不要只一味地跟著教程學(xué)。它們有助于對新事物進(jìn)行概述,但在此之后你必須開發(fā)點(diǎn)自己的東西。
你當(dāng)然可以去開發(fā)另一個 To-Do-List(待辦事項(xiàng)列表)的 App,但你想這么做嗎?你不一定非要做那些別人口中的“入門必做項(xiàng)目”。
開發(fā)你自己想要的東西。相信你是一個富有創(chuàng)造力的人。設(shè)想一個可以真正幫助你的小項(xiàng)目或 App,或者至少看起來很酷的項(xiàng)目,開發(fā)出來,然后把它放在網(wǎng)上,從別人那里得到一些反饋,修復(fù) bug。干就完事了。
你可以把它作為一個項(xiàng)目展示給潛在的未來雇主。沒人關(guān)心你是否又制作了一個 To-Do_List 的 App,但他們會關(guān)心你是否有能力開發(fā)一個網(wǎng)站,把抽象而模糊的想法轉(zhuǎn)變成實(shí)際的產(chǎn)品。
跳出思維定式來考慮,你甚至都不用找工作。如果你做得更好些,完全可以自己開發(fā)一個 App 或網(wǎng)站,從中收取費(fèi)用?;蛘咦龀鲆恍┛犰诺漠a(chǎn)品,在 Reddit 上傳播。你會成為某方面的專家、找到客戶,成為自由職業(yè)者。
再說,在互聯(lián)網(wǎng)上展示你努力做出來的東西,本身不就是很棒的一種體驗(yàn)嗎?
【注】這個觀點(diǎn)我也說過無數(shù)遍:等你有了一定基礎(chǔ)之后,一定要找項(xiàng)目去做,從你身邊著眼,想想有沒有能用編程解決的問題,然后在解決問題的過程中提升能力。如果你僅僅想找本教程看,你會發(fā)現(xiàn)越看問題越多,你不知道書上說這些到底有什么用。這其實(shí)是弄反了因果。

2. 找點(diǎn)工作/項(xiàng)目
我學(xué)編程的最喜歡的方法之一就是讓別人付錢給我學(xué)習(xí)。如果你愿意為此多投入一些努力,你可以在像 UpWork 這樣的平臺上獲得一些小單子,在學(xué)習(xí)的同時就能賺到一些錢。
你不必是專家,只需要足夠的相關(guān)知識就可以完成工作。如果你學(xué)會適當(dāng)推銷自己一下,別人并不會太在意你是否是初學(xué)者:你只需要證明你可以完成工作。所以,如果你像我前面告訴你的那樣,做點(diǎn)自己的項(xiàng)目,你就已經(jīng)有經(jīng)驗(yàn)了。
我通過電子郵件聯(lián)系本地商家,幫他們重新設(shè)計網(wǎng)站,從而學(xué)會了如何開發(fā) WordPress 主題。我從為另一個小企業(yè)構(gòu)建官網(wǎng)首頁中學(xué)會了 JavaScript。我通過為一家初創(chuàng)公司制作一些頁面的過程中提升了對 React 的理解。
你沒法做完全超越你技能樹之外的事。但適當(dāng)?shù)靥魬?zhàn)自己能力的上限,并承擔(dān)一個實(shí)實(shí)在在的項(xiàng)目,你會取得重大進(jìn)展。
這些項(xiàng)目不會讓你發(fā)大財,但真實(shí)世界的項(xiàng)目可以給你帶來很有價值的經(jīng)驗(yàn)。
【注】這一點(diǎn)是上一點(diǎn)的延續(xù),選定個方向,先做自己的項(xiàng)目,熟悉了之后就去接點(diǎn)正兒八經(jīng)的項(xiàng)目。國內(nèi)也有一些平臺,比如豬八戒網(wǎng),V2EX 上有時也會有人發(fā)單,我這邊偶爾也會有,我都會發(fā)布在 bbs 的接單區(qū)和幾個學(xué)習(xí)群里。說實(shí)在話,一開始想成功接單并不容易,但你不妨可以嘗試給親戚朋友同事社團(tuán)等做點(diǎn)義務(wù)勞動,幫他們做個網(wǎng)站啥的,機(jī)會都是慢慢積累出來的。我自己第一次用 Python 就是同學(xué)介紹的網(wǎng)站開發(fā)項(xiàng)目。這種有點(diǎn)壓力的狀態(tài)絕對比你自己無目的地看書效率高多了。

3. 在 Twitter 上建立聯(lián)系
上 Twitter 對我來說是很有幫助的一件事,所有的開發(fā)人員都在這兒。你可以關(guān)注大票的開發(fā)者,獲取靈感、開發(fā)有趣的東西,關(guān)注業(yè)內(nèi)大牛,了解新的工具和技術(shù)。一旦你的首頁時間線充滿了有趣的行業(yè)文章以及關(guān)于 JavaScript 的談?wù)摚悄銓袆恿θ猿謱W(xué)習(xí)。轉(zhuǎn)發(fā)一些對你有啟發(fā)的文章、分享不錯的代碼片段,你也會成為開發(fā)社區(qū)的一員。
當(dāng)然,不要浪費(fèi)太多時間。 您可以在這里了解更多信息,成為社區(qū)一員,但不要分心。
對我來說,一個重要的動力是加入 #100DaysOfCode 的挑戰(zhàn)。規(guī)則很簡單:每天至少寫一小時代碼,并每天發(fā)布帶有進(jìn)度的推文。你會不想終止連續(xù)記錄。#CodeNewbie 是另一個與其他 Twitter 同好者聯(lián)系的好標(biāo)簽。
這感覺很好,因?yàn)槟銇淼搅艘粋€社區(qū),里面都是和你一樣學(xué)習(xí)編程的人。發(fā)布你正在研究的有趣事情,和別人互相關(guān)注,詢問他們正在做的事情,結(jié)交朋友。如果你加入了這樣的社群,養(yǎng)成寫代碼的習(xí)慣就變得容易許多。很快這就會成為你個人的一部分:你現(xiàn)在就是一名開發(fā)者,這就是你每天做的事情。
【注】國內(nèi)不太能上這個網(wǎng)站……微博其實(shí)學(xué)習(xí)氛圍很淡,但像 V2EX、SegmentFault、OSChina 等社區(qū)里也不乏大量開發(fā)者,多去逛逛有好處。在學(xué)習(xí)社區(qū)這件事上,我承認(rèn)編程教室到目前為止做得并不算好,我們曾經(jīng)建立了很多群,但因?yàn)闊o力管理,最后大多荒廢了。接下來,我會在這點(diǎn)上做些嘗試,可能也會組織類似 100DaysOfCode 的挑戰(zhàn),爭取能給各位初學(xué)者提供一個氛圍良好的社群。

4. 干就完事了
最后,這完全取決于你。你只需要做出承諾并完成它。
要明白,這是個長期的過程。也許你會在 Twitter 上看到關(guān)于某人學(xué)了 3 個月就找到六位數(shù)的工作這種雞湯故事,很勵志吧?而且他還僅僅 18 歲(這種故事里總是 18 歲)。但這只是特例,不是常態(tài)。如果你想通過學(xué)習(xí)編程來改善你的生活,你不該總想著這些快速成功的案例。
如果你想找份工作或開發(fā)出殺手級產(chǎn)品,你將不得不努力工作。你看到的所有成功故事都只是結(jié)果,而不是那之前漫長而乏味的過程。當(dāng)你艱難到要放棄的時候,它給你鼓勵,但你不能沉迷于此。相信我,這種情況會不停出現(xiàn)。
不要半途而廢。如果你真的對編程沒興趣,那沒辦法。但如果你愿意投入時間和精力,以及一點(diǎn)點(diǎn)血、汗和淚,你總能做出點(diǎn)東西。現(xiàn)在就回去繼續(xù)學(xué)習(xí)吧。
作者:Crossin先生
原文鏈接:掘金丨h(huán)ttps://juejin.im/post/5be6950d6fb9a049f153b5fb

學(xué)習(xí)C/C++編程知識,提升C/C++編程能力,歡迎關(guān)注UP一起來成長!
另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~