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