回覆列表
-
1 # BUG工程師
-
2 # IT人劉俊明
我從事軟體開發工作多年,跟很多優秀的Java程式設計師有過密切的合作,這其中就有不少人目前在從事Java架構師工作,可以說架構師是不少Java程式設計師的發展方向之一。
在我看來,成長為架構師的Java程式設計師都具有以下一些共同的特點:
第一:紮實的Java開發功底。大部分Java架構師都是從初級程式設計師、主力程式設計師、核心程式設計師一步一步成長起來的,要想成為Java架構師首先要有一個非常強的解決問題的能力,針對同一個開發問題能提出多套解決方案,這是對Java架構師的基本要求。
第二:較強的學習能力。對於Java程式設計師來說,要想成長為一名架構師並不是一件輕鬆的事情,除了在崗位上獲得提高之外,一定要結合自主學習,這對Java程式設計師的學習能力會有較高的要求。架構師往往對業界的新技術非常敏感,因為任何新技術的出現都有可能帶來設計模式的革新,此時就需要架構師提前做好驗證性工作。
第三:豐富的專案經驗。對於架構師來說,一定要有豐富的專案經驗,針對於不同的開發場景能夠提出相應的解決方案。方案的設計在很多情況下並不是越新越好,而是在保障穩定性的前提下進行新老方案的結合設計。在方案設計的過程中,很多人會比較熱衷於採用新技術,但是新技術並不能解決所有的問題,這是一個重要的前提,所以有經驗的架構師往往能夠在保障效能的同時再充分利用新技術的優點,這往往會取得更好的實際
大部分架構師還需要具備較強的文件編寫能力和溝通能力,Java架構師還需要對未來Java技術趨勢有一個基本的認知,能夠在架構設計的過程中預留出一定的擴充套件空間。
-
3 # Java架構師日記
有一個同學成為了技術大佬,他規劃性很強,會有一個階段性的學習和總結;而且他一直強調錯誤的工作經驗,不是你的工作年限。
成為架構師不是一件容易的事兒,JAVA已經程式設計師數量很多,但是成為架構師的非常少,要成為JAVA架構師起碼要具備基本的幾個條件,別的還有很多了。
1.紮實的基本功,資料結構,常見的演算法,瞭解程式語言特性。理解JAVA中的幾種集合的實現原理,JVM執行原理和GC機制等等又基礎又需要深入的東西。
2.快速理解功能需求,這也是必備技能之一。架構師必須清楚系統中大多數的功能需求,效能需求,以便架構。
3.功能設計能力,能根據現有的功能需求設計功能,系統的可擴充套件性依託於這一步,功能設計太過侷限會導致後面擴充套件麻煩,搞不好就傷筋動骨。
4.對各種技術深入瞭解,瞭解各種技術的特性,適用場景,是否穩定,生態圈怎麼樣等等,涉及技術選用問題。
5.縱觀全域性的能力,思維方式不能與普通程式設計師一樣,從下位機至上位機都得了解清楚,不能出現盲區。
這個說也說不完,總之架構師的技能應該是多樣性的,不能侷限某一塊。最重要的一點,是具備責任心,很多程式設計師自己顧自己的,沒時間管別人,而有的程式設計師總是會幫助別人解決問題,時間長了自然的拉出距離,分人。