普通程序員常說:“這個(gè)簡單,幾天我就寫出來?!?/p>
頂尖程序員常說:“這個(gè)我以前寫過一個(gè)模塊,我找找,很快?!昂喼笔菦]有對比就沒有傷害!
有人認(rèn)為,普通程序員用復(fù)雜的代碼解決簡單的問題;而高級程序員能把復(fù)雜的問題簡單化并用簡潔的代碼去實(shí)現(xiàn)。在w3cschool看來,頂尖程序員和普通程序員至少在以下6個(gè)方面大有區(qū)別。
1、文檔能力
“文檔是第一生產(chǎn)力”,這一點(diǎn)在程序員的世界是毫無異議的??纯碨pring,hibernate,Struts等最流行的開源軟件的文檔就知道,他們tutorial,他們的getstarted,他們的reference文檔寫的多么的易懂。
如果要獲得更高的報(bào)酬,文檔是絕對關(guān)鍵的因素。有文檔就有溝通,就有交易。搞技術(shù)的容易忽視文檔的力量,也因?yàn)閷懳臋n十分困難,更多程序員選擇舒適區(qū),習(xí)慣寫下代碼,但正因?yàn)槿绱?,妨礙了不少程序員的進(jìn)階。
2、解決BUG的效率差別
普通程序員可以利用搜索引擎(百度)尋找答案,經(jīng)常性找不到好的解決辦法,然后更換技術(shù)方案!頂級程序員也利用搜索引擎(Google)尋找答案,一般bug都順利解決(其實(shí)跟前期框架選擇等關(guān)系非常大)。
3、表達(dá)能力
表達(dá)能力決定了你所做的技術(shù)的影響范圍,決定了你的影響力,決定你的威信,決定了你的報(bào)酬。普通程序員和頂尖程序員的表達(dá)能力差別非常大,這主要還是取決于他們格局的不同。良好的溝通能力讓你理解產(chǎn)品經(jīng)理的設(shè)計(jì)思路,讓你更好的展現(xiàn)自己的特長。
對于累積人脈,當(dāng)你的閱歷越來越豐富,人脈對你的幫助也越來越明顯。
4、優(yōu)雅和美觀的抽象能力
普通程序員和頂尖程序員之間的區(qū)別在于優(yōu)雅和美觀的抽象能力。好的系統(tǒng)通常是要做到兩個(gè)方面才合格,其一是好用,其二是好看。但是令人遺憾的是,普通程序員僅僅從實(shí)現(xiàn)的角度進(jìn)行堆砌。頂尖程序員往往能夠更進(jìn)一步,經(jīng)常會(huì)去思考用戶在操作這個(gè)功能的時(shí)候,到底還會(huì)做什么事情。
所以,w3cschool小編認(rèn)為,頂尖程序員和普通程序員區(qū)別就是是否擁有用戶意識,是否敢于直面用戶。好用,好看一直是軟件能夠被普遍采用的前提,因此,我們有必要學(xué)會(huì)抽象優(yōu)雅。
5、面對如何開源社區(qū)態(tài)度
普通程序員幾乎沒有在開源社區(qū)混,這也導(dǎo)致經(jīng)常對新技術(shù)發(fā)展關(guān)注度低。而頂尖程序員則是擁抱開源社區(qū)。
6、面對功能點(diǎn)
普通程序員:立馬開始構(gòu)思自己如何實(shí)現(xiàn)腦海里出來一個(gè)方案。
頂尖程序員:發(fā)現(xiàn)功能點(diǎn)很普通github上面早已經(jīng)有非常多的解決方案,著手根據(jù)業(yè)務(wù)選擇一個(gè)最適合最優(yōu)的方案。
看了這些區(qū)別之后,你認(rèn)為你是什么樣的程序員呢?