大多數人印象中,程序員的薪水都是很高的,但實際情況是有差別的,要看程序處于那個階段,那么java工程師都分為哪些階段呢?
第1階段,剛接觸編程,編寫出的第1個程序應該都是hello world這種;
第2階段,開始了解Java的基本語法,面向對象io、網絡編程,這個時候可以做一個QQ聊天系統,單機小游戲等等,
第3階段,開始發現C/S不再是主流,B/S才有市場,學會web前端也會使用一些框架,Spring mvc, Mybatis等等,以及數據庫,部署服務器,這個階段才開始步入正軌,可以進行項目的開發了,這也算正式入坑了,到了這個階段會去了解原理,不再是只會用,還要懂為什么,比如JVM內存分配,類的加載順序,Spring IOC的原理等等,這個階段是最難的,等熬過去以后,就不會再去每天敲一些重復性的代碼了。
第4階段,程序員將要考慮的是如何讓項目具備更好的擴展性,如何提高性能,比如深入了解Java的設計模式,開始研究數據庫的優化,還有對Nginx負載均衡、緩存Redis、搜索引擎ES等,這個階段已經具有一定的水平了。
第5階段,程序員會對抽象架構的理解更深,開始累積更多的模塊,形成一個SDK,或者一個微服務,開始深入研究安全、并發、監控,會考慮服務雙活或者多活、網關等等,這個階段已經算是一個資深的程序員了。
第6階段,程序員的眼界也會更開闊,其他語言可能不懂,但知道如何使用它們,這個階段程序員已經可以跨語言技術棧去思考問題了,而且能提出好的建議,兼顧各個技術棧,協調團隊完成項目,這其實就已經達到技術總監的水平了。
各位程序員,可以看看自己目前處于哪個階段?