架构师这5条禁忌,你犯了么?
本文作者曲健,1024生人,天選程序員,漿糊人送外號“大爺Dà Yé”,目前在奧琪科技擔任首席架構師一職。
,
OH, NO !
架構師作為技術領域的頂尖戰力,上能妙碼生花(代碼),下能丹青栩栩(繪圖),是未來架構路線的設計師,是各項選型規范的話事人和推動人,是應對疑難雜癥啃硬骨頭的119隊員,更是科技創新的開路先鋒...瞧,架構師可以做如此多的事情,面對不同技術水平的團隊也無需慌亂,有所側重即可。
市面上關于架構師技能樹如何點亮的分享已多如牛毛,咱反其道而行之,寫寫架構師容易踩的坑,大部分是我自己踩過的坑,所謂“以人為鑒,可以明得失”。另外本文觀點有前提,即文中架構師是指有“真材實料”的非水貨。即便這樣,這群鋼鐵直男/直女仍難免犯一些忌諱卻不自知,故而有此一文。
技能圖譜
后端架構師技能圖譜
https://github.com/xingshaocheng/architect-awesome
IT界除了那兩個著名矛盾:研發vs產品經理,研發vs測試,還有個隱晦的矛盾就是 架構師 vs 其他所有人,只是只有IT人自己才懂罷了。架構師與研發、測試、產品、業務、運維、PMO都可能起沖突,因為在我看來,架構師既是“規則制定者”(老板),又是“規則受益者”(投資人),更是“規則參與者”(員工),三角兒合一自己跟自己玩就好了,還管你們其他人做甚?你們跟上就好。這,就是矛盾源泉。希望本文的這些小心可以最大程度化解這些矛盾吧。
01
忌降維打擊
圖源自pexels
以架構師的專業底蘊,在團隊交流協作時極易流露出降維打擊姿態,特別在團隊的專業能力差別巨大時尤甚。表現在言語上如:
“這N年前的過時技術/設計了”
“你沒理解這個技術的底層原理”
“你們這個抽象考慮的過于簡單了,后面架構重新出個標準化組件,你們用就好”
“這種實現嚴重違背了XX原理/定理/原則,建議重構”
大家感受到了沒?擁有核武的架構師 與 手端AK47的程序員 很多時候本就不在一個水平線上,這是客觀事實,但這不是架構師可以發動核打擊的理由。很多時候,架構師的一兩句沒有同理心的表述會瞬間拉遠與團隊的距離,成為脫群孤雁。當然也不是說程序員都這么敏感和脆弱,但是架構師似乎特別擅長激化這種不同維度之間的矛盾。
偶有架構師跟我吐槽,某些團隊水平真的太糟糕了,完全帶不動啊。誠然有些程序員的素質確實讓人不敢恭維,但當一個架構師流露出自己超出團隊水平一大截,且團隊無法有效執行自己的技術意圖時,架構師就會不自覺的輸出“降維“攻擊。一個優秀的團隊可以自驅動,可能壓根不需要你這個架構師,一個普通甚至不及格的團隊才能如實體現架構師的領導能力。這時架構師要做的不是“降維”攻擊,而是“降維”思考,請將架構師“高高在上”的視角先拉到團隊的平均線上,以此循序漸進增加難度和目標,量體裁衣獲得點滴進步至少是進步,拔苗助長只會適得其反。
一來大家誰不是從hello world開始的,聞道有先后罷了,真不至于那么高傲;二來架構師的權威力和公信力不是也不能靠降維打擊塑造起來的,而是靠每一次正確的決策、每一個正確的方案等等累積出來的。三來程序員里即便不是臥虎藏龍至少是各有所長吧,架構師動不動翻車被打臉也不算什么稀罕事,只是好不容易累積的那點權威分分鐘被揮霍掉。
02
????忌脫離業務
圖源自pexels
經過這么多年市場的摧殘,應該鮮有人還會挑戰這個結論吧。妄圖以技術改變世界的,不出意外都被業務方爸爸給教育得妥妥帖帖。任何企業的終極使命都是活下去,要活就需要銀子,要銀子就得有盈利預期的商業模式。不客氣點說,市面上那些逢必談技術驅動的創業公司,大多是還沒找到自己的盈利點的。因為真正的技術驅動,在我看來,從來都是為商業服務的,還真的天真到以為是為了改變世界啊?
架構師更無法超然于業務之外。如果你的設計、你的底層邏輯不是為業務預期籌劃的話,不止業務方不滿意,包括實施的研發團隊也會不堪重負。很簡單,當技術方向與業務方向不一致有夾角的話,時間越久實施團隊的負擔會越重,實施成本和工期也會越高,到最后必然是技術的妥協。當技術不能帶來收益,什么情懷什么情結都是唬人的泡泡,一戳就破。
再說一個觀點,架構師其實也是個服務行業,為業務團隊更快更好的交付價值而努力,為組織將價值最大化而努力。所以架構師的目標和業務團隊的目標當然應該是一致的,深入業務一線、掌握業務脈絡、預測市場趨勢都應該是架構師需要涉獵的,不然選擇同步還是異步,用戶ID選擇INT還是BIGINT還是提前規劃為分庫分表的分段式設計,選擇線性一致性還是最終一致性...從來都不是拍腦袋選的,而是基于用戶和市場做出的當下最合理準確的判斷。可以粗糙落地但必須未雨綢繆,可以未雨綢繆但不可過度謀劃。
03
忌不計成本
圖源自pexels
自古以降,IT都被視作成本中心,翻譯下就是,IT一個花錢部門,掙錢?那是銷售和市場的事。誠然,隨著國內最近幾年互聯網的大浪淘沙,對IT的投資大部分老板不太會吝嗇了,就沖著程序員這種悶頭干的傻勁,肯定是物超所值。但IT的這種“悶頭干”值不值,必須有個前提就是方向對不對,而架構師就是指方向的關鍵人,如果指錯方向的話,血本無歸真不是開玩笑。簡單一句話就是,身為成本中心的IT最應該有成本的覺悟。
讓人哭笑不得的是,程序員群體里有成本意識的人少之又少,最有成本意識的可能是CTO或者人力外包的項目經理了吧。架構師作為追逐技術領先的扛把子,一旦沾上了追求完美的“惡習”,就會浮想聯翩,這功能得上那功能也不能缺,“過度”追求超出當前業務規模和需求的技術投入。像不像雙11的你,提前消費屯了一堆你一年可能也用不完的東西,等一年過去了,新的雙11來了,有了更想買的東西,原來屯的可能也過期了,技術同樣如此,同樣有保鮮期。所以,架構師們請捂緊錢包(成本),理性架構。
有時候未雨綢繆的鋪墊性設計就好,不用全部實現到位。比如目前的業務并發量壓根用不到限流,但是你可以先有一個網關應用,或者請求攔截組件,能夠隨時注入這個限流功能,并且對業務系統還是無感的,這就是優秀的鋪墊性設計,點到即止。
在追求完美的這條不歸路上,似乎架構師都變成了處女座,世界不是完美的,一直這么運轉著,系統更加不是完美的,也這么運行著。因為任何好或壞的事物都會找尋那個平衡點,讓其自身存在著。比如自行車就是個極端不平衡的交通工具,而我們不管怎么歪歪扭扭的騎著它就是不會摔,因為我們找到了人體與自行車之間的美妙平衡。所以,架構師追求的從來就不應該是完美的“方案”,而是完美的“平衡”:技術成本 vs 技術收益,系統化的有所取舍。
04?
忌重復勞動
圖源自pexels
程序員,作為著名的腦力工作者,八成的時間卻是在重復勞動。所謂學會增刪改查,走遍IT都不怕。但是架構師卻不能在此列,架構師確實需要有大量的經驗打底,但這個底可不是用來做重復的設計或方案的,是用來以此為基礎做出更多的沉淀、抽象、復用、創新、升級。
在我看來,架構師證明自己有存在價值的重要依據就是,自己和所屬團隊是否長期在從事重復勞動。架構師自己在重復勞動,說明缺少了創造力;團隊在重復勞動,說明架構師沒有為團隊起到領導作用。架構師最應該是那個拿著榔頭滿世界找釘子的人,重復勞動不一定就是壞的但一定是有優化空間的,身為架構師要是對這顆釘子視而不見,讓組織陷入重復勞動的泥潭中,架構生涯堪憂。當然還是要強調一下,滿世界找釘子敲也要有個度,因為我們的上一忌就說的是成本,一個組織不可能支持你漫天開火。
一句話,當你看到了很多釘子的時候務必按耐住,找到最突出的幾顆敲;當你突然看不到什么明顯釘子的時候,重復勞動這顆釘子一直就在那兒等著你。
05
忌權威效應
圖源自pexels
權威的來源多種多樣,可以是傳統型的權力、宗教、等級,也可以是魅力型的才能、品格、信仰,更可能是理法型的律法、服從。架構師的權威當然更多的是來自于專業性才能,前文也或多或少提到了,架構師工作可以有效推行更多靠的是權威。當技術服你,業務認你的時候你的架構決策當然會推行的比較順利。而當權威因為錯誤的決策或者無法帶領團隊攻克難關、突破瓶頸,而不斷被損耗之后,你以后的工作可能會舉步維艱,隨之而來的是被挑戰、被質疑甚至被無視。
我沒能耐勸說你不必執著,放下再爭取回來就是了,這可不是一件輕巧的事情,需要內功修煉。但換個角度說,再牛的人也有犯錯或者被吐槽的時候,我等凡人也就沒必要硬要偽裝完人了。
See
JAVA語言的 TOP 10 的糟糕設計
https://www.intertech.com/Blog/top-10-nasty-java-bugs/
JDK里最糟糕的類討論
https://www.reddit.com/r/java/comments/5u6wwz/whats_the_worst_java_class_in_the_jdk/
前面說的是架構師要慎重應對權威的損耗,而權威這把雙刃劍還有鋒利的另一面。當架構師躺在權威的溫床上,除了滋養第一忌提到的降維打擊姿態之外,還會抗拒團隊內外的挑戰,嚴重點的,一些正常建議和討論都會被視作對于權威的挑釁,真到這一步就有損整個組織的進步了,所謂權威的陰影就是如此,整個團隊都在陰影里而不敢走出,如履薄冰。
名人名言
因為我對權威的輕蔑,所以命運懲罰我,使我自己竟也成了權威。
To punish me for my contempt for authority, fate made me an authority myself.
——愛因斯坦
可能并不是愛因斯坦說的,然后并不重要。
06
最后
圖源自pexels
著名的熵增原理也就是熱力學第二定律告訴我們,一個孤立的系統會不斷的走向無序和混亂,直到最終消亡,組織同樣如此。管理學大師彼得德魯克說過:管理要做的只有一件事,就是如何對抗熵增。架構師的這五忌都會加速組織的熵增,在架構師的職能內核里除了專業技能就是管理,所以別以為管理與架構師絕緣。反抗熵增(讓組織有序)的手段很多,比如注入更多的創新或者科技含量、制定合理有效的流程規范、標準化各種基礎框架等等。聰明的你肯定知道怎么做,甚至可以做的比我知道的更多。
合格的架構師唯一考核指標就是,不僅受團隊敬仰亦得領導垂青。做到這兩點,就離成功不遠了。
往期推薦閱讀
?
已火 2 年,Service Mesh究竟給微服務帶來了什么?
?
技術管理者必備管理模板
?
他,用了14年,從初代豆瓣工程師到AI公司CTO,創業心一直未變
? ?END ? ?? #接力技術,鏈接價值#總結
以上是生活随笔為你收集整理的架构师这5条禁忌,你犯了么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nyoj-Color the neckl
- 下一篇: hdu-1576(A/B)