1 引言 小團隊一般 10 人左右,其中常常是技術最牛的人做架構師(或TL)。所以,架構師在廣大碼農中的占比大概平均不到 10%。而架構師也可以分為初級、中級、高級三檔,江湖上真正高水平的軟體架構師就更少了。 所以,大部分(超過九成的)碼農幹上許多年,還是做不了架構師,這是什麼原因造成的呢? 2 說 ...
1 引言
小團隊一般 10 人左右,其中常常是技術最牛的人做架構師(或TL)。所以,架構師在廣大碼農中的占比大概平均不到 10%。而架構師也可以分為初級、中級、高級三檔,江湖上真正高水平的軟體架構師就更少了。
所以,大部分(超過九成的)碼農幹上許多年,還是做不了架構師,這是什麼原因造成的呢?
2 說個阿裡高級研究員
章文嵩,滴滴出行高級副總裁,CCF傑出工程師,成名作LVS。
LVS項目里,章文嵩是程式員,也是架構師。
LVS第一版章文嵩花兩星期完成,根據首批用戶反饋,這個demo“集配置簡單、穩定可靠、[可擴展性]於一體”。這環節是程式員最擅長:明確做什麼,怎麼做,再埋頭做出來。
雖“配置簡單、穩定可靠、可擴展”已可過濾相當比常式序員,但真正體現架構師綜合素質,是在這兩星期之前、之後。
3 兩星期前
發現LocalDirector太貴,需幾萬美元,即:
3.1 基於對痛點和需求的理解,決定做什麼是有價值的
項目里需要做什麼事情絕不僅是PM決定,架構師要有自己判斷。架構師本身就是要在需求和技術之間trade off,一門心思搞技術很難成優秀架構師。
判斷達到LocalDirector類似的效果並不難,即:
3.2 對所能取得的預期效果和投入成本,有準確判斷
基於對底層機制的深刻理解,對關鍵技術路徑和關鍵技術問題有準確的判斷。不少項目最終沒有達到預期,架構師能力不達標是主要原因。Meta傾全公司之力打造的元宇宙平臺Horizon在很長一段時間內只有半個身子,現在想來依然搞笑。
LVS技術方案受Berkeley MagicRouter論文啟發,即:
3.3 良好技術視野
這不是做出正確技術選型的必要條件,但幫助無疑是巨大的。對於程式來說更多是How, 但對於架構師而言What和Why更加重要。另外能google就不要baidu。
決定基於Linux開發,這是
3.4 對技術發展趨勢的判斷
將近30年前,Linux遠沒有如今伺服器領域的霸主地位,選擇基於Linux開發並促成LVS進入Linux內核是遠見的。又比如七八年前,在K8s/Mesos/Swarm調度系統三國大戰中押註K8s的架構師也是有遠見的。對趨勢的判斷,會直接影響團隊的產出甚至是項目的成敗。
4 兩星期後
在Linux Kernel郵件列表裡廣而告之。每天會收到很多郵件,有的是用戶使用心得,有的是用戶的修改建議,好的建議我就會採納,這樣LVS得到不斷的豐富和完善,即:
4.1 自我推銷和服務意識
NB的技術和產品不是自己PPT寫出來的,是用戶用出來的。從0到90%簡單,從90%到100%難,剩下這10%靠的更多不一定是技術。
LVS很快聚集來自世界各地的問題解決高手和技術專家,他們一起為LVS的優化添磚加瓦][凡是對LVS有貢獻的人,其名字都會被章文嵩寫入項目歷史中,即:
4.2 技術威望和技術領導力
不管誰加入,章文嵩都遵照自己的技術原則和方法論,掌控LVS的發展路徑,什麼東西做,什麼東西不做,什麼東西怎麼做。同樣不管是誰加入,也都會得到同等的尊重。不是所有開源項目都有如此優秀的領導者,如Rust。
章文嵩經常參加Linux的會議,章文嵩和Netfilter的作者Rusty Russell在酒吧相談甚歡,即:
4.3 social能力
額.....不是架構師必備技能,但確實是提升個人影響力的有效方法。
5 為你總結好的藉口
一般原因是,一般程式員根本對接不到需求方,信息缺乏,得到的工作任務根本都是設計好的離散零碎的小模塊。至於模塊如何組織,為何這樣組織,缺乏信息,缺乏時間,缺乏動機思考。
而且99+%的程式員不喜歡和需求方打交道,而不是沒有機遇。
X 總結
也許你說,這些都不是程式員應該特別關心,而我只是想成為一個架構師,不是要成為章文嵩。如果你有這種想法,那麼有可能單純程式員更適合你。
也許你說,據我觀察XX架構師也就運氣好。也許他確實次次運氣爆棚,也有可能是他在你不註意的地方把問題化於無形了。一般來說,雲淡風輕的架構師還是要比哭爹喊娘的架構師段位高的。
也許你會說,現階級固化,沒上升機會了。只能說一夜暴富的機會越來越少了,但碼農成長為架構師的通道從來沒有也不可能關閉,是不會關閉,因為大多數根本沒這鑽研能力。
本文由博客一文多發平臺 OpenWrite 發佈!