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