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