正文
做了 3~5 年編程開發,你已經積累了不少項目經驗,擴寬了技術廣度,也許已發力成為團隊管理者。到了這個階段,大家卻常有這種感受:感覺自己卡在瓶頸進步緩慢,技術水平很難像早期一樣實現大幅突破?
其實大家往往忽略了這一點——提升自己的架構認知(工作5年左右程序員必須重視架構認知的提升,這會很大程度上推動你今后的成長)。
架構的本質在于面對業務場景給出優雅的解決方案,使得業務能夠快速迭代和持續交付,從而達到降本增效的目標。
提升架構認知高度,就像達克效應所描述的一樣,要敢于從愚昧之巔跳到絕望之谷,通過爬升開悟之坡,從而達到架構認知的巔峰時刻。
到達巔峰時刻也就掌握了架構背后設計的哲學,面對具體業務場景在架構層面你便能夠輕松應對,以無招勝有招。
提升架構認知,要緊抓3個關鍵點:業務洞察力、技術視野、原創力(執行力)。
1.業務洞察力是技術戰略層面的問題,在當下能夠做出合理的判斷,清楚公司做什么事情收益最大;
2. 技術視野即技術選型能力,是技術戰術層面的問題,在清楚做什么事情后,需要進一步解決怎么做的問題,也就是能夠給出合理的技術選型方案:是完全基于開源的方案,還是基于開源二次開發的方案,還是完全自研的方案;
3. 原創力(執行力)是技術落地執行層面的問題,一旦技術設計方案確定后,需要能夠快速Rush完成。
這3點層層遞進,最重要的是先把技術戰略問題思考清楚,然后再進一步解決技術戰術問題,最后是快速落地執行的問題。
工作5年左右的程序員,在原創力(執行力)層面比較有競爭力,往往欠缺技術視野以及業務洞察力。后面2點更加重要,這2點解決的是架構設計哲學問題,是架構師能夠持續擁有競爭力和影響力的立身之道。
“于一微塵中,悉見諸世界”,一切事物的本質是相通、相同的。學習架構也是如此,掌握了架構設計背后的哲學,那么一切工程問題也就迎刃而解了。
系統學習
學習是要有方法的,尤其是在職場中,程序員的自我學習要符合兩點要求:一是有結果;二是高效。因此,系統性學習,非常重要。
高級程序員系統學習指南如下:
第一步,源碼分析。看看大牛是如何寫代碼的,提升技術審美,提升核心競爭力。
第二步,工程化。工欲善其事必先利其器,不管是小白,還是資深開發,都需要先選擇好的工具,提升開發效率和團隊協作效率,讓自己有更多的時間來思考。
第三步,分布式。從深度到廣度的完善自己的知識體系,準備迎接高并發大數據的挑戰
第四步,微服務。繞微服務的通用模式,學習spring Cloud的常見用法及原理,讓微服務的開發更加方便 快捷,讓微服務應用更加穩定 可用。
第五步,性能優化。從JVM底層原理到內存優化 再到各個中間件的性能調優,做最科學和最嚴謹的性能調優。
第六步,并發編程。深入了解底層原理,不只是做一個開發者。
第七步,積極參加大牛的分享。
總結
雖然我個人也經常自嘲,十年之后要去成為外賣專員,但實際上依靠自身的努力,是能夠減少三十五歲之后的焦慮的,畢竟好的架構師并不多。
架構師,是我們大部分技術人的職業目標,一名好的架構師來源于機遇(公司)、個人努力(吃得苦、肯鉆研)、天分(真的熱愛)的三者協作的結果,實踐+機遇+努力才能助你成為優秀的架構師。
如果你也想成為一名好的架構師,那或許這份Java成長筆記你需要閱讀閱讀,希望能夠對你的職業發展有所幫助。
資料領取方式:戳這里免費下載
TbFJ1cmN1R2dB)**
[外鏈圖片轉存中…(img-Su6typqI-1625658244123)]