嗨!各位老鐵,其實學程式設計真的很讓人崩潰。
學程式設計現在看起來挺簡單,因為網上有豐富的各種資源。然而當你實際去學的時候就發現,還是很難!
對我來說也一樣。但從某天起,我決定認認真真學程式設計一年。後來又過了一年,又過了一年又一年……我好像有點感悟。
如果你曾致力於學習一些重要的東西,就會知道在漫長的艱難時刻保持自己的積極性是多麼困難。你怎麼做呢?我說下我的經驗:
1. 去開發點真東西不要只一味地跟著教程學。它們有助於對新事物進行概述,但在此之後你必須開發點自己的東西。
你當然可以去開發另一個 To-Do-List(待辦事項列表)的 App,但你想這麼做嗎?你不一定非要做那些別人口中的“入門必做專案”。
開發你自己想要的東西。相信你是一個富有創造力的人。設想一個可以真正幫助你的小專案或 App,或者至少看起來很酷的專案,開發出來,然後把它放在網上,從別人那裡得到一些反饋,修復 bug。幹就完事了。
你可以把它作為一個專案展示給潛在的未來僱主。沒人關心你是否又製作了一個 To-Do_List 的 App,但他們會關心你是否有能力開發一個網站,把抽象而模糊的想法轉變成實際的產品。
跳出思維定式來考慮,你甚至都不用找工作。如果你做得更好些,完全可以自己開發一個 App 或網站,從中收取費用。或者做出一些酷炫的產品,在 Reddit 上傳播。你會成為某方面的專家、找到客戶,成為自由職業者。
再說,在網際網路上展示你努力做出來的東西,本身不就是很棒的一種體驗嗎?
【注】這個觀點我也說過無數遍:等你有了一定基礎之後,一定要找專案去做,從你身邊著眼,想想有沒有能用程式設計解決的問題,然後在解決問題的過程中提升能力。如果你僅僅想找本教程看,你會發現越看問題越多,你不知道書上說這些到底有什麼用。這其實是弄反了因果。
2. 找點工作/專案我學程式設計的最喜歡的方法之一就是讓別人付錢給我學習。如果你願意為此多投入一些努力,你可以在像 UpWork 這樣的平臺上獲得一些小單子,在學習的同時就能賺到一些錢。
你不必是專家,只需要足夠的相關知識就可以完成工作。如果你學會適當推銷自己一下,別人並不會太在意你是否是初學者:你只需要證明你可以完成工作。所以,如果你像我前面告訴你的那樣,做點自己的專案,你就已經有經驗了。
我通過電子郵件聯絡本地商家,幫他們重新設計網站,從而學會了如何開發 WordPress 主題。我從為另一個小企業構建官網首頁中學會了 JavaScript。我通過為一家初創公司製作一些頁面的過程中提升了對 React 的理解。
你沒法做完全超越你技能樹之外的事。但適當地挑戰自己能力的上限,並承擔一個實實在在的專案,你會取得重大進展。
這些專案不會讓你發大財,但真實世界的專案可以給你帶來很有價值的經驗。
【注】這一點是上一點的延續,選定個方向,先做自己的專案,熟悉了之後就去接點正兒八經的專案。國內也有一些平臺,比如豬八戒網,V2EX 上有時也會有人發單,我這邊偶爾也會有,我都會發布在 bbs 的接單區和幾個學習群裡。說實在話,一開始想成功接單並不容易,但你不妨可以嘗試給親戚朋友同事社團等做點義務勞動,幫他們做個網站啥的,機會都是慢慢積累出來的。我自己第一次用 Python 就是同學介紹的網站開發專案。這種有點壓力的狀態絕對比你自己無目的地看書效率高多了。
3. 在 Twitter 上建立聯絡上 Twitter 對我來說是很有幫助的一件事,所有的開發人員都在這兒。你可以關注大票的開發者,獲取靈感、開發有趣的東西,關注業內大牛,了解新的工具和技術。一旦你的首頁時間線充滿了有趣的行業文章以及關於 JavaScript 的談論,那你將會更有動力去堅持學習。轉發一些對你有啟發的文章、分享不錯的程式碼片段,你也會成為開發社群的一員。
當然,不要浪費太多時間。 您可以在這裡了解更多資訊,成為社群一員,但不要分心。
對我來說,一個重要的動力是加入 #100DaysOfCode 的挑戰。規則很簡單:每天至少寫一小時程式碼,並每天釋出帶有進度的推文。你會不想終止連續記錄。#CodeNewbie 是另一個與其他 Twitter 同好者聯絡的好標籤。
這感覺很好,因為你來到了一個社群,裡面都是和你一樣學習程式設計的人。釋出你正在研究的有趣事情,和別人互相關注,詢問他們正在做的事情,結交朋友。如果你加入了這樣的社群,養成寫程式碼的習慣就變得容易許多。很快這就會成為你個人的一部分:你現在就是一名開發者,這就是你每天做的事情。
【注】國內不太能上這個網站……微博其實學習氛圍很淡,但像 V2EX、SegmentFault、OSChina 等社群裡也不乏大量開發者,多去逛逛有好處。在學習社群這件事上,我承認程式設計教室到目前為止做得並不算好,我們曾經建立了很多群,但因為無力管理,最後大多荒廢了。接下來,我會在這點上做些嘗試,可能也會組織類似 100DaysOfCode 的挑戰,爭取能給各位初學者提供一個氛圍良好的社群。
4. 幹就完事了最後,這完全取決於你。你只需要做出承諾並完成它。
要明白,這是個長期的過程。也許你會在 Twitter 上看到關於某人學了 3 個月就找到六位數的工作這種雞湯故事,很勵志吧?而且他還僅僅 18 歲(這種故事裡總是 18 歲)。但這只是特例,不是常態。如果你想通過學習程式設計來改善你的生活,你不該總想著這些快速成功的案例。
如果你想找份工作或開發出殺手級產品,你將不得不努力工作。你看到的所有成功故事都只是結果,而不是那之前漫長而乏味的過程。當你艱難到要放棄的時候,它給你鼓勵,但你不能沉迷於此。相信我,這種情況會不停出現。
不要半途而廢。如果你真的對程式設計沒興趣,那沒辦法。但如果你願意投入時間和精力,以及一點點血、汗和淚,你總能做出點東西。現在就回去繼續學習吧。
原文連結:掘金丨https://juejin.im/post/5be6950d6fb9a049f153b5fb
學習C/C++程式設計知識,想要成為一個更加優秀的程式設計師,或者你學習C/C++的時候有難度,可以關注+私信小編【C/C++程式設計】筆者的C語言C++零基礎程式設計學習圈,裡面不僅有學習視訊和檔案原始碼,還有更多志同道合的朋友,歡迎轉行也學習程式設計的夥伴,和大家一起交流成長會比自己琢磨更快哦!