5 年時間,從編程零基礎到企業(yè)開發(fā)人員!我是如何學習編程的?
前不久,有位朋友問我是如何學習編程的,我學習編程五年,也走了很多的彎路,參加過培訓機構(gòu)的專業(yè)培訓,也在自己不斷持續(xù)學習中。我自認為并沒有太大的天分,目前還是靠著自己的努力來應對工作。那關于學習編程這件事情,有沒有學習套路呢?我認為還是有的。

如果上過大學的話,計算機基礎課程基本上都學過。如果說現(xiàn)在一點兒都不記得,也沒關系,至少有印象吧?如果說真一點基礎都沒有,推薦先去補一補計算機基礎課學習,然后再來討論如何學習編程。
你的目標是什么?
在學習之前,一定要搞清楚你的目標是什么。我們在采取行動之前,一定要先問問自己‘我為什么要做這件事情’?并且寫下來。
只有想清楚做一件事情的目的時,才能有的放矢,才能找到驅(qū)動力。學習的過程當中,驅(qū)動力>約束力。我覺得《小強升職記》中,關于驅(qū)動力的描述挺好的:“?打開一扇從里面鎖住的門時,用約束力從外面猛砸時也管用,但不如用驅(qū)動力從里面打開那樣優(yōu)雅、有效,力量來自于你的內(nèi)心”。
另外,編程語言都有各自適用的場景。根據(jù)自己的需求,去選擇性學習,而不要上來就沒有目的性的去學習編程語言。

先做
我的工作就是編程,參與開發(fā)企業(yè)級項目。剛開始入職時,先跟高手學,照貓畫虎,實現(xiàn)交代給自己的功能。這時候,類似于用組件搭積木。
自己再花時間思考背后的原理,搞不懂的,先整理出問題列表,然后逐個擊破,方法如下:
(1)自己Google/百度,一般問題大概率都能得到解決
(2)讀書,從書中尋找線索。這樣做效率不高
(3)向高手請教。找身邊或社區(qū)的高手,最好帶著自己非常明確通過自己的努力無法解決的問題。如果能解決,就最好自己解決
(4)先做項目或者通過demo,對你所要學的編程領域有一個整體的感知。這個過程,你可能無法建立起一個有體系的知識框架

成體系學習
接下來,就可以去買課學習,跟著老師們的思路,系統(tǒng)學習,摸清楚你所學技術(shù)領域的發(fā)展趨勢和核心知識主干。學習過程中,把之前積累的經(jīng)驗補充到枝干上。
Tips?:前期,不要一上來就想著去學網(wǎng)絡協(xié)議啊、算法啊、讀框架底層核心源碼這種東西,難度高,易勸退。
讓做 - 學 - 輸出分享的增長飛輪轉(zhuǎn)起來
無論是從課程中還是從書本上學習到的知識,一定要動手去實踐;比如,學Linux相關的知識,那你得動手搭建個框架試試,然后剖析其中的核心內(nèi)容;剖析完了之后不算完,可以把學習心得總結(jié)出來分享給更多的人,不斷完善自己的技能樹。
除了買課,此時可以去翻翻那些大部頭的經(jīng)典書籍,去瀏覽一下那些改變世界的程序員們的blog了,通過努力,一點點推開了新世界的大門。

無論你是工作需要、學術(shù)研究或者興趣愛好選擇了編程,先沉下心,思考一下編程能解決你的什么問題?然后嘗試去做,做的過程中再去學,以此往復。
做的過程中,一般的軟件都可以逐步迭代,先實現(xiàn)小功能,獲得成就感,再追求完美。
Done is better than perfect。
最后,大家如果有不錯的學習方法,可以在留言區(qū)分享,我們一起討論,共同進步。
如果你想更好的提升你的編程能力,進入到百度騰訊等大廠工作,好好學習C/C++編程知識成為高薪軟件開發(fā)工程師的話!那么你很幸運~

UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)
歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍:

編程學習視頻:
