幾個月前,公司因為戰略調整,將位於美國的系統工程(system engineering)部門的工作轉到了國內。也因為這次調整,我有幸以系統架構師(system architect)的身份主導產品一新功能(feature)的開發。在此我分享自己的一些體會。
從開發架構師變成系統架構師所面臨的第乙個挑戰,是所面臨的技術範疇和問題複雜度變廣和變大了很多。做開發架構師(development architect)時,只要關心整個系統乙個子產品的內容,而系統架構師卻得關心多個產品的內容。做開發架構師時,由於系統架構師已將問題進行了分解,因此所看到的複雜度也只是整個解決方案的一部分。做開發架構師時,對於不明白的問題,我們可以想當然地向系統架構師諮詢,而做系統架構師時,不少情形下就要自己通過查閱規範去尋求問題的答案,並在必要時指導開發架構師的工作。
系統架構師引導產品開發工作的方式是提供系統架構文件(system architecture document,其中以用例描述為主),要寫好這一文件也是不小的挑戰。乙個組織得再好的文件,新手要在2300多頁的文件中找準開發新功能所需修改的各個點並不容易。找修改點的過程需要通過閱讀去把握文件的編寫脈絡,修改點找到後又需要模仿前人的語氣、角度和風格進行編寫,否則寫出來的內容會讓人覺得突兀。在系統架構文件中描述用例時,對於假設(assumption)、前置條件(pre-condition)和後置條件(post-condition)的把握有時是個難點,這需要自己有很清晰的思路和做深入的思考。
做系統架構師需要與更多的人進行互動,這又會讓人面臨新的挑戰。比如,系統架構師需要了解各運營商的網路部署情況以尋求相容性解決方案,這就需要與客戶團隊(account team)進行互動;要了解第三方的產品特性就得與賣方管理者(vendor manager)進行互動;等等。為此,系統架構師需要對產品線的相關組織架構相當了解,並對各種角色(包括專案經理、產品經理、客戶團隊等)的職責有清晰的認識,否則會出現有問題不知向哪尋求幫助,或者做那些不在職責之內的事等問題。
除了以上提到的對於架構師的挑戰外,乙個成熟、穩定的產品研發管理團隊對新系統架構師上手工作很有幫助。它有助於系統架構師快速地明確自己的工作職責和幫助建立起所需的人際關係。反之,如果沒有這樣乙個團隊,由於系統架構師的經驗不足而容易出現一些扯皮現象而影響工作的開展。
系統架構師新手一定不能忽視團隊的作用,以及在合適的時機向上司或其它富有經驗的管理者尋求幫助,這是我最大的乙個體會。團隊的作用在於能幫助分擔工作,並為技術方案的定型出謀畫策。系統架構師新手由於一直身處技術領域,所以與富有經驗的管理者相比,他們的技術大多不是瓶頸,但在管理方面就很有可能不如他們。他們由於閱歷豐富而能很快地幫助找到管理問題的根結點,幫助我們從困境中走出。注意,系統架構師所需的不只是技術能力,更有管理能力。
總而言之,做系統架構師的確是很大的乙個挑戰。但無論如何,直面挑戰是我們最好的選擇!沒有痛苦就沒有成長!
推薦閱讀
《軟體架構師的能力與特質》
《軟體開發架構師的職責》
本文出自 「李雲」 部落格,請務必保留此出處
軟體系統架構師成長之路(一)
幾個月前,公司因為戰略調整,將位於美國的系統工程 system engineering 部門的工作轉到了國內。也因為這次調整,我有幸以系統架構師 system architect 的身份主導產品一新功能 feature 的開發。在此我分享自己的一些體會。從開發架構師變成系統架構師所面臨的第乙個挑戰,...
軟體系統架構師成長之路(一)
幾個月前,公司因為戰略調整,將位於美國的系統工程 system engineering 部門的工作轉到了國內。也因為這次調整,我有幸以系統架構師 system architect 的身份主導產品一新功能 feature 的開發。在此我分享自己的一些體會。從開發架構師變成系統架構師所面臨的第乙個挑戰,...
軟體架構師成長之路
軟體架構師成長之路 架構師,他是作為純技術類最高職業,是公司 企業對個人深厚技術功底的一種認可和肯定,國家層面有系統架構設計師,是眾多程式設計師 軟體工程師職業生涯夢寐以求的技術崗位。作為乙個軟體架構師,您需要了解的知識,小虎覺得這應該是軟體架構師成長之路,避免要回答的問題,不能迴避,必須了然於胸,...