程序員升級之路:
lv1:復制粘貼代碼級,號稱it民工,獨立編寫代碼能力較差,代碼冗余,機器執行效率低,bug多,工作可替代性強。
lv2:代碼優化級,能夠深入理解所使用編程語言的內核原理,在硬件和軟件的接口層,優化代碼,提高機器執行效率。編寫的代碼簡潔優雅,bug較少。
比如使用java語言的優化級程序員,能夠掌握理解java運行容器JVM的運行機制,在JVM虛擬機的層面做代碼優化,提高諸如垃圾回收,多線程的執行效率。
lv3:匯編級,全面掌握硬件運行底層原理,能夠熟練使用匯編語言直接控制計算機硬件。由于匯編語言相對復雜枯燥,這個領域的專業人才還是比較稀缺的,在單片機和嵌入式系統的開發中,有很大的發展空間。再加上國家大力發現芯片產業,能夠做到精通的話,還是有很好的前景的。
lv4:架構級,舉個簡單的例子,廟里的和尚只專注于手里的木魚,而殿堂上的羅漢菩薩就是從天入地,包括萬象世界了。不同于編碼的程序員,架構級程序員能夠在程序開發的生命周期內,對整個系統的技術結構進行設計,調整和規范。比如數據庫接口層用什么,采用什么框架,高并發如何控制等等問題,都需要架構師來掌控。
架構師不光要精通編程語言,還要旁通各類技術,是標準的技術大拿,普通程序員只是在架構師的規范下工作而已。如果能成長為架構級程序員,相信已經是公司不可或缺的一部分了。
lv5:行業規范級,這種程序員當屬鳳毛麟角,能夠編寫出解決某一領域編程技術的框架結構,并成為行業領域的主流標準。框架就是一個小的操作系統,能夠為程序員提供豐富的api接口,封裝各類功能函數,大大優化開發過程,比如java領域的spring系列。如果能成為這樣重量級的程序員,稍微一動手指,便能在整個領域掀起巨浪了。
綜上,如果程序員年薪想要達到50萬,在我看來,綜合能力至少要達到架構級水準。