當前位置:
首頁 > 科技 > 如何成為一名優秀的架構師

如何成為一名優秀的架構師

身為技術人員,相信很多人都思考過這麼一個問題,工作多年,業務代碼寫的非常熟練,寫的程序很少出現 bug ,也非常願意在組內進行技術分享,偶爾看著組內的後輩工程師,回想當年的自己,卻開始迷茫下一步的職業規劃在哪裡。

針對技術人員,職業發展有以下幾種可能:繼續專精技術、轉型管理和晉陞架構師。本篇文章不灌雞湯,不販賣焦慮,靜靜地聊一聊一個多年的資深技術人員如何成為為一個優秀的架構師。

聚合數據大數據部門的技術總監曾說過,架構師並不等同於資深的程序員。架構師和程序員之間的區別,有點類似於工匠和架構人員的區別,工匠其實是做好自己的工作,並且把自己的工作做到極致。架構師除了對自己的工作有足夠的自信,還能夠幫助別人來解決問題,並能幫助組織和整個系統來完成整體的工作。

從這一點來看,架構師在做架構之前,對問題的定義至關重要。因為他需要發現利益相關方,從多個角度去認真理解真實的需求,同時要抽象出核心的概念以及核心的需求,然後,需要對問題進行切分,在這個過程中我們必不可少地涉及到組織或人,這也是很多架構師可能會忽略的問題。實際上每一個架構的背後,都必不可少地涉及到人的問題或者組織的問題。

常見的架構的思維誤區

阿里 p9 專家李運華曾言

提供線索的編輯後來我帶了團隊,看到幾乎每個程序員在嘗試架構設計的時候,都面臨著我曾經遇到過的各種困惑和瓶頸。特別是我作為職業等級晉陞評委的時候,發現很多同學技術能力很強,業務也很不錯,但卻卡在了架構設計這方面

這裡提到的問題,其實是思維上的幾個誤區,架構設計的關鍵思維是判斷和取捨,程序設計的關鍵思維是邏輯和實現。任何一個優秀的架構師都有自己獨特的思考方式,這決定了他如何抽象系統,以及如何「創造性地」設計與構畫這個系統。例如,我們一直在討論的「架構思維」——這樣一個內在的系統與規則都是未可知的新東西。對此,我們沒有現成的、成熟的辭彙去描述它,因而必須構建一個抽象系統,或映射或重現這個「架構思維」,進而闡述清楚它的架構與邏輯。

其次,很多人認為架構師需要足夠高的天賦才可以,他設計的架構設計必須要高大上才能體現架構師能力;架構一定要具備高可用,高性能,分散式等特點,這其實是完全脫離業務的程序員思維,完全沒有考慮到業務需求以及如何去尋找業務與架構上的平衡點。

架構這個東西沒有一套放之四海而皆準的模版供你使用,因為每個公司的業務都是千差萬別的,但是既然可以作為一種職業,如果把它抽象到一定高度,還是能找出許多共同點。

如何成為一個合格的架構師

首先,雖然架構這個職業 title 很高大上,是架構師,但本質,架構師首先得是個能力極強的程序員,需要能基本了解常用平台,語言,資料庫等的特點,並能根據需求搭配出適用的開發配置方案。

其次,架構師要有技術說服力。身為一個架構師,不是把自己的代碼寫好就可以了,需要把你所構思的想法說給別人聽,並能讓別人理解並接受你的設計想法。

再次,既然身為架構師,就代表著要終身學習,你要儘可能的理解最新資訊,更新最新技術理論,雖然很多新的技術你不一定要精通,但是你最起碼要知道了解。

最後,送給廣大程序員朋友的建議,除了上面的幾點,身為一個架構師,需要建立完整的知識體系,善於吸收前輩的經驗,然後你會發現,你能解決的不只是一個問題,而是可以解決一類問題。

同時,最重要的一點,你要具備高效、準確的溝通能力。這有點像上面說的技術說服力,你要能夠非常清楚的把自己的想法描述清楚並有效的傳遞給你的老闆,負責業務上的同事。很多技術人員在溝通的時候習慣經常說一些技術術語,這其實非常不利於業務人員來理解你的想法。

最後,如果你也正在苦惱如何從一個資深的軟體開發人員成長為一個合格的架構師,不妨關注一下極客時間最近推出來的《從零開始學架構》這個專欄,專欄作者是阿里 p9 的專家,學習本專欄,你可以掌握通用的架構設計原則,無論是何種業務或技術,架構師在判斷和選擇的時候有一套方法論可以參考,避免架構設計舉棋不定,或者拍腦袋式設計。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

重磅!微軟內部研究數據集正式對外開放,覆蓋NLP、CV等9個領域
Kubernetes!我要用這樣的姿勢擁抱你

TAG:InfoQ |