導航:首頁 > 軟體知識 > 程序員如何成為架構師

程序員如何成為架構師

發布時間:2022-01-27 01:32:58

① Java程序員如何成為優秀的架構師

架構師,有過項目開發經歷,精通多門編程語言且熟悉資料庫
架構師的主要職責
1 確認需求
2 系統分解
3 技術選型
4 制定技術規格說明

② 如何從一個程序員成長為一名架構師

成為一個軟體架構師,是每個上進的程序員的理想,可是程序員日常工作中所用到的知識技能,是無法順利成長為軟體架構師的。因為一個設計者和一個建造者,他們的知識體系和思維方式,是截然不同的。
不過有相應的培訓機構,像青鳥、領宏教育等,青鳥的課程比較基礎,領宏的課程比較高端,看個人基礎再做選擇吧

③ 如何由程序員轉為架構師

程序員日常工作中所用到的知識技能,是無法順利成長為軟體架構師的。這就好比大樓的建築設計師和壘磚工人的區別,他們的知識體系和思維方式,是截然不同的。
程序員按照上級的要求實現具體的程序功能,很少需要知道為什麼這樣做,他們只需要考慮技術實現就可以了;而架構師的職責是進行系統分析和架構設計,並對整個項目進行把控,對項目組成員進行各類管理工作。

④ 如何從程序員到架構師

程序員到架構師的技術成長之路分為幾個典型的階段:工程師 - 高級工程師 - 技術專家 - 初級架構師 - 中級架構師 - 高級架構師,總的成長原則是每個階段都需要「積累經驗、拓寬視野、深度思考」。

⑤ 程序員,如何少走彎路,成為一名技術專家或者架構師

#1 專業技能

@首先當然基礎知識要扎實,一些經典的專業書籍一定要看。比如,設計模式,演算法,數據結構,所在領域的編程語言的專業書籍等.關於不同的能力階段,需要讀取什麼類型的書籍,請參考ThoughtWorks(中國)程序員讀書雷達,每年都有更新。
@作為架構師,review別人的代碼並給出合理的建議是基本功,比如變數或者方法命名的規則;所以代碼大全,重構,改善既有代碼的設計,Clean code 等等肯定需要看。
@ 對於某一個技術領域或者業務領域,一定要有一門技術是精通的,因為這樣你才能體會到以後遇到自己不懂的技術的時候,如何能夠快速成為這一方面的行家。
@ 平常有時間一定要多多進行代碼的訓練,也就是Martin Flower常說的Kata練習,這個比喻來自於跆拳道,跆拳道選手一般每天都會找一些基本的招式,進行反復的練習,從而訓練肌肉的條件發射,那麼對於我們程序員來說,一定也要進行持續的編程訓練,比如上面提到的那位同事,給的建議是,雖然把大部分時間花在了溝通和協調上面,沒有機會寫代碼,但是自己一定要利用業余時間,自己找一些例子來聯系,比如,參與開源項目,或者到網上去搜索一些大師的經典Kata聯系的例子;或者看工作裡面是否有一些小工具,是否能夠提升自己的溝通效率,當然已經天天寫代碼的童鞋們除外。請參考我轉發的另外一篇文章和另外一篇介紹能在線練習Kata code的文章.
@ 最好能夠在精通一門語言的基礎之上,學習其他的語言,從而站在一個更高的角度,對於程序語言有一個更高層次的抽象認識,比如,學了Java之後,可以學學Ruby,Groovy,C#等等,其實語言之間都是相互借鑒的,比如Lamba表達式,連java也慢慢的向函數式編程方向靠攏。
@ 如果有時間,一定要自己維護一個博客,既然選擇了架構師,就決定了自己以後不僅僅是一個技術專家,同時也要成為一個佈道師,為企業組織或者社會上的其他IT同行們貢獻自己的一些微薄之力。
@ 多參加一些社會上舉辦的軟體專業會議或者活動,了解當前比較流行的技術和框架。
@ 這條不提倡,我以前有一個同事,幾乎每年都要更新簡歷1~2次,目的不是真正的換工作,而是通過面試得到當前市場上大部分公司正在使用什麼技術和框架。對於這條,請慎用!!!!
@如果有結對編程的機會一定要好好珍惜,特別是和高手大拿一起結對的時候。
@如果大家上面都已經做的非常的好了,這個時候可以看看架構設計方面的書籍,比如企業應用架構模式,架構之美等等。
@ 去51Job上搜索架構師這個職位標簽,看看不同行業的企業對於架構師的技術要求和標准,然後結合自己當前所處的行業和你自己的技術特點,比如擅長前段或者後端,有選擇性的學習一些自己感興趣的技術或者方法。
@ 關於常用的網站,沒有定論,筆者主要是根據搜索的結果去發現適合自己的網站,所以需要讀者掌握一定的搜索的技巧,筆者一般喜歡用英文搜索,這樣的話資料比較全也比較新;如果下載電子書的話或者查看博客的話 一般會首選CSDN;如果是解決工作中的問題的話,在StackOverFlow上面被解答的概率是最大的,此外平常自己也需要去積累一些自己感興趣的技術的人氣比較旺的網站列表,比如一般和Window相關的就是MSDN;如果對Java入門比較感興趣,可以看看這個網站。對於一些開源的框架,一般都會有想對應的社區,google一搜索,很快就能找到。另外一個德國人寫的博客的非常的精緻,如果對Eclipse插件開發特別感興趣的朋友們可以去參考它。
@大家如果時間和精煉允許,最好能在Github開源和分享自己平常寫的代碼。這樣一方面可以熟悉git用法,另外一方面也可以把自己平常練手的代碼免費保存,何樂而不為呢?
@如果大家平常遇到什麼問題,可以到StackOverFlow上面去尋找答案;當然,如果你能自己注冊一個StackOverFlow賬號那是最好不過的,這樣不但可以提問,還可以幫助別人,同時上面還有很多工作簽證的工作機會。
#2 軟技能(現代社會,一個合格科學家不僅僅是某一個行業的技術專家同時也是一名專業的社會活動家)

@遇到問題,一定要多想,遇到一個問題,如果解決了,就要反思為什麼能夠解決,如果以後遇到類似的問題,
如何更快速的解決。
@英語的重要性,不言而喻,因為現在很多新技術的框架的中文文檔非常的少,即使翻譯成中文,也是二手的了(國內自己的開發的一些開源框架除外)
@ 有時間的話,看一些溝通方面的書籍,如果有參與溝通的機會的時候,一定要想如何把溝通做的更好更舒暢。
@ 如果有機會的話,可以參加PMP的考試,關於如何備考PMP,請大家參閱另外一篇文章:如何備考PMP,但是如果不想參加的話,也沒有關系,至少要涉獵到項目管理方面的書籍,否則以後如果成為架構師之後,客戶或者管理者給你說一些項目管理上一些專業術語時,到時候就會一頭霧水。
@架構師其實從某種意義上就是一種角色,而不是一種職位。一定要時時刻刻保持空杯心態。
@一定要有一顆保持飢渴學習和耐得住寂寞的赤子之心。
@當前的技術節湊是非常快的,特別是結婚以後又有小孩了。一定要好好的利用自己碎片時間,對於一些技術,當時讀不懂不要緊,但是一定要記住和了解其關鍵詞,這個主要是為了拓寬自己的視野。比如,當前你想自己開發一個系統,結果已經有一個開源框架實現了,而且還很穩定,這個時候,自己就沒有必要重復發明輪子了。
@與不同的技術、編程語言、設計模式和結構等(甚至是它並沒有在日常中給予你直接的幫助)打交道。你永遠都不知道這些知識是否會在未來派上用場,但是對你絕對是有益無害。
@在工作中,能夠幫助到別人解決技術難題,一定要盡量全力以赴,因為這不但可以贏得同事的好感和口碑,同時也能增長你解決問題的經驗和提高你的技術思維能力
@ 一定要掌控好自己的時間,對工作沒有幫助的會議,能不參加盡量不要參加,當然,企業安全,公司規章制度如果是強制性的,該參加還得參加,但是如果沒有工作效率和扯皮的會議,盡量避免參加。
@程序員要耐得住寂寞,要在自己的領域深挖,不能看啥火,就學啥,一定要有自己的想法和判定,如果決定不了,可以向資深的同事或者朋友溝通。
@盡量參與到項目中的編碼,因為架構師不能與項目脫離。
@ 如果有機會可以鍛煉一下自己在大眾環境下的演講和PTT的能力。
@有機會多做知識分享,因為你一旦分享了知識,你就會對這門技術有深刻的印象,同時也能樹立在同事中的良好的技術形象,從而贏得更多的專家影響力而不是職位影響力。
上面只是我當前能想到的,知易行難,知道了上面的一些經驗,並不代表年輕程序員們就能馬上成功,畢竟這需要一個鳳凰涅槃和實踐的過程,但是肯定能幫助有志於於此的年輕程序員們少走一些彎路,限於筆者水平,如有總結不恰當或者不到位的地方,還望批評指正。

⑥ 如何從普通程序員晉升為架構師

程序員晉升架構師的十項必備技能
1、卓越的程序員 Fred George先生說:「不編程的架構師的職業生涯是短暫的」。他說這句話的背景主要是針對有些架構師的設計與實現有斷層的問題而言的,因為如果架構師不去 實踐,只是想當然的認為「沒問題,這個想法能實現」,那麼對於項目的落實而言是個很大的隱患。支付寶架構師馮大輝也表示過,架構師是一個比較「虛」的崗 位,主要的問題都在「落地」的過程中。--ITJOB--
2、抽象思維 很多優秀的架構師們都一致的表示,邏輯思維和抽象思維能力是一個架構師最重要的素質。eBay的 Randy Shoup先生稱擁有條理清晰的邏輯思維能力的人「就像稀有動物那樣難找」。Fred George則表示「駕馭概念的技能,在我看來是每一個人最高的潛力」,並表示自己不太介意這樣一個苗子在其他方面的技能和經驗的匱乏,因為在他看來除了 思維之外的其他因素都是可以培養的。 --ITJOB--
3、技術前瞻性 有人談到技術高手與架構師的區別就在於,架構師不光是著眼於現在,不僅僅局限於開發細節,比如如何調用,如何並發等等。而是跳出三界外,考慮一下面向未來問題和潛在風險的應對之道。--ITJOB--
4、問題解決大師 只是,架構師之所以為架構師,是在於他們在面對龐大系統之時,仍然能夠敏銳的發現其底層之真實。這不僅需要此哲學層面的「內功」,還需要架構師具有多領域知識和經驗的積淀。--ITJOB--
5、多領域知識 架構師身為一名技術領袖,需要通過發散知識的光芒來統御開發團隊的。如果只是對本行業知識做到爛熟於心,那還僅僅是一名熟練工的水平。要想晉升更高的層次,還需要跳出「只緣身在此山中」的困惑。--ITJOB--
6、溝通能力 做到人性化的溝通,需要我們在平時就進行培養。寫出大部頭的架構書,有的時候並沒有用VISIO畫出的簡單架構圖好理解。人對圖形理解遠遠大於對文字的理解,直觀簡單的UML圖可以極大的方便程序員理解架構師的意圖。--ITJOB--
7、內力 很多人理解的內力就是開發技術,包括語言的掌握、對框架的掌握、資料庫管理能力、安全管理能力等等。但是我們看到,架構更多的內力體現在對技術的綜合運用上,光會編程的程序員,最多就能做到高級程序員,也就是技術實現上的高手。 --ITJOB--
8、權衡取捨 Fred George先生提出了「短期濫用」的說法,即在系統能夠承受的范圍內做出一些妥協。在ATAM方法中,分析的思路是基於「情景」的:你需要提出各種可能 的情景,然後來證明在每一個用戶使用場景中,系統的哪一些內容是必要的、不可丟棄的——從而確定哪些部分是暫時可以不予考慮的。--ITJOB--
9、管控能力 架構師在管理和控制的能力上,需要有自己獨到的見解,而不是簡單的認為這是項目經理或者財務部門 的事情。身為技術專家的架構師,隨不需要處理那些煩雜的日常管理。奇虎架構師李釗在一次接受采訪時道出過架構師們的心聲,技術人才轉向管理就是莫大的浪 費。對,如果架構師只是一味的去進行項目管理,那就和其他市場人員沒有任何區別了。在這里架構師所需要的管理與控制,其實是從技術的角度,對一些問題的控 制,特別是開發過程中的監控,而不是普通意義上的純粹管理。--ITJOB--
10、藝術氣質 一個優美的系統則是可以像有機的生命一樣成長的,這是因為從系統開始架構的那一刻起,架構師就考 慮到這個系統以後將會面臨的挑戰,為系統的成長預留好空間。項目經理經常會對這位架構師提出的看似理想化的要求不置可否——項目經理只想著能夠盡快以比較 低的成本實現客戶的需求,然而這些充滿藝術美感的想法其實是打造健康——因而優美——的系統的根本因素。--ITJOB--

⑦ 如何成為一名架構師

軟體架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。架構師的主要任務不是從事具體的軟體程序的編寫,而是從事更高層次的開發構架工作。
架構師不是通過理論學習可以搞出來的,不過不學習相關知識那肯定是不行的。總結架構師自我培養過程大致如下,僅供參考。
1、架構師胚胎(程序員)
學習的知識是語言基礎、設計基礎、通信基礎等,應該在大學完成,內容包括java、c、c++、uml、RUP、XML、socket通信(通信協議)--學習搭建應用系統所必須的原材料。
2、架構師萌芽(高級程序員)
學習分布式系統、組建等內容,可以在大學或第一年工作時間接觸,包括分布式系統原理、ejb、corba、com/com+、webservice(研究生可以研究網路計算機、高性能並發處理等內容)
3、架構師幼苗(設計師)
應該在掌握上述基礎之上,結合實際項目經驗,透徹領會應用設計模式,內容包括設計模式(c++版本、java版本)、ejb設計模式、J2EE構架、UDDI、軟體設計模式等。在此期間,最好能夠了解軟體工程在實際項目中的應用以及小組開發、團隊管理。
4、軟體架構師的正式成型在於機遇、個人努力和天賦。

⑧ IT程序員如何成為架構師

關注范圍:程序員專注於具體細節,而架構師專注於「宏觀視角」。
領導關系:程序員處於被領導地位,架構師則扮演領導角色。
資歷背景:架構師的從業時間一般比程序員更長。
氣質特性:架構師是重要的夢想家,而程序員則是面向繁瑣任務的實干者
技術取向:架構師做出選擇,而程序員提供選項。
技能:架構師的技能水平高於程序員。
代碼:架構師需要編寫之代碼平均少於開發人員。
組織互動:架構師所參與之「業務」會議數量遠多於程序員。
薪酬:架構師薪酬水平高於程序員。
自身價值:架構師的價值要高於程序員。

⑨ 程序員怎麼快速成為架構師

1、卓越的程序員有些架構師的設計與實現會出現斷層的問題,如果架構師不去實踐,只是想當然的認為「沒問題,這個想法能實現」,那麼對於項目的落實而言是個很大的隱患。2、抽象思維很多優秀的架構師們都一致的表示,邏輯思維和抽象思維能力是一個架構師最重要的素質。3、技術前瞻性架構師不光要著眼於現在,不僅僅局限於開發細節。而是跳出三界外,考慮面向未來問題和潛在風險的應對之道。4、問題解決大師架構師因為具有多領域知識和經驗的積淀,所以在面對龐大系統之時,仍然能夠敏銳的發現其底層之真實。5、多領域知識架構師身為一名技術領袖,需要通過發散知識的光芒來統御開發團隊。6、溝通能力7、內力很多人理解的內力就是開發技術,包括語言的掌握、對框架的掌握、資料庫管理能力、安全管理能力等等。但是我們看到,架構更多的內力體現在對技術的綜合運用上,光會編程的程序員,最多就能做到高級程序員,也就是技術實現上的高手。8、權衡取捨9、管控能力架構師在管理和控制的能力上,需要有自己獨到的見解,而不是簡單的認為這是項目經理或者財務部門的事情。在這里架構師所需要的管理與控制,其實是從技術的角度,對一些問題的控制,特別是開發過程中的監控,而不是普通意義上的純粹管理。10、藝術氣質一個優美的系統則是可以像有機的生命一樣成長的,這是因為從系統開始架構的那一刻起,架構師就考慮到這個系統以後將會面臨的挑戰,為系統的成長預留好空間。

⑩ 如何才能從一個程序員成為一名優秀的架構師

經驗

閱讀全文

與程序員如何成為架構師相關的資料

熱點內容
阿里的廣告產品有哪些 瀏覽:219
信息社會治理模式有哪些 瀏覽:148
微盟小程序是什麼意思 瀏覽:42
福田奧鈴有哪些產品 瀏覽:213
圖像處理產品有哪些 瀏覽:509
keil寫好程序怎麼知道有無錯誤 瀏覽:658
29歲了學點什麼技術比較好 瀏覽:108
怎麼將web程序轉換安裝包 瀏覽:217
手機屏保程序怎麼卸載 瀏覽:717
京東的代理怎麼收費 瀏覽:27
機動車安全技術檢驗主要依據哪些標准 瀏覽:101
什麼是黃頁數據載入完成 瀏覽:212
開發票保存發票信息如何更改 瀏覽:157
怎麼看產品糖含量 瀏覽:337
abc類信託產品什麼意思 瀏覽:293
葯師學什麼技術比較有前途 瀏覽:309
文子理財屬於什麼產品 瀏覽:181
比特幣什麼網站交易 瀏覽:532
vx小程序怎麼製作身高對比圖 瀏覽:838
保險代理人收入交什麼稅 瀏覽:124