作為一個過來人,給你一些編程學習和工作上的經驗吧,希望對后來的同學有幫助,這幾大能力是一個程序員最核心的競爭力:
1、極強裸編程能力
對于程序員而言,編程能力就是安身立命的最基礎的技能!編程本質上是做翻譯,將業務需求翻譯成機器能懂的語言。多看書、多編碼,精通面向對象和設計模式是高效編程的基礎。
初級工程師應該多寫代碼、多看代碼。
找高手做Code Review,也是提升編程水平的捷徑。
2、有【造輪子的能力】和【不造輪子的覺悟】。
面對功能需求,怎么才能最快的實現?
普通程序員:立馬開始構思自己如何實現腦海里出來一個方案。
頂尖程序員:發現功能點很普通github上面早已經有非常多的解決方案,著手根據業務選擇一個最適合最優的方案。
強悍的數據結構+算法能力。
數據結構與算法,一定是程序員最核心的競爭力,在這里也送大家一本幫助我拿到BAT 等一線大廠 offer 的算法筆記,是一位阿里大神寫的,對于算法薄弱或者需要提高的同學都十分受用,算法一定是計算機學習的重中之重。
3、文檔能力
“文檔是第一生產力”,這一點在程序員的世界是毫無異議的。看看Spring,hibernate,Struts等最流行的開源軟件的文檔就知道,他們tutorial,他們的getstarted,他們的reference文檔寫的多么的易懂。
搞技術的容易忽視文檔的力量,也因為寫文檔十分困難,更多程序員選擇舒適區,習慣寫下代碼,但正因為如此,妨礙了不少程序員的進階。
4、解決BUG的效率差別
一般程序員利用搜索引擎(百度)尋找答案,經常找不到解決方案,然后更換技術方案!
頂級程序員也利用搜索引擎(google)、StackOverflow等尋找答案,一般bug都順利解決(其實跟前期框架選擇等關系非常大)。
5、持續學習、興趣是最好的老師!
這不是一句空話,一個不真正喜歡編程,業余時間從來不編碼的人不太可能成為真正的大佬,頂多是一項謀生的技能。
6、強大系統的CS基礎知識
頂尖的程序員,在內存、OS、網絡、linux等方面都是十分系統的,這樣在遇到Bug的時候,才能進行全鏈路的分析!
7、膠水能力
"膠水"能力其實就是一個人編程素養的綜合體現。一個合格的工程師應該是用最低的資源實現最大的效益,而不是拿到需求就想從頭造輪子。
8、調試Debug能力
程序員都自嘲,寫代碼是寫Bug,調試能力也是工程師編程能力提升的關鍵手段。很早之前有個傳說:“調試能力有多強,編程能力就有多強。”不過現在很多編輯器的功能很強大,調試能力的門檻已經大大降低。
調試能力是項目能否按時、高質量提交的關鍵。即使一個稍具復雜度的項目,大部分工程師也無法一次性準確無誤的完成。大項目都是通過不斷地調試進行優化和糾錯的。所以調試能力是不可或缺的能力。
多寫程序,解決Bug,多請教高手是提升調試能力的重要手段。
10、單元測試的能力
Unit Testing won’t help you write good code
其實,Unit Test 的主要目的是,為了防止你不會因為一個改動而引入 Bug。
11、面向搜索引擎編程的能力
這不是說要讓大家寫代碼都去網上copy,而是遇到一個不會的知識點的時候,如何快速搜索獲取到有用信息,并拿出適合項目的解決方案。
12、項目管理能力
以終為始、確定里程碑。為了達成目標,所有的計劃必須以終為始來制定。將大項目分解成幾個小階段,控制每個階段的里程碑可以大大降低項目失敗的風險。
13、表達與溝通能力
程序員大多喜歡和機器打交道,相對來說表達能力弱一些,但是頂尖程序員的表達能力一定是很強的,需要良好的溝通才能和產品、其它程序員快速對齊方案。
覺得有用滴話,請點個贊喲,筆芯~






