論架構師的自我修養 - w3c菜鳥教程
文章推薦指數: 80 %
論架構師的自我修養 · 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
延伸文章資訊
- 1你和世界上頂級的程式設計師差幾個等級? - 每日頭條
成為架構師需要掌握哪些技術能力呢?如何融會貫通所有這些知識,信手拈來運用到自己的架構設計中呢?由同程旅行首席架構師、《架構師的自我修煉: ...
- 2[筆記] TGONext 架構組- 架構師的自我修煉 - m@rcus 學習筆記
軟體架構師的12項修煉 : 作者認為軟技能是架構師的必修課,整理出3 大方面分別是關係、個人與商務技能,教導程序猿修煉如何將三大項底下的12 項軟技能 ...
- 3架构师的自我修炼- 图书 - 豆瓣
架构师的自我修炼豆瓣评分:6.8 简介:架构师的工作包罗万象,从开发基础框架到设计软件架构,从优化系统性能到修复重要Bug,从新技术选型到做出关键 ...
- 4架構師的自我修煉:技術、架構和未來 - 博客來
書名:架構師的自我修煉:技術、架構和未來,語言:簡體中文,ISBN:9787111679363,頁數:316,出版社:機械工業出版社,作者:李智慧,出版日期:2021/05/01, ...
- 5架构师的自我修炼:技术、架构和未来- 图书 - 京东
京东JD.COM图书频道为您提供《架构师的自我修炼:技术、架构和未来》在线选购,本书作者:,出版社:机械工业出版社。买图书,到京东。网购图书,享受最低优惠折扣!