摘要:網易高級架構師談,菜鳥如何發展成為架構師一方面是因為是知識密集型的行業。那作為一名開發者,如何規劃自己的職業生涯呢一般來說,程序員的技術生涯會分為技術新人技術專家架構師個階段,這也是我們的成長的路徑。
作為一名程序員,大家都會為自己未來的職業發展焦慮。
網易高級Java架構師談,菜鳥如何發展成為架構師
一方面是因為IT是知識密集型的行業。
知識體系復雜且知識更新速度非常快,“一日不學就會落后”。
另外一方面,IT又是勞動密集型的行業。
從業人員多,個人在平時的開發過程中有大量的重復勞動(如 CRUD),能力沒有隨年齡的增加而增長。
這種情況下,就會應驗“35歲就失業”魔咒。
那作為一名 Java開發者,如何規劃自己的職業生涯呢?
一般來說,程序員的技術生涯會分為技術新人、技術專家、架構師3個階段,這也是我們的成長的路徑。
一,技術新人:夯實技術基礎
對于工作1~2年左右的技術新人來說,夯實基礎是立足之本。
具體來說,技術基礎的能力尤其反映在代碼品質上。
比如“大段重復代碼”,“極端情況沒異常處理”,“面條型代碼沒有任何架構”等,都是代碼品質差的表現。
提高的方式比較通用:
看書是最系統的提升方式。比如《Java編程思想》、《Effective Java》等。
在看書的過程中一定要思考能否實踐,比如看到 voliate,就要想想能否應用到自己的項目中。
代碼 Review是最有體感的提升方式。這個階段一定不要怕丟人。
讓自己組內的大牛來看看自己的代碼,肯定會被批評,但這是成長最快速的方式。
二,技術專家:構建技術深度
技術專家的要求是在技術深度上一定有積累。
但說到技術深度,第一感覺它很玄乎,多深才叫有深度,是不是掌握冷門的技巧就叫深度?
比如:你的同事花費了一周來“重構”代碼。
最后發現,僅僅是換了個語法糖:
把 for循環等換成了所謂的函數式編程 lambda表達式,而且 lambda表達式巨長到無法下咽;
還有同事在不休止的討論 if-else的100種寫法,各種設計模式堆砌,到最后除了他沒有別人能看懂。
很顯然,我們最多會說他們有鉆研精神,語法糖使用的很厲害,但絕不會說他們有技術深度。
很多同學始終無法構建自己的深度。
就在于他們會把編碼過程中的“奇淫技巧”看做是技術深度的體現,把炫技放在首位。
而這種想法顯然是片面的,也是錯誤的。
而真正的技術深度,一般要在學習的過程中思考如下問題:
1.技術誕生的背景是什么,這是理解技術理念的關鍵。
2.技術的優勢和劣勢分別是什么,技術沒有銀彈,只有適應場景,在某一方面有優勢,那在其他方面就肯定有劣勢。
3.技術的底層原理和關鍵實現
4.和已有的其他技術相比有什么不同
提升的方式無非就是多看資料,尤其去看官方英文文檔。
遇到不懂的可以去社區提問,甚至還可以仿照某個技術重新造個輪子(僅供學習之用,不建議工作中重復造輪子)。
技術深度的構建非一朝一夕,如果能按照上面的思路堅持學習三五年,就一定會在某一領域成為專家。
三,架構師:擴大技術視野
在成為某一領域的專家之后,想要承擔更大的職責,那么還需要擴大自己的技術視野,通盤考慮整個業務和系統。
通俗來講,技術視野不僅包含了技術深度,也包含了技術廣度,就是“既見樹木,又見森林”。
尤其體現在技術選型與架構設計這兩個階段。
這個能力也是決定自己以后是繼續當“搬磚工”,還是升華為“建筑師”的關鍵。
要時刻保持跳出當前層級和環境來思考的習慣。
每個人都有自己的局限性,每天接觸的技術和工作都是固定的,工作常用的技能隨著時間就熟練了。
比如,你只用了關系型數據庫,有沒有想過數據一直產生,到達TB級別的時候該如何快速檢索與保存呢?
充分利用思維導圖工具,不斷延展知識邊界。
架構師的知識一定是系統化的,當接觸到一個知識點后,要去追尋與現有技術的關系。
這樣就可以將所學知識串聯,從而形成體系。
溝通與交流時提高視野的最快捷的方式。
相信每個人都有感觸,當你偶然間獲得某個知識點后,會不由感嘆:原來如此啊,我還以為有多難呢。
其實知識不難,就在那里,只是你沒找到合適的途徑去觸達它。
對于Java來說,構建系統的化的知識體系可以參考以下腦圖:
最后,在這里分享一些源碼和Java核心知識點,可以更好的幫你降低一點門檻。
獲取方式:請加JAVA架構技術交流群:714827309
點擊鏈接加入群聊【JAVA高級架構技術交流】:https://jq.qq.com/?_wv=1027&k...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75223.html
摘要:第三部分對于參加工作年到年的同學。我當時看的是大話設計模式這本書,并且寫了完整版的設計模式博客。這一年,你必須對于設計模式了如指掌,大話設計模式可以作為你的開端。與此同時,這個階段你要做的事情還遠不止如此。 這一部分其實也算是今天的重點,這一部分用來回答很多群里的朋友所問過的問題,那就是大佬你是如何學習Java的,能不能給點建議? 今天我是打算來點干貨,因此咱們就不說一些學習方法和技巧...
摘要:隨著智能設備的普及使得高并發場景越來越多,可擴展成為系統設計的必要條件,下面分別介紹下可擴展系統的四個重要組成部分一負載均衡可擴展性冗余容錯水平擴展負載能力和增加硬件呈線性關系。目前大多數互聯網公司均采用軟件負載均衡。 肖立鵬原來在騰訊云做架構師,目前在Udesk擔任CTO職位。下面是他分享的Udesk在可擴展高并發架構方面的一些實踐經驗。 隨著智能設備的普及使得高并發場景越來越多,...
摘要:北京時間月日月日,由和中國國際人才交流基金會聯合主辦的第七屆全球軟件案例研究峰會簡稱在北京國家會議中心圓滿落幕。本屆峰會,來自阿里美團百度平安銀行等企業的講師分別從企業轉型及研發效能方面分享敏捷和的實踐細節和操作經驗。 北京時間11月30日-12月3日,由msup和中國國際人才交流基金會聯合主辦的第七屆全球軟件案例研究峰會(簡稱:TOP100summit)在北京國家會議中心圓滿落幕。T...
閱讀 1129·2021-10-27 14:13
閱讀 2636·2021-10-09 09:54
閱讀 897·2021-09-30 09:46
閱讀 2424·2021-07-30 15:30
閱讀 2166·2019-08-30 15:55
閱讀 3409·2019-08-30 15:54
閱讀 2847·2019-08-29 14:14
閱讀 2771·2019-08-29 13:12