普通程式設計師與高級程式設計師有什麼差別?你知道嗎?

世界上,程序員界的大神很多,諸如Margaret Hamilton(阿波羅計劃飛行控制軟件的幕後英雄)、Donald Knuth(《計算機編程藝術》的作者)、Ken Thompson(Unix 締造者)等等,當你去了解他們的經歷時,你會發現他們能夠達到這種登峰造極的境界,無非是天賦加上努力。

要成為一個工程師,首先要有一顆渴望成為工程師的心,因為我們根本不能奢望一個從沒想過成為工程師的人成為一個有實際工程能力的人!

普通程序員與高級程序員有什麼差別?你知道嗎?

程序員的基本能力是:Tasking和學習能力。

當好程序員的能力是:用更好的方法來實現功能。

普通程序員與高級程序員有什麼差別?你知道嗎?

0.文檔能力

文檔是第一生產力”,這一點在程序員的世界是毫無異議的。俗話說:“不會寫文檔的程序員不是一個好程序員”。

雖然一個程序員寫的最多的是代碼,並且幾乎很少有程序員是心甘情願的寫文檔,但是一個優秀的程序員必須具備一定的寫文檔能力,當然,這個文檔不是說就是Word。比如:Markdown。

如果你做的工作現在需要分派給其他人,你有了新的安排,你Handover你的工作的時候,如果你有良好的文檔習慣,那接手工作的人能夠很容易的上手,不然,他看不懂文檔,會來反覆的打擾你。

當然,如果你想要獲得更高的報酬,文檔是絕對關鍵的因素。有文檔就有溝通,就有交易。搞技術的容易忽視文檔的力量,也因為寫文檔十分困難,更多程序員選擇舒適區,習慣寫下代碼,但正因為如此,妨礙了不少程序員的進階。

普通程序員與高級程序員有什麼差別?你知道嗎?

1.精通代碼調試(debug)

很多人在寫代碼的過程中,經常會有的一個問題就是:為什麼我寫出來的代碼不能運行?為什麼運行的結果不是我想要的?

幾乎所有的程序員寫代碼都不是一遍就能寫好的。但是優秀的程序員非常快的就明白自己代碼的問題可能是什麼,這是一個很重要的能力。

普通程序員與高級程序員有什麼差別?你知道嗎?

2.溝通的能力

溝通能力決定了你所做的技術的影響範圍,決定了你的影響力,決定你的威信,決定了你的報酬。普通程序員和優秀的程序員間溝通能力差別非常的大,這主要還是取決於他們格局的不同。良好的溝通能力讓你理解產品經理的設計思路,更好地溝通是能把自己的好想法推廣出去。

普通程序員與高級程序員有什麼差別?你知道嗎?

3.優雅和美觀的抽象能力

普通程序員和頂尖程序員之間的區別在於優雅和美觀的抽象能力。好的系統通常是要做到兩個方面才合格,其一是好用,其二是好看。但令人遺憾的是,普通程序員僅僅從實現的角度進行堆砌。優秀的程序員往往能夠更進一步,經常會去思考用戶在操作這個功能的時候,到底還會做什麼事情。

普通程序員與高級程序員有什麼差別?你知道嗎?

4.積極向上的心態

技術好的人,一般人都壞不到哪去。很簡單的一句話,想要技術好,就要投入時間,有時間投入到技術,那麼就沒有時間投入到其它方面,特別是消極的坑蒙拐騙,因此,技術人員一般也都比較靠譜。

積極的心態,不僅僅對於技術,對於生活也是如此。一旦有了積極的心態,那麼菜鳥到高手的過程,僅僅是時間的問題!

普通程序員與高級程序員有什麼差別?你知道嗎?

5.勇於去研究新的領域

很多人都不願意去研究自己不曾接觸過的代碼,這裡面大部分的人連嘗試都沒有,就選擇了放棄。如果你經常去研究你沒有接觸過的代碼,你就會越來越熟悉不同的代碼結構和設計模式。現在人們很容易就接觸到優秀的開源代碼資源,比如GitHub,這樣你可以很方便的就下載一些代碼,並在裡面做一些修改或者調試,然後去研究這些代碼為什麼這麼寫。

分享 IT 技術和行業經驗,請關注- 。


分享到:


相關文章: