獨家專訪馮大輝:由“實”及“虛”的架構師學習之旅
原創(chuàng)【51CTO獨家特稿】在過去的一周間,51CTO開發(fā)頻道陸續(xù)對國內外數(shù)位軟件架構師進行了郵件訪談,詢問他們一個程序員要成長為一個架構師需要學習哪些知識和技能,在工作上需要注意哪些問題。其中,王翔先生提到堅持不懈是架構師人生第一課,F(xiàn)red George先生描述了架構師應該是有藝術追求的使用代碼作畫的大師,而eBay的Randy Shoup先生則主要強調了架構師在項目需求、系統(tǒng)和團隊之間進行權衡取舍的重要能力。
51CTO開發(fā)頻道年終巨獻:架構師最怕程序員知道的十件事
這一次,51CTO開發(fā)頻道邀請到了一位有些特別的嘉賓。他的大學專業(yè)是生物,畢業(yè)后開始從事IT。技術起點是Oracle數(shù)據(jù)庫,數(shù)年的工作經(jīng)驗也主要圍繞Oracle數(shù)據(jù)庫的管理與性能優(yōu)化。而他同時又是個技術雜家,對Oracle/MySQL關系型數(shù)據(jù)庫、Unix / Linux、網(wǎng)站架構 / 安全、用戶體驗、電子支付都有所涉及。活躍于各個技術社區(qū),是國內IT業(yè)界最受歡迎的技術博主之一。自認為是個Evangelist(編者注:這個稱號由于其文化背景和意境,在國外的很多IT從業(yè)者都很愿意使用這個稱號。直譯過來應為“技術布道者”)。
他就是支付寶的數(shù)據(jù)架構師馮大輝先生。
學習篇
數(shù)據(jù)架構師(DB Architect)主要是從數(shù)據(jù)庫管理員(DBA)成長而來的,正如軟件架構師原本都是程序員一樣。數(shù)據(jù)庫管理員的工作是數(shù)據(jù)庫具體的維護工作,而架構師的工作則在一個更高的抽象層面上。因此大輝也曾說到,自己是從做一些比較“實”的維護工作的DBA轉變到一個相對比較“虛”的DBA崗位上。當然這樣的轉變并不輕松,架構師必須要有看得更遠、更全面的能力,成長的過程需要學習很多知識并積累經(jīng)驗。對于自己的學習經(jīng)歷,大輝在此次訪談中是這樣總結的:
“學習主要是通過網(wǎng)絡進行,比如仔細研讀和架構有關的經(jīng)典論文,訂閱一些技術架構師的BLOG。當然,不可或缺的是線下、線上的積極交流,我自己也會寫一些文章和大家分享,從分享中我也能再次學到很多。”
#T#聽起來是一些挺平常的事情,但是如果你去大輝的博客(dbanotes.net),觀看他幾年間撰寫的博文,看到他那個長長的網(wǎng)志關注列表,你會發(fā)現(xiàn)這是個絕佳的建議。互聯(lián)網(wǎng)發(fā)展到今天的程度,像網(wǎng)志、社區(qū)這樣的平臺已經(jīng)成為技術人自我提高的一個絕好的工具——而且?guī)缀鯖]有門檻。無論你是一個程序員還是DBA,維護一個技術博客,與其他博主互相交流,絕對會令你受益良多——無論你是否希望成為一個架構師。
不過另一方面,視野和經(jīng)驗的積累如果沒有實際的業(yè)務是很難獲得的。因此,如果你在一個公司平臺環(huán)境之上,那么也要爭取“有意識的開拓技術視野,深入理解公司業(yè)務”,因為這些也是不可或缺的。大輝介紹說,數(shù)據(jù)架構師這個崗位很少有公司設置,很多時候沒有可供參考的案例,更多是摸索、琢磨。
能力篇
一個架構師有哪些必備的素質?在之前的訪談中,幾位架構師談到了在培養(yǎng)一位軟件架構師時最看重其抽象思維的能力,因為這是架構師的工作中最需要的能力,往往也是很多程序員所不具備的。正如Randy Shoup所介紹的那樣,像eBay這樣的大型系統(tǒng),從項目啟動到最后的維護都有工作要做,但是第一步就是需要將整體需求抽象為垂直的買、賣、搜索、付款,還有水平的數(shù)據(jù)庫、事件與消息系統(tǒng)、服務基礎設施、展示框架等功能。而想法在落實的過程,也是對架構師抽象思維和邏輯思維能力的最大挑戰(zhàn)。大輝分享自己數(shù)據(jù)架構師經(jīng)歷的挫折經(jīng)驗,大多都是在想法的落實過程中。他說,一個比較新而且“虛”的崗位,一般"落地"會遇到一些問題,需要自己去摸索。這是個很難做到的事情。
同時,大輝也談了談自己對架構師這個群體的整體感受。他覺得他認識的架構師有一個共同點,那就是都“具備出色的交流能力,能夠推動大家就某些方向達成一致”。