架構師是公司的“金領”,很少需要考慮生存的問題,從而有更多的精力思考關鍵技術,形成“強者愈強”的良性循環。當然,冰凍三尺非一日之寒,成為一名合格的架構師是一個漫長的積累過程。對于任何一個軟件開發人員來說,架構師都是一個令人向往的角色。那么程序員們要想如何去成為一名合格的架構師,我們還要先從一名合格的架構師的身上去了解,了解架構師們的一些成長經歷,了解他們是如何加強自己的技能修養,了解他們是怎樣的一個自我培養的過程等等。下面小編就以上問題采訪了新浪云計算架構師叢磊老師。
叢磊,新浪云計算首席架構師
叢磊介紹:2005年作為中國訪問學生在印度TATA學習,2006年北京化工大學計算機系畢業后加入新浪,先后獨立開發第一個用在Spider的JavaScript編譯器YAJSC、用于新浪視頻相關推薦計算的分布式計算框架DCF等。2008年開始帶領技術團隊從事云計算方面的開發,2009年起負責SAE的整體架構和技術實現,作為一線開發人員先后經歷了SAE的原始版本、Alpha1、Alpha2、Beta的發布。
對于任何一個軟件開發人員來說,架構師都是一個令人向往的角色。那么從程序員與架構師有沒有比較明顯的區別呢?從叢磊老師的介紹中我們知道,其實架構師和程序員的界限并不是很大,比如現在仍然在每天寫代碼。其實成長首先來自于自身的學習,而閱讀成熟項目的代碼會使人受益匪淺,其次就是來自于所從事領域的經驗,要了解分布式系統的特點,在做項目時,要能夠關注性能、擴展性、可靠性、可用性等指標。
架構師其實就是一個漫長的積累過程,從準備期到動蕩期我們都是不停的探索,學習。大部分的架構師的年齡都是在35歲左右,這個階段就是程序員的黃金期。那么我們如何以一個架構師的標準來加強自己的能力呢?下面我們來看看叢磊老師的一些建議。
如何去加強技能修養?
程序員要成為一名架構師發展,需要進一步加強技能的修養。叢磊認為,對于互聯網公司來言,最重要的技能是對網絡和分布式系統的理解,網絡上面的書籍很多,比較麻煩的是分布式系統,需要結合很多實際的paper和方案來理解。對于這些知識,他個人推薦不斷的讀書,反復的讀書,因為同一個知識,在不同的項目經驗后,絕對不是不同的理解。
如何去自我培養?
當然要成為一名架構師僅僅通過理論學習是不行的,在叢磊的介紹中了解到,其實他理想中的架構師要求很高,不僅有豐富的編碼經驗,而且還要熟悉硬件性能優化、內核調試、網絡故障排查、系統安全、分布式系統設,還有了解國內外技術的新趨勢和特點,最重要的是,還要善于與人溝通,敢于排除不同意見,敢于承擔責任,了解團隊內工程師的特點,善于將他們組成一個整體。他自己也在朝著這個目標去努力。
如何在團隊中開展工作?
很多正在發展為架構師的程序員也很想了解架構師在團隊中時如何進行設計工作的,叢磊也根椐他的工作做了介紹。在他們團隊中,其實很難分離出一個單純的架構師的角色,換句話說,很難界定架構師只需要做哪些。架構師更多的是以一個技術負責人的身份和工程師一起做好產品,這里面包括,項目開展前的方案設計,方案完成后的評審,方案確定后的開發,以及之后的調試、優化,故障排查。
當然了,良好的駕馭管理開發團隊的能力,良好的人格修養,能夠讓架構師在開發項目中游刃有余,不會出現意料之外的干擾,更能從內散發出人格魅力。
最后,在面臨架構師的一些困難克服問題上,叢磊老師介紹說,最大的挑戰是不斷更新自己,適應不斷前進的技術演變。那么解決辦法也很簡單,但也很難,那就是“學習”和“堅持”。