從工作的方面來說,普通程序員和高級程序員一般有下面幾個(gè)區(qū)別:
普通程序員
1、知識體系零散,沒有系統(tǒng)性的思維,在寫代碼、改bug的時(shí)候沒有工程素養(yǎng),往往是拆了東墻補(bǔ)西墻。
其實(shí)在面對一個(gè)未知的問題時(shí),如何定位復(fù)雜條件下的核心問題、如何抽絲剝繭地分析問題的潛在原因、如何排除干擾還原一個(gè)最小的可驗(yàn)證場景、如何抓住關(guān)鍵數(shù)據(jù)驗(yàn)證自己的猜測與實(shí)驗(yàn),都是體現(xiàn)程序員思考力的最好場景。
2、對某種語言的依賴性太強(qiáng),知識無法很好的遷移,一旦換了語言,或者領(lǐng)域不同就會不知所措。
程序員是一個(gè)非常殘忍的職業(yè)。你所學(xué)所用的語言、框架、模式,很可能在數(shù)年內(nèi)就成昨日黃花了;你現(xiàn)在嘲笑的另一群程序員,可能馬上就能轉(zhuǎn)身來嘲笑你了。
3、經(jīng)驗(yàn)不足卻自認(rèn)為自己經(jīng)驗(yàn)豐富,只對自己做過的比較順手,但是碰到未知的問題,就束手無策。
4、毫無必要的拖延,這是很多程序員的通病。
5、心猿意馬。
見過太多心猿意馬的程序員,不得不把“專注眼下”專門提出來。
他們往往有各式各樣的小夢想,比如做個(gè)小茶農(nóng)、做個(gè)小鵝販、做產(chǎn)品、做銷售、做投資,卻被程序員的高薪或是沒有轉(zhuǎn)行的魄力“耽誤”了,而因?yàn)椴粚W?,他們不在意做好自己的本分,不在意錘煉自己的技能,不在意學(xué)習(xí)新興的技術(shù)。
高級程序員
1、知識體系完整,有系統(tǒng)性的思維,即使沒有到架構(gòu)師的級別,在寫代碼和改bug的時(shí)候也能從整體上去思考和把握。
2、學(xué)習(xí)能力強(qiáng)有了自己的心智模型,知識可以自由遷移,并可以高效地切入不同的領(lǐng)域和語言。
3、擁有真正的經(jīng)驗(yàn),不只是做夠那些項(xiàng)目,而是面向未知的解決問題的能力。
而高級程序員更擅長抓住問題的本質(zhì),將看似復(fù)雜的需求化繁為簡為一系列簡單邏輯的堆疊,寫代碼步步為營,邏輯簡單清晰,所有條件分支都被仔細(xì)覆蓋,磨刀不誤砍柴工。
如何從普通程序員進(jìn)階到高級程序員?
1、提高代碼優(yōu)化的能力
打鐵還需自身硬,“代碼可運(yùn)行”對一個(gè)優(yōu)秀的程序員來說絕不是結(jié)束,而是開始。優(yōu)秀的程序員一定熟知各種算法和數(shù)據(jù)結(jié)構(gòu),會靈活運(yùn)用,致力于寫出更簡單、效率更高的程序。
2、先考慮、多思考
編程思路,是系統(tǒng)的計(jì)劃和設(shè)想,是程序員寫程序時(shí)的條理和線索,可以思考但不要長時(shí)間延時(shí)性的思考。
3、突破程序員思維只有突破程序員思維,才不會淪為碼農(nóng)!
4、時(shí)間管理,很多人都沒有時(shí)間管理意識,覺得時(shí)間最不值錢。
這就像是你到了一個(gè)十字路口,也不管自己想去哪里,抬腳就努力地奔跑,一路上被自己的努力所感動,但你跑的方向是北邊,而你內(nèi)心真實(shí)想去的方向是南邊,方向跑偏了,始終到不了目的地,能不迷茫嗎?
5、拓展知識的深度和廣度
大家可以多看看 BAT 的招聘要求,看看自己還有哪些方面根本沒接觸過。建議大家多關(guān)注熱點(diǎn)和優(yōu)秀的開源項(xiàng)目、找到自己的興趣點(diǎn)就多花點(diǎn)時(shí)間去學(xué)習(xí)研究,知識的廣度很大程度上會影響開發(fā)人員的職業(yè)發(fā)展。
-
程序員
+關(guān)注
關(guān)注
4文章
946瀏覽量
29732
發(fā)布評論請先 登錄
相關(guān)推薦
評論