當當架構部總監史海峰:架構與管理是相通的
編者按:EGO是高端技術人聚集和交流的組織,每周我們都會對一位會員進行人物專訪,在展示會員風采的同時,也分享會員們對技術、對工作、對人生的感悟,本周,我們邀請到了當當架構部總監史海峰。
打造內部應用框架
當當技術部現在是按照產品線劃分的,一個產品線的產品、開發、測試都在一個部門,但像項目管理、運維、架構這些技術體系中公用的部分是獨立的部門。架構部里主要分成三部分,一個是架構與規范,一個是性能測試,一個是基礎應用系統研發。
我們花了比較多的精力在技術架構上,去年我們在Dubbo上做了二次開發,做了DubboX并且對外開源,業界反饋還不錯,包括很多來面試的人都知道。
我們的技術體系、核心業務系統明確的方向是Java,去年年底,我們開始做一個基于Java的應用開發框架,DDFrame,用它去對接一些核心 組件,包括SOA、作業調度、緩存、消息隊列、數據庫、配置中心等,現在已經發布了2.0版本。雖然受限于資源,進度比較緩慢,但我們一直在做這件事,未 來也會慢慢完善這個框架,使其成為技術體系的核心。
架構師并非必需品?
我在上大學的時候學的就是計算機,但沒學過系統架構方面的課,也沒聽說過架構師,之前做項目的時候也很少有專門的架構師角色。一般來講,系統比較 簡單的話,并不一定要有架構師,當系統更為復雜,才需要有人在更高的視角上去關注整體性的東西,這也是系統規模不斷發展的結果。 所以,我們可以認為,架構師并不是一個必需品,甚至不同公司架構師的職責都不太一樣,并沒有一個非常明確的定義,但整體來講,架構師需要關注整個體系中方 方面面的東西,還需要去解決一些關鍵性的技術難點,并需要有更為長遠的考慮,這個是共識。
架構師與工程師之別
架構師與工程師之間的差別并不在于年紀 ,而是在于視角的不同以及各方面積累的差別。
首先是意識。作為架構師,不能僅僅關注怎么去實現一個功能,還得去琢磨為什么這么做、怎樣才能做得更好、應該在什么場景采用什么樣的技術方案等問 題。另外還得去關注測試、部署、項目管理的方式等方面,甚至要去了解用戶的需求、公司業務的需求。如果一直考慮這些事情,時間長了、經驗多了,就會有比較 好的整體概念或視圖在腦中,綜合素質會得到提升,明白功能只是最基本的,系統的可用性、穩定性、可擴展性更為重要。
其次是積累。IT技術一直在演進,全世界無數人的不斷研究與實踐成就了技術的提升與進化。作為技術人,需要關注當前最新的技術、架構、解決方案、 技術理念等,理念可以用不同的技術來實現,也一個不斷進化的過程。而作為架構師,承擔的是更重要的角色,他的決定會影響到更大的團隊或體系,所以就需要有 足夠多的相關知識和技能,以及足夠廣的視角,而這些都需要架構師平時不斷的積累。我每年大概會看20多本書,技術相關的大概一半,另一半主要是社科類、經 濟、歷史、管理之類的,對提高架構思維很有幫助。
再次是責任感。之前提到,架構師承擔的是更重要的角色,他的決定會影響到技術選型、系統架構、具體實現的方案甚至系統發展的方向,所以架構師需要有很強的責任感,要對技術團隊負責,需要發揮自己的影響力,做很多溝通、協調、支持的工作。
最后是興趣。在我看來,人是受限于他的性格、興趣、天分這些因素的,會不自覺地去靠近他更喜歡、更擅長的方向。所以,到底是當工程師還是架構師, 或者其他角色,也是要看興趣的,有的人就是喜歡解決技術難題,就是喜歡具體的模塊實現,不想牽扯太多精力去考慮其他的方面,那么也不見得非要當架構師,只 是分工不同,業界也有技術專家、研究員這樣的角色。
架構與管理相通
之前架構師大會上經常有人說,沒有最好的架構,只有最合適的架構。確實如此,作為架構師,很多時候,技術上的東西可能跟程序員差不多,但差別就在于能不能以更大更廣的視角去看待問題,而非僅從自身角度出發。
視角變大之后,所要關注的東西就會變多,變量、變數也會更多,很難理想主義,很多時候都需要做出妥協或者說平衡,到最后就會發現,架構和管理在很多時候是相通的。
管理是在一個有限資源、確定時間點、明確目標的情況下,盡可能達成目標,過程中需要考慮輕重緩急,需要隨時調整以適應現實變化,以完成目標為首要考量。
架構也是如此,需要考慮的是宏觀上的方向性的問題,是各個部分之間的平衡關系,是如何配合才能達成最佳效果,而非僅僅是短期目標而達成,也不必糾結于細節的完美。
這些年,管理、架構都發展出了很多的理論,雖然行業、環境一直在變,但卻也不能直接斷定它們是不是合適,需要學習的是其中的思維方式,具體的問題具體分析。
IT是條不歸路
有這樣的感慨是因為IT行業發展實在是太快了,覆蓋的領域也越來越廣。前兩天剛好面試了一個候選人,40多歲,傳統IT領域的,能力很不錯,在原 來公司也做到了挺高的職位,但他不熟悉現在互聯網主流的東西,面對的也是不同維度的需求,思路對不上,就很難符合我們的要求。每次見到這樣的老大哥,心里 都有很悲涼的感覺。
IT人的能力和價值是基于技術的,一旦跟不上技術進化的腳步,或者當初所選的領域成為夕陽領域,職業道路就會面臨轉折。這也是我之前換工作的原因之一,一直在原來的公司干下去的話,真的會失去競爭力,很有危機感。
尤其對我們這一代做IT的人來說,前面沒有多少人走過這條路,沒有借鑒之處,真的不知道十幾、二十年后,我們的未來會是什么樣?我們這些年的摸 索,也是給后來者趟路,現在剛畢業的二十多歲的年輕人,就能看到未來的方向,知道自己十年之后大概會是什么樣的,但我們真的一直都不知道。
不過,既然選擇了這一行,就只能持續關注行業發展,不斷提升自己,多學習、勤思考,努力走出一條路來。
嘉賓簡介
史海峰 ,當當網架構師,技術委員會成員。
2001年畢業于北京化工大學計算機科學與技術專業,曾在神州數碼、亞信聯創長期從事電信行業業務支撐系統集成工作,參與中國移動、中國聯通多個項目,具有豐富的大型業務系統研發實施經驗。
2012年加入當當網,負責總體架構規劃、技術規范制定和技術預研推廣,善于把握復雜業務需求,提出創新性解決方案,參與了近年當當網多個重點項 目的方案設計,在項目中對系統架構進行持續改造優化。負責技術委員會組織管理工作,發掘最佳實踐、推動技術革新,組織內外部技術交流。
關于EGO
很多東西都是慢慢積累下來的,也是需要自己去領悟的,光知道不明白是沒用的,那最好的方式就是跟人交流,互相交換彼此的看法,就有可能帶來啟發, 畢竟對于同一件事,每個人的理解可能都不一樣。EGO提供了一個平臺,讓大家有了互相交流的機會,分享彼此之間的經歷、經驗,這些都是無形的知識,是很難 以書面方式總結的。另外,會員彼此之間圈子比較接近,更容易有共同語言。當然,最后能收獲多少,還要看你是否真的參與進去了。