程式設計師話題—解析別人比你優秀的原因(以及學習規劃線路圖分享)

隨著網際網路時代的飛速發展,越來越多的人投身於軟體開發行業,大家都稱他們為程式員,或者碼農。
這些程式設計師的水平也是參差不齊的,有些人從比較好的學校畢業,水平卻一般般;也有些人從一般搬的學校畢業,但是水平很高,因為他們付出了比其他人更多的努力;也有些人,不管是好學校還是差學校,畢業了都跑去培訓班培訓了,出來的也是良莠不齊的。
今天這篇文章,我們不從這些客觀因素上去分析,就如題,同樣是程式設計師,為什麼別人比你更優秀?我結合自己的一些經歷和經驗,以及從身邊優秀的人身上學習到的經驗,從主觀上去總結幾點,與所有人共勉。
1 . 不要吝嗇投資自己
和朋友一起搓一頓大概人均幾十或者百把塊錢,基本上我們都很隨意,根本不會覺得這很貴或者很浪費。但是每當我們去買書或者去買一些優質的視訊教程的時候,很多人會覺得很貴,甚至不太願意出這個錢。
的確,技術書籍都很貴,動不動就50-100的,我想說的是什麼呢?永遠不要吝嗇給自己投資,我研究生讀的是通訊專業,在學校自學的Java,我看過網上很多的免費視訊教程,免費的教程有兩個特點:一是入門的,二是質量不高的。但是要想真的提升自己,這些入門的教程是不夠的,網上有些收費的教程確實不錯,我讀書那會兒也買過好幾個專案視訊跟著認認真真學習,收穫頗豐。
而且現在也是知識付費時代了,入門資料一大堆,真正能提升自己Level的東西,哪怕花點錢,給自己投資永遠是穩賺的生意。不要在乎那點錢。你和別人的差距,往往真的就是這一兩百、兩三百塊錢給拉開的。因為知識創造的價值要比這幾百塊錢來的更猛。
2 . 站在巨人的肩膀上
我們平時在開發的時候,會遇到一些功能上的東西要實現,當然咯,如果開發經驗豐富,基本知道用什麼技術去實現,但是對於開發經驗不足的朋友來說,首先不要想著自己去造輪子,除非是非常冷門的一些技術,否則絕大多數現在網際網路上都有了較多的解決方案,我們可以用來參考改進。軟體開發,說的詼諧一點,就是 copy+改。因為工作不是學習,它是有deadline的。
還有一點,我們開發一般都會有很多類庫,同一個功能可能有多個類庫都可以實現。就像移動、聯通和電信都可以滿足你通訊的需求一樣,但是你選擇哪一個,就看你自身的需要了。我們在實現某個功能的時候也是,如果能夠選擇一個很好的開源類庫,那麼必將是事半功倍,不管是從效率和穩定性上來說,都比我們自己實現要好得多。所以我們要站在巨人的肩膀上。
3 . 瞭解資料結構和演算法
就像武俠小說裡說的那樣,招式只是形式,要練神功,必須懂心法。資料結構和演算法就是所謂的心法。我不是說要去掌握所有的資料結構和演算法的原理以及實現,這也不太現實,但是那些基本的、經典的我們需要去掌握,甚至可以自己實現。這是內功。
現在好多面試也會問這些東西,特別是針對於應屆生,不管你是本科還是碩士,基本上資料結構和演算法的東西是必問的,如果你還不知道什麼是二叉樹、什麼是快速排序,如果你還不知道什麼是時間複雜度的話,那麼確實要給自己充充電了。
我之前也連載過一些經典的資料結構和演算法,也希望能夠幫助到大家:最常用的經典資料結構和演算法彙總。
4 . 用熟練一款開發工具
我在學校的時候,一直在用 Eclipse 這個編輯器來寫程式碼,基本的操作我也都會了,但是有一點就是 Eclipse 有點卡,而且動不動就卡,一言不合就卡。不過用習慣了,就懶得換了。
工作了後,我同事在用 IDEA,我也用了,兩個一對比也是天壤之別,我就不說開發效率了,無疑是提升了好幾倍,最起碼不卡頓。我就說說使用心情,那也絕對是比 Eclipse 爽的。但是 IDEA 我沒有那麼的熟練,也在繼續使用中。
所以選擇一款好的開發工具很重要,不僅提升開發效率,最重要地,是你的心情好了,心情一好,幹什麼都來勁。
5 . 寫程式碼要規範
也許我一開始自學程式設計的時候,就跟著一些視訊教程的緣故,受到那些大牛的影響,所以一開始我寫程式碼就比較規範。我特別看不慣下面這種程式碼:
Integer index=0;
if(s_user.getNum()==0){
redisUtil.setInfo(s_user,0,-1);
}
這幾行程式碼沒有任何意義,我就是舉個例子而已。如果是我寫,我會寫成下面這樣:
Integer index = 0;
if(null != sUser && 0 == sUser.getNum()){
redisUtil.setInfo(sUser, 0, -1);
}
不管是空格上,還是命名規範上,甚至是空指標異常上,這些都是舉個小例子,我們寫程式碼一定要規範,這也是一個人有沒有一個良好的習慣和態度的體現。最起碼,可能你同事也會看你程式碼,請善待同事,程式設計師何苦難為程式設計師。
6 . 不停地給自己充電
我們不能一直啃老本,幹軟體這一行,技術更新非常快,今年上半年學的技術,估計下半年就有了新的版本,我們要一直不停地給自己充電,不停地學習。哪怕是不停的總結自身不足,也比停滯不前要好,最起碼自己沒閒著。
我們還要有一定的憂患意識,公司每年都會輸入新的年輕血液,有初學者,也有牛逼人物,我們不要讓僱主逼著自己去學習,自己要有主動充電意識,這樣才不會被周圍的人給超越,才不會給後來者給超越。但是這都不是最根本的原因和出發點,最根本地,還是為了提升自己的能力。
下面是筆者整理的學習路線圖,希望能給各位同行帶來一些幫助。
1.架構築基

架構築基
2.高效能架構專題

高效能架構
3.開源框架原始碼解析

原始碼解析
4.團隊協作專題

團隊協作開發
5.微服務架構專題

微服務架構
6.B2C商城專案實戰專題

B2C商城專案實戰
有朋友問,有了路線圖,有沒有 免費資料? 有沒有志同道合的小夥伴共同進步?
以上技術方向我們有自己的高清思維方向導圖以及架構師有自己講解的架構視訊分享(包括高可用,高併發,spring原始碼,mybatis原始碼,JVM,大資料,Netty等多個技術知識的架構視訊資料和各種電子書籍閱讀)視訊資料加入Java進階之路即可獲取:878249276。