論架構師的自我修養 - w3c菜鳥教程

文章推薦指數: 80 %
投票人數:10人

論架構師的自我修養 · 1. 以理解使用者為榮,以想當然爾為恥 · 2. 以腳踏實地為榮,以誇誇其談為恥 · 3. 以身先士卒為榮,以指手畫腳為恥 · 4. 以實踐檢驗為榮 ... 論架構師的自我修養 2021-09-2306:33:43字數3342閱讀6213 架構師,當然是腦力勞動者,但是同樣是腦力勞動也存在重大的差別。

有一類腦力勞動的成果,是比較容易被評價的。

但是,架構設計只是軟體開發過程中的一個環節,在這個多人協作的場景中,我們很難單獨評價架構的優劣。

架構師,當然是腦力勞動者,但是,同樣是腦力勞動也存在重大的差別。

有一類腦力勞動的成果,是比較容易被評價的。

或者能夠判斷其對錯:比如考試的分數;或者能夠比較其高下:比如兩個人下棋分出輸贏;或者能夠交由市場來判斷:比如某種ui/ue設計,我們可以通過資料統計,瞭解其受使用者歡迎的程度。

但是,架構設計只是軟體開發過程中的一個環節,而在這個多人協作的場景中,我們很難單獨評價架構的優劣。

由於硬體、軟體、部署、人員、測試、使用者、市場等眾多的差別,即使是非常相近的兩個系統,我們也很難判斷兩個架構孰優孰劣。

比如:ebay的架構與taobao的架構哪個更加優秀?在交付拖延的時候,我們可以將問題歸咎於開發團隊的效率低下。

在出現質量問題的時候,我們可以將問題歸咎於測試團隊的疏忽大意。

在負載撐不住的時候,我們可以將問題歸咎於運維團隊不夠專業,甚至是競爭對手的ddos攻擊。

那麼,在出現什麼樣的問題的時候,我們可以將責任歸咎於架構呢? 所以,現狀就是:架構師是一個很難做好的職業。

但是,從某種意義上來說,又是一個非常容易混的職業。

(當然,混是另一種需要持續修煉的高階技能。

)因此,架構師也是特別需要強調自我修養與職業道德的職業。

什麼是架構?什麼是架構師? 對於架構的定義,有很多種,我比較同意的一種定義是:“架構是一組關鍵決策”。

這樣的決策包括但不限於:使用什麼作業系統、語言、框架與類庫;是否在架構中使用某種全新的技術方案;優先考慮或滿足哪一方面的需求以及如何在技術上實現這一點;更進一步的,面對一個不斷髮展的系統,哪些部分需要優先重構or優化、哪些決策需要重新考慮甚至修改;再進一步,某些前瞻性的考慮,也是架構決策的一部分,等到問題發生再來解決,同樣是架構方面考慮不周。

能夠做出這些決策的,就是架構師。

或者說,在一個團隊中,實際的最終決策者,就是事實上的架構師。

無論他被賦予什麼樣的頭銜。

在一個團隊中,我們總能找到這樣的角色(無論他做得是不是稱職),而一個優秀的架構師,就是通常能夠做出“較多”正確決策的人。

架構師的工作是什麼? 僅僅做出決策是不夠的,我們可以從時間線上來觀察:在做出決策之前,架構師需要足夠了解自己的“可選項”,無論是使用者的實際需求,還是最新出現的技術和框架,並且都得要有足夠深入的理解(否則就是在拍腦袋做決策)。

這時,架構師的角色,是一個“研究者”。

在綜合各項因素,甚至是相互矛盾的各種需求之後,在考慮到團隊的實際能力與交付壓力之後,在平衡了先進性與可靠性、擴充套件性與穩定性、重要性與緊迫性之後,架構師做出了一組決策。

這時,架構師的角色,是一個“設計師”。

為了確保自己架構設計能夠被正確地實施和貫徹,架構師需要與研發團隊密切配合,或者說服、或者引導、或者輔導、或者鼓動、甚至需要某種“強有力的推進手段”,這對於架構師的「硬實力」與「軟實力」都提出了很高的要求。

這時,架構師的角色,是一個“topcoder”。

在某些大公司,架構師還需做很多的文件工作,這些文件並不是交付給開發團隊的說明性文件。

而是某種向上級證明某某方案可行,某某架構有效的證明性文件。

這時,架構師的角色,是一個“說服者”。

從上面的描述,我們也可以發現,架構師像是一個千面人:需要與上下前後左右的不同角色打交道;多面手:需要了解甚至掌握諸多不同的知識和技能。

要想做好這個工作,提升自我修養是根本之道! 什麼是架構師的自我修養? 1.以理解使用者為榮,以想當然爾為恥 架構師不是產品經理,不是市場人員,不是客服人員。

但是,如果只懂技術,只考慮技術,不能深入的理解使用者的需求(強調一下,使用者的真實需求!),就會做出“純粹追求技術先進性”的想當然爾的架構出來。

2.以腳踏實地為榮,以誇誇其談為恥 架構師當然需要很強的表達能力,甚至還需要有忽悠能力。

但是,無論是表達還是忽悠,都必須以“實力為基礎”。

如果不能腳踏實地,積累實力,只會誇誇其談。

那就相當可恥了。

3.以身先士卒為榮,以指手畫腳為恥 還是那個經典的臺詞“兄弟們跟我上”與“弟兄們給我上”的區別。

如果對於一些困難的問題,架構師自己都搞不定,卻擺出一副胸有成竹的表情:“這不是很簡單的嗎?你到網上搜一下嘛,資料大把大把的。

”這種做派,就很令人不齒。

4.以實踐檢驗為榮,以道聽途說為恥 如果某種技術,架構師自己都沒有做過評測,沒有看過框架**,沒有在過去的實踐中應用過。

卻因為一篇文章,一個講座,甚至某個大公司曾經用過這樣的證據,就將一種技術引入到專案之中。

這樣的決策,很少有不失敗的。

5.以先見之明為榮,以後知後覺為恥 “過度設計”當然是一個貶義詞,但是架構師一定要有前瞻能力。

不能等到火燒起來了,再去救火。

雖然在企業裡,的確存在“救火英雄升遷快”的現象。

但是,一個優秀的架構師,應該以“消除隱患於無形”為榮。

6.以相容幷包為榮,以獨斷專行為恥 在架構領域,很少有唯一解、最優解。

大多數時候,我們只能在多個各有優劣的方案中,反覆權衡,考慮取捨。

這時,開闊的視野、開放的心胸,就顯得尤為重要。

如果一味的獨斷專行,聽不進團隊裡其他同事的意見(尤其是那些學習了喬布斯的架構師),就會非常危險。

7.以主動學習為榮,以固步自封為恥 技術的進步實在太快,曾經有一種誇張的說法:“平均每天誕生一種革命性的、顛覆性的技術”。

雖然有很多新技術,都在如此宣稱,作為架構師,卻必須不斷地主動學習,瞭解,甚至在某些領域做一些初步的嘗試。

這樣的過程,在架構師的整個職業生涯中,都無法停止。

一旦產生了“固步自封”的念頭,這個架構師也就“不過爾爾”了。

8.以勇猛精進為榮,以疏忽懈怠為恥 架構師是一份困難的工作,更加重要的是:隨著架構設計的完成,架構師的工作,才剛剛開始。

接下來的任務,會非常瑣碎,也許會更加困難。

這份工作的主題是:“架構看護”儘可能保護架構,不會隨著時間的推移,隨著特性的增加,漸漸變得腐化。

很多最初設計得相當優秀的架構,到最後變得不堪入目。

說到底,還是要怪架構師沒有能夠堅持自己當初的決策。

如何提升架構師的自我修養? 在《中庸》裡,子曰:“好學近乎知,力行近乎仁,知恥近乎勇。

知斯三者,則知所以修身;知所以修身,則知所以治人;知所以治人,則知所以治天下國家矣。

” 簡單的翻譯解釋下:好學就能顯得有智慧(至少能有知識),力行就能不脫離群眾(因不忘本而能具備仁慈之心),知恥就能守底線(有所為有所不為之勇)。

能做到這三點,就算是懂得如何提升自己的修養了。

懂得如何提升修養,才能懂得如何駕馭團隊。

懂得如何駕馭團隊,才能創作出真正偉大的,甚至風行全球的軟體產品來。

這就是我理解的架構師的中庸之道,與諸位共勉吧。

相關推薦 智慧家庭本週鋒聞蘋果,腎不夠用了! Linux運維工程師必須掌握的基礎技能有哪些? 閒話虛擬化和雲端計算的異同點 論架構師的自我修養 AI和機器學習的快速發展惠及資料儲存行業 相關推薦 智慧家庭本週鋒聞蘋果,腎不夠用了! Linux運維工程師必須掌握的基礎技能有哪些? 閒話虛擬化和雲端計算的異同點 論架構師的自我修養 AI和機器學習的快速發展惠及資料儲存行業 相關閱讀 智慧家庭本週鋒聞蘋果,腎不夠用了! Linux運維工程師必須掌握的基礎技能有哪些? 閒話虛擬化和雲端計算的異同點 論架構師的自我修養 AI和機器學習的快速發展惠及資料儲存行業 做好BYOD安全必須保證“7個要務” topic 科技 教育 python 社會 linux 數碼 java c++ 遊戲 演算法 資料庫 健康 mysql 文化 汽車 娛樂 科學 財經 資料結構 C語言 職場 php oracle C c# 作業系統 工作 體育 網路 sql



請為這篇文章評分?