給中級程式設計師突破瓶頸的幾個建議,收藏~

程式設計師生態圈發表於2018-11-19

都說IT 行業是一個變化非常快的行業,它需要我們持續去學習新的知識和技能。 但是,工作以後,我們經常會發現自己學習的東西很少了,倒不是沒有時間去學習, 而是學習的效率太低了。久而久之,就演變成一年的工作經驗,重複用十年。

當然,有些人會說自己經常加班,沒有時間學習,這只是表象,時間擠擠總是有的。 你想想你為了上王者,浪費了多少時間?為了刷今日頭條,又消磨了多少光陰?

也有人會說說自己要利用碎片化的學習方式來管理時間,可現實狀態大多數都是下面這樣:

1:天天熬夜打王者和LOL,睡眠嚴重不足

實踐證明,睡眠不足,啥事也幹不成,只想睡覺。有人會說我晚上不到那個點睡不著,我這裡有一招。 拿著一本 Kindle,挑一本英文書,躺在床上看,半小時保管睡著。雖然說看書的效果不一定佳,但是催眠也是極好的。

2:看幾分鐘書,敲幾行程式碼就開始刷知乎和朋友圈

做事情不專注,注意力不能集中,這也是學習的大忌。可以利用番茄工作法,給自己一段時間專注於某件事情,這樣可以極大地提高 自己的工作效率。

3:“無意識”的拖延

這個問題最大,也是影響N多人不去學習的理由。解決的辦法只有一個,馬上去做!一旦你開始去做了,你的大腦就不會排斥了。 你的計劃再完美,你選的書籍再經典,你挑的視訊水平再高,如果你不馬上去看,去學,去動手實踐,那永遠也只是停留在空想的階段。 

成功學習的典範就是成功戰勝拖延症的典範。

4:學習任何東西,只停留在編寫「Hello World」的水平

這個是什麼意思呢?不是說你真的只會寫「Hello World」,而是說要跳出自己的舒適區,去嘗試一些自己不瞭解的領域,去做一些超過自己能力範圍的事情 

5:作中遇到模糊的問題不搞清楚,停留在面向 Google 程式設計

遇到問題,不假思索「百度」和「Google」,雖然現在80%的問題都可以找到解決方案,但是這樣做對於自己並無多大益處。 找到解決方案之後,還要花幾分鐘時間探尋問題根源。可以查詢背景資料,以便自己下次遇到同型別的問題時可以舉一反三。

6:很少看書,所有問題的解決方案都從論壇,Q群和Google中來

認為看書效率太低,而且收益也不高,看書需要大量的時間,而且看完感覺也沒太大的用,不如直接Google和Q群來得容易。 如果你真的這樣想過,我只想說「小夥子,你思想很危險!」

這裡給大家推薦一些建議,大家自行甄別(文末分享一些自學資料)

1:勞逸結合

不要熬夜打王者和LOL,多參加體育鍛煉,多去戶外走走,運動能夠增強人的記憶力,並且有時候還能產生靈感。 如果身體不好,比如頸椎不好,下了班你就只想葛優躺了,因為你的本能告訴你,我不能再寫程式碼了,會掛的。。。

想要成為大神,身體好是前提條件。有人30歲成為大神,我資質不好,我35歲成為大神總可以吧。 切莫在30歲的時候就把身體弄跨了,然後35歲轉行了,永遠失去了成長為大神的機會。

2:對於自己想要學習的內容,制訂一下計劃,有節奏地學習

我是一個非常愛學習的人,但是有時候還是感覺學習不夠高效。經常會由於一些突發情況把原本的學習計劃打亂,導致學習效果打折扣。 因為學習一個東西最怕三天打漁,如果能夠持續地學習一個東西,我可以把它學習地很好。

這時候,我就得結合我自身的情況,選擇一段最佳的 學習時間,在這段學習時間裡我可以不被打擾,保持高度專注。

比如每天早上6.30起床看一個小時書。

3:多做練習,多寫程式碼,從錯誤中學習

看技術書籍要多寫書中的程式碼,在初學階段哪怕對著書本敲也沒有什麼問題。認真完成書中留的習題,在自己沒有盡最大努力的情況下面不要去看答案。 不要怕犯錯,每一次犯錯都是自己進步的機會。不斷地測試自己是最好的學習方法,不管是「刻意練習」還是「10000小時定律」,都要求我們通過不斷地 實踐來鞏固我們的所學,從而讓自己成為大師。

4: 與其反覆閱讀,不如經常回顧

與其一遍又一遍地閱讀重複的書籍,編寫同樣的「Hello World」,不如有意識地總結回顧看過的書,學過的知識。 只需要每晚趟在床上的時候,回想一下今天都學到了什麼?今天自己有進步一點點嗎?

5:多總結問題的解決方案,多寫可複用的程式碼,拒絕複製貼上

每天把工作中遇到問題的解決方案總結一下,想想為什麼要這麼做,是什麼導致了這個BUG,導致BUG的根本原因是什麼。 是自己的邏輯混亂,粗心大意,還是程式框架太複雜?做需求的時候,要儘量避免複製貼上,不要讓程式碼裡面有重複程式碼。

 Don’t Repeat Yourself! Don’t Repeat Yourself! Don’t Repeat Yourself! 「重要的事情說三遍!」

6: 嘗試使用不同的方式來解決一個問題

在遇到一個沒有顯而易見解決方案的問題時,你可能費了好大功夫想出一個方案,但是千萬要記得,該方案不一定是最優的, 而且很大可能還存在一個更佳的方法。而這個方法只需要你退後一步,換個思路,或者與同事討論一下就可以得出。 這也是我為什麼非常喜歡別人 Review 我的程式碼的原因,因為別人能看到我程式碼中存在的不足。另外,有些時候,對現有的方案做一些 「微創新」也能使原本普通的方案變得不普通。

另外,習慣了物件導向,何不嚐嚐函數語言程式設計?每年學習一門新的不同正規化的程式語言,可以極大地開拓你的眼界,給你一些不一樣的解題思路。:

7: 向別人解釋你的知識,多與人討論

多寫部落格,多分享自己的所學所思,這些對於學習者自身也是非常有益的。通過用別人能夠理解的語言來解釋你學到的東西, 本身就要求你對該知識充分理解。另外,很多人經常感嘆「跟你討論一下,我馬上變得有思路了」,這其實就是交流的作用。

8: 找到自己的短板並補足自己的短板

發現並找到自己的不足相對來說是比較容易的,但是要補齊短板就非常不易了。 因為人總是有畏難思想的,拖延症是怎麼來的,就是你的大腦出於本能去做一些讓自己分泌更多多巴胺的事情。 如果自己英語不好,就要下決心把英語攻克。如果自己技術不行,就要下死力氣掌握技術。補齊短板就像渡劫,越早渡劫,越快升仙。

最後分享大家一些自學資源:

資源主要包括Java 工程化、高效能及分散式、併發程式設計、深入淺出。效能調優、Spring,MyBatis,Netty 原始碼分析等視訊及文件 ,也有詳細的Java進階路線腦圖,可以分享給大家

 

歡迎加入開源技術交流社群,群號:236283328  進行交流~

現在我們應該趁著年輕應該抓緊提升

要明白,將來所謂的“鐵飯碗”和“穩定”只會越來越少!

相關文章