分享以下4個小結。希望可以作為參考。
代碼能力是基本功,Java語言本身,包括語言的各個方面包括對并發的理解,對內存使用對理解,對Java運維的理解等等,語言本身外,社區里常用的框架是否可以十分清晰的了解,包括spring,包括他實現的ioc,aop,orm,web機制是否有清楚的認識,有豐富的經驗等等。
畢竟在一個大系統中,各種中間件是是否常見的,緩存中間件,消息中間件,例如redis、memcache、rmq這些,要理解常用中間件使用場景,使用姿勢(例如redis的常用命令),甚至包括他的一些運維,一旦出了問題,除了專門的運維人員,也需要你參與問題的排查,因為有時候這些中間件出現問題,是不當的使用姿勢引起的。
前面提到了語言本身,各種中間件,如果你有很好的業務抽象能力和架構思維,就可以把一款部門內部產品很好的設計并實施了,這點蠻難的,想必都有過接手現有項目的經歷吧,有時候真恨不得把之前的設計者拿出來批斗,作為一個設計者,你能否做到當下一個接手它的人會說一句,這個系統設計的真好,穩定又可拓展,理解起來也很容易。
畢竟一個部門內部產品,是不可能由一個人完成的,所以需要溝通協作,把設計好的方案,要和2-3個小伙伴一起實施,包括同樣身份的后端人員,前端人員,產品等角色,這個級別的人可能會參與帶2-3個人,例如應屆畢業等,所以你自己對知識的把握,分享精神,leadership都是很好的加分項。
今天剛好有此機會,經過半年多的時間我整理一份架構圖譜,主要是針對2-5年左右的Java開發程序員提升的,不管是傳統行業還是互聯網行業,掌握這些技術基本都能拿到一個不錯的薪資,希望對大家有所幫助。
最后,喜歡大家都能達到自己目標。