從程序員到架構師需要多久?

Composerthink


我是java程序員,從java程序員成為架構師我用了7年。關於程序員用多長時間才能進階成為架構師,我認為這因人而異,取決於程序員自身的綜合情況,包括:努力程度、學習能力、技術基礎與知識等。我在此做一個簡單的分享,希望有些許幫助。

一、努力程序+快速的學習能力+紮實的技術基礎與知識,助力更快進階

1、努力程度(自我驅動力)

在這個行業久了,經常看到一些標籤:非科班程序員、初級程序員又或者非985程序員……也曾收到過一些程序員的私信,表示對未來感到很困惑,自己所帶的這些標籤,是否就不容易得到一線大廠或更好的工作機會了?其實起點並不佔有絕對的優勢,你的努力程度才能決定你的未來。如果你一直為目標堅持努力,即便最終不能成為架構師,至少也能獲得職級晉升、技術提升或更好的工作機會。

2、快速的學習能力

曾經有人做過統計,IT行業技術每2~3年會更新一輪,對此我深有體會。大家都向更輕量,學習週期更短的新技術上轉移了,即便是存續了多年的技術,也是年年更新迭代。如果項目開發需要用到你的知識經驗庫沒有的新技術,你需要具備把這門技術一週內快速上手的能力,適應不斷前進的技術演變。

3、紮實的技術基礎與知識

哪些知識算是編程的基礎?我個人認為,像數據結構、算法、操作系統等平時工作中雖不常用,但都是一個程序員的功底,也是你面試進入各大公司的敲門磚。參加過工作的程序員們都知道,公司不可能按照你掌握的技能來給你定製項目,而是公司項目需要什麼樣的技術,你正好掌握了這門技術,那很好,馬上開工。如果你並沒有這方面知識的儲備,對不起,現學也得上。慢慢的差距就能顯現出來了,你比別人知道的多了,相信我,你會有更多的機會。

二、程序員進階成為架構師的幾個學習方向

如果上述你都基本匹配,那麼接下來你該考慮如何去做了。建議有意識去提高以下幾個方面的能力:

1、紮實的JAVA 基礎;

2、熟練使用主流框架,譬如:mybatis、spring等;

3、研究過至少一種以web框架的源碼,譬如spring mvc 、struts等;

4、至少是某個領域的專家(知識深度),比如消息隊列,activeMQ熟悉其源碼,知道其實現;

5、需要知道主流技術為什麼誕生,能解決什麼問題?如果同一種業務用不用的技術來實現,會有什麼哪些優缺點?比如:流行的ORM框架Mybatis 和 hibernate ,他們之間的優缺點是什麼?要有清晰的認識會能在技術造型時做出正確的決定。

6、對自己所處的業務能夠根據自己的知識維度,提出優化建議或者預測其風險點;

7、架構過或參與過高併發系統設計,知道如何應對突發情況;

8、對業務和技術進行抽象。業務抽象就是對需求進行分析後,能夠建立完美的實體類以及他們之間的聯繫。技術抽象是對整體架構進行一個分層,各層之間的交互。這至關重要,如果技術抽象能力不足,這會導致整個系統的架構不靈活,難以維護和擴展。

程序員的工作性質決定不進則退,要跟上新技術新時代,唯有保持不斷學習,其實學習也是生活的一種態度,大家覺得呢?祝好~

以下80期架構師學習專題資料、BAT面試題目與答案送給大家,助力進階。

私信【架構】給優知學院,立即領取架構師80期專題學習資料;

私信【java】給優知學院,立即領取BAT面試題目與答案。



優知學院


我可以告訴你,如果系統學習,只要八個月,前提是需要你有一定的Java經驗,否則步子邁的太大你是學不會的

架構師必備:分佈式架構+微服務架構+高性能架構+B2C商城項目

https://www.toutiao.com/i6624371332547084808/

資料一下獲取方式

關注+轉發後,私信關鍵詞 【架構資料】即可獲取!

重要的事情說三遍,轉發、轉發、轉發後再發私信,才可以拿到!

如果覺得我是騙子,麻煩繞道,免費的資料都是免費分享的,信則有,不信則無,名額有限,先到先得!!!


java高級


從程序員到架構師多久,這個沒有具體的答案,主要看個人資質和經歷經驗,有的人天生是幹這行的料,很快就可以入行,有的人只是打醬油,一輩子就在代碼搬運工上,程序員都算不上,程序員和開發兩個所需要的知識面不一樣.



程序員需要了解一種技術,在某一行業精通,可以獨立解決需求和問題基本就可以,是it的一線人員是值得敬仰的,所有的功能都是他們一磚一瓦做出來的.

架構師需要了解的知識面就比較廣了,有一點的程序員能力,還需要有行業知識背景,對需求的分析能力,系統設計能力,各項語言和工具的瞭解熟悉,業務組織等等的綜合能力,真正的架構師不是一個稱呼而已,是需要沉澱和積累,到是一定的水平,到一個級別.



成功路很多條,每條路都能找到終點,主要看自己的夢願意前方何方,每一個it從業者可以往不同緯度發展,找準自己的方向加油吧!願每一個iy創業者可以到達自己夢的終點


JacksDuan


從程序員到架構師需要多久,這個時間的長短沒有定論,可能很快,也可永遠無法達到。


架構師是什麼,先找找定義:

系統架構師是一個最終確認和評估系統需求,給出開發規範,搭建系統實現的核心構架,並澄清技術細節、掃清主要難點的技術人員。


可以看出來,架構師也是一名側重技術的崗位,但也需要懂需求和管理。


把控需求

大多數時候,架構師需要從需求階段就介入的,架構需要和需求人員溝通需求,保證自己可以完整的理解和把握客戶需求。


架構設計、技術選型

如果是一個新的項目,架構師需要對項目進行分解,形成項目架構,在此基礎之上再完成技術選型。

例如,根據項目的需求,要把整個系統分解成多個子系統:一個對外提供接口調用,一個跑定時服務,還有一個專門監聽MQ獲取消息並進行處理;數據庫用Mysql而不是Oracle,定時服務需要要用到zk或者Redis做分佈式鎖,對外的接口是Rest而不是WebService,這些都需要架構師來確定。

如果是一個老項目,架構師同樣需要這次的需求做在什麼地方,是在現有技術上就能實現,還是需要引入新的技術。


制定規範、把握方向、踩坑填坑

架構師是要跟隨項目的整個流程,架構師就是項目的技術權威,他應該時刻與開發人員進行溝通,讓開發人員理解架構意圖,實現業務功能。

架構師不是一個指揮者,有一些技術難點,都需要架構師衝在前面解決。而不是當項目遇到一個“坑”時,架構師是要“真刀真槍”的寫代碼的。


要想成為一名架構師,需要哪些品質呢?

  • 技術深度和廣度:這一點不用多說了吧,架構師的技術儲備一定要豐富,也就是見多識廣。想象一下如果一個架構師連memcached、redis都沒聽說過(哈哈,說的就是五年前的我自己)。

  • 抽象思維:這是進行系統分析和需求分解的基本素質,具備抽象思維的能力,才能把一個大的需求,分解成一個一個小的功能,但是分解後依然可以掌控全局。

  • 溝通能力:和需求人員溝通,和業務人員溝通,和項目成員溝通...

  • 領導能力:推動整個項目的發展,需要架構師的領導能力,這裡說的領導力和項目經理所需的領導力還不太一樣,想象一下如果有一個只會寫PPT的架構師,做出來的架構設計不切實際,那麼怎麼可能讓開發人員信服。這裡的領導能力,更多的是指技術能力的影響,甚至是個人魅力,也就是【可以服眾】,讓開發人員心裡想:“這個架構這牛,跟著他我學到了很多東西,我服”。


當你具備了這些素質的時候,相信你就有能力成為一名架構師了。


希望我的回答,能夠幫助到你!

我會持續分享Java程序開發、架構設計、職業發展等方面的知識和見解,希望能得到你的關注【會點代碼的大叔】。


會點代碼的大叔


謝偉人之軀要請回答。程序員是從事程序工作的一個職稱。任何人都是從程序員起步,從程序行業中不斷的努力,參加本行業統一考試,才能取得各級別的職稱。程序員和助理架構師,都是初級職稱,架構師屬中級職稱。高級架構師屬高級職稱。再往上經過幾年的實踐,有行業論文發表。且被上級專業承認。可成本行業專家。

這個需要多長時間我也很難說。這要看你的起步點啦。如果你是大學本科畢業。畢業滿一年,從事對口專業,哪你第二年被單位聘用就可以定為助理架構師。從助理架構師升到架構師,需要參加本行業全國統一考試。合格後方能取得架構師資格。如果被單位聘用你就是架購師啦。

這個時間完全由自己決定,各行業考試的時間也不一樣。通常每年一次,也有半年一次。也有幾年一次。這就要看你的能力和機遇啦!

問答完畢,個人觀點,不代表行業規定,不符時以行業規定為準。


Alin94890740


軟件架構師相對而言是比較高端的技術人員,最重要的職責就是將客戶需求轉換為軟件產品的總體架構、總體規劃、關鍵技術的選擇,並且還要指導開發團隊完成這個軟件產品的設計開發及實施。

那麼,軟件架構師就要具備相當的能力才可以勝任。從技術上說,需要進行架構分析、架構概念原型設計及評估、確定軟件產品框架、應用硬件軟件的選擇、具有提供規範的能力、關鍵技術的解決能力、相應分析及設計模型能力、使用工具能力、實施部署模型、接口事件信號協議等等能力。除此之外,還要有領導或協調整個項目的技術活動,技術決策,製作文檔,評價及確認軟件各環節的能力等等。

軟件架構師基本上需要掌握客戶需求,轉換為軟件架構結構,選擇關鍵技術及軟硬件的能力,熟悉開發流程,如何檢驗軟件是否滿足要求等等各方面能力。從程序員到軟件架構師一般都需要經過幾個完整的項目開發過程,才能夠清楚瞭解軟件設計開發實施過程,才能夠掌握各種關鍵技術的能力。所以一般來說成長到架構師還是需要一定的時間的。


東風高揚


首先要看其本人的能力與學識,但也要有合適的機遇。



軍中猛虎12345


一方面看能力,一方面看資源。用心工作兩三年,其實很多架構層面的東西已經可以自己做了。這之後就要看有沒有老闆為你的水平買單了。沒有,你依然是個程序員,有,那麼你就會獲得更多的資源和支持,經過一段時間的磨練,你就會成為一個架構師了。最後找一個自己想做的產品,和自己的產品一起成長,還有機會成為一個優秀的架構師。


BuguTian


我覺得這個時間並不是一定的,但也一定需要時間和經驗的積累,之前也要5-8年左右的時間。不積跬步~~冰凍三尺非一日之寒~,編碼,學習,積累,你離架構師就不遠了。


程序狼


架構師不僅要在技術方面有足夠得技術積累和提升,業務方面同樣要有大量的積累,好的架構都是根據業務需求不斷重構和變遷的,所以時間上還需要一定時間來積累和學習的,目前市面上一些培訓班大部分水分都很大


分享到:


相關文章: