但是由于程式員作業的特性,可能從30歲開始,很多人就已經花白頭發,可能除了考慮那些復雜的業務邏輯實作以外,就是考慮未來的路應該如何前進了,
看看下面這個曲線,可能很多行業都是這樣,到了一定的年齡,人的價值體現就開始慢慢的下降了,只是程式員的時間更短一點,

就我自己身邊的情況來說,一個43歲的博士,被一家外企裁員了,他的下一份作業只有之前的一半薪水,
一個45歲的程式員,名牌大學畢業,到我這里面試,他只需要5K的薪水,并且在當時只有30歲的我面前唯唯諾諾,
因此,在34歲左右,差不多就是一個程式員的巔峰了,越往后,這個程式員的價值就越低,
這一現象不光是出現在中國,在硅谷也一樣,
相信大家都聽過61歲的Java之父James Gosling找不到作業的新聞,

那么Java程式員該如何延長生命周期呢?
1:熟練使用各種框架,并知道實作原理(比如Spring, mybatis),
2: JVM虛擬機原理、調優,懂得JVM虛擬機能讓你寫出性能更好的代碼.
3: 池技術,物件池,連接池,執行緒池
4:JAVA反射技術,寫框架必備技術,但是有嚴重的性能問題,替代方案是JAVA位元組碼技術
5: nio,“直接記憶體”的特點,使用場景,
6:JAVA多執行緒,同步異步,
7:JAVA各種集合物件的實作原理,可以讓你選擇更加合適的資料結構,hashmap的實作原理,擴容的性能問題,
8:熟練使用各種資料結構和演算法,陣列、哈希、鏈表、排序樹…一句話要么是時間換空間要么是空間換時間,
9:熟練使用Linux作業系統,必備,
10:TCP協議,三次握手和四次握手,不了解的話,無法對高并發網路做優化;熟悉HTTP協議,尤其是HTTP頭,明白session和cookie的宣告周期以及他們之間的關聯,
11:系統集群、負載均衡、反向代理、動靜分離,網站靜態化
12:分布式存盤系統nfs,fastdfs,tfs,hadoop了解他們的優缺點,適用場景,
13:分布式快取技術memcached, redis,提高系統性能必備,把硬碟上的內容放到記憶體里來提速,演算法是一致性hash
14: 工具nginx必備技能超級好用,高性能,基本上不會掛掉的服務器,功能多多,解決各種問題,
15:資料庫設計能力,mysql必備,基本的引數優化,慢查詢日志分析,主從賦值的配置;其他的nosql資料庫如mongodb
16: 中間件,如訊息推送,可以先把訊息寫入資料庫,推送放到佇列服務器上,由推送服務器區佇列獲取處理,這樣就可以將訊息放資料庫和佇列里后直接給用戶反饋,推送程序則由推送服務器和對壘服務器完成,異步處理、環節服務器壓力,解耦系統,
我這里有一份超級詳細的P6-P8的技術知識圖譜
需要的朋友可以點擊:點這個!點這個!,暗號:csdn

想成為架構師不是懂了一大堆技術就可以了,這些是解決問題的基礎、是工具,不懂這些怎么去提解決方案呢?這是成為架構師的必要條件,
架構師還要針對業務特點、系統的性能要求提出能解決問題成本最低的設計方案才合格,人家一個幾百人用戶的系統,訪問量不大,資料量小,你給人家上集群、上分布式存盤、上高端服務器,為了架構而架構,這是最扯淡的,架構師的作用就是第一滿足業務需求,第二最低的硬體網路成本和技術維護成本,
架構師還要根據業務發展階段,提前預見發展到下一個階段系統架構的解決方案,并且設計當前架構時將架構的升級擴展考慮進去,做到易于升級;否則等系統瓶頸來了,出問題了再去出方案,或現有架構無法擴展直接扔掉重做,或擴展麻煩問題一大堆,這會對企業造成損失;
所謂架構師,思考的是全域的東西,是如何組織你的系統,以達到業務要求,性能要求,具備可擴展性(scalability),可拓展性(extendability),前后兼容性等,可能涉及到的東西包括了從硬體到軟體的方方面面,實在是一言難盡,
如果你立志做架構,首先打好基礎,從最底層開始,然后發展到各種技術和語言,什么都要懂兩點,要全面且不膚淺,為什么不是懂一點?你要看得透徹,必須盡量深入一些,別人懂一點,你要做架構師,必須再多懂一點,比如你發現golang很流行,別人可能寫一個helloworld就說自己玩過golang,但你至少要嘗試寫一個完整的應用,不肯下苦功,如何高人一頭?
另外你要非常深入地了解至少一門語言,如果你的目標是java,就學到極致,作為敲門磚,先吃飽了才能談理想,而Java學到極致勢必涉及到設計模式,演算法和資料結構,多執行緒,檔案及網路IO,資料庫及ORM,不一而足,這些概念放之一切語言都適用,先精一門,為全面且不膚淺打基礎,
另外就是向有經驗的架構師學習,和小伙伴們討論辯論爭論,
其實最重要的能力就是不斷學習,在思考新的技術是否能更好地解決你們遇到的問題之前,你首先得知道并了解新的技術,
說了半天,架構師很多時候是被迫上位的,并不是你學了這個和那個之后你就成為架構師了,這并不是RPG游戲,
最后供還有免費的Java架構學習資料,學習技術內容包含有:Spring,Dubbo,MyBatis, RPC, 原始碼分析,高并發、高性能、分布式,性能優化,微服務 高級架構開發等等,
需要的朋友可以點擊:點這個!點這個!,暗號:csdn
還有Java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring原始碼合集+Java架構實戰電子書,


轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/231570.html
標籤:其他
