偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

我是如何在阿里做“架構師”的?

新聞
架構是一種能力,它不是頭銜。換句話說,我們需要具備架構能力,但不一定要成為架構師。

 架構是一種能力,它不是頭銜。換句話說,我們需要具備架構能力,但不一定要成為架構師。

?[[331339]]?

圖片來自 Pexels


既然這樣,那我們還需要架構師嗎?還需要架構部門嗎?我給出的答案是:不需要,因為每個人都應該是架構師。

為什么架構師不 Work?

在來阿里之前,我是在 eBay 的 payments 部門工作,當時有一個架構師叫 Scott,所有的設計和方案都需要獲得他的 approve 才能通過,結果他成了整個團隊的 bottleneck,很多事情都 block 在他那個地方。

工程師很難受,光是給他介紹業(yè)務和系統(tǒng)設計,就需要花費了大量的時間討論(因為時差原因,經(jīng)常一個討論要一個星期才會有定論)。

他也不容易,要去理解每個系統(tǒng)的結構和業(yè)務細節(jié),已經(jīng)累成狗。效率低下尚且不說,這樣的折騰最后帶來了什么益處呢?

說實話,我現(xiàn)在回想起來,除了幾個變量命名我覺得 Scott 說的比較有道理以外,其他還真沒什么更有價值的東西了。

這里我想主要問題是因為 Scott 不在執(zhí)行團隊內(nèi)部,他不了解細節(jié),所以也很難給出有價值的輸入。

很多東西,我們認為“他不懂”,也就是他的方案不能讓我們信服,自然,合作起來就很困難。

很多人喜歡拿建筑架構和軟件架構做類比,認為既然建筑需要建造師,那么軟件也應該需要架構師。Too simple,too naive!

其實,二者除了都需要有圖紙,都有藝術的成分之外,并沒有多少共同之處。

首先,建筑和軟件不同。

建筑的標準性、確定性要比軟件高的多,而軟件的靈活性簡直是沒有邊界的,任何一個 function 都可以有無數(shù)的實現(xiàn)方式,沒有定式。

因此,軟件架構圖的約束力,要遠遠低于建筑圖紙的約束力。建筑如果不按照設計來,你就不能實現(xiàn)其功能。而軟件設計文檔和代碼,完全可以是兩個平行宇宙。

其次,建筑工人和程序員不同。

程序員的工作絕對不僅僅是“搬磚”這么簡單,軟件設計是一個充滿挑戰(zhàn)的創(chuàng)造性工作。

它需要對各種微妙之處進行權衡,只有深入其中,hands-on coding,才能真正的發(fā)現(xiàn)問題。

因此,飄在開發(fā)團隊之上,指手畫腳的 PPT 架構師,注定是很難成功的。

為什么架構部門不 Work?

如果說架構師是輕量級解決方案的話,那么,還有一個“大規(guī)模殺傷性武器”就是設立一個專門的架構組織。

幾年前的 B2B 就有一個這樣的架構組織。我記得在當年的“架構圖”KO 會議上,當時的負責人要求我們畫架構圖,我就質問他這個架構組存在的意義是什么?

如果只是畫架構圖,給老板當 PPT 用的話,這個圖我不愿意畫。我當時還嚴厲的說了句名言——KO 不一定要 Kick Off,也可以是 Kick Out。

不止于此,而后我又“上書”到當時 B2B 的 CTO,再然后,隨著 CTO 的調(diào)離,架構負責人的離職,也就沒有然后了......

實際上,“架構圖”這種務虛活動還好,雖然無用,但也構不成殺傷。真正構成殺傷的是架構組織不甘無為,挖空心思要“做事情”。

可以說,在業(yè)務技術部門,架構組這種“想做事”的行為是很危險的,事情越大,殺傷力越大。

何出此言?我們不妨先來看一下,在業(yè)務技術部門,架構組織能做什么?

①業(yè)務架構?

我是營銷域的,是訂單域的,是商品域的,是供應鏈域的... 你架構組告訴我,你對業(yè)務領域,業(yè)務流程,業(yè)務細節(jié)的理解比 PD、運營、工程師更懂?

恐怕難,一個合格的 PD 應該能做好業(yè)務領域的抽象和業(yè)務流程的抽象,至于細節(jié),好像沒有人比一線開發(fā)更懂。架構組,卒!

②應用架構?

需求相對清晰之后,我一個在應用架構領域尚且有一些影響力的 TL 在和團隊討論邊界劃分,設計方案的時候,時常會爭論不休。

你一個架構組的“外人”想來指手畫腳?呵呵,你這是有多低估程序員的自尊心啊。架構組,卒!

③技術架構?

好吧,那我們架構組回歸技術本身,做點純技術的事情總可以吧。對不起,但凡有點價值的技術中間件,已經(jīng)有中間件團隊在做了。

還記得,ICBU 架構組搞的 Hilton 容器和 AE 架構組(中間件團隊)的“我行我素”使用 Spring Boot 嗎?

這種重復造輪子完全沒有必要。在云原生成熟之前,PandoraBoot 就是最好的解決方案。架構組,帶著整個 BU 一起——卒!

在此我想稍微提一下支付寶的中間件團隊(架構部門?),我不知道歷史,也許 TecFin 的確是有其特殊性。

但是,從整個集團角度來說,我認為統(tǒng)一的技術中臺,應該是更好的做法。

對一個企業(yè)來說,也許在某個特殊階段,的確需要實體架構組織去保障落實架構工作。

但大部分情況下,特別是在技術體系已經(jīng)相對完備的情況下。比如在阿里,業(yè)務技術部門,最好是不要在 BU 內(nèi)設立專門的架構組織。

相信我,在我的職業(yè)生涯中,看到過很多業(yè)務技術部門設立的技術架構組織案例,基本都是以失敗而告終。

人人都是架構師

架構師不行,架構部門也不行。那架構的事情誰來做呢?看一下你座位左邊的,再看一下你座位右邊的,再看一下你主管.... 別看了,他們是要做,你自己也要做,人人都是架構師。

首先,讓我們來看一下什么是架構能力,我認為廣義的架構能力,應該是一套分析問題、解決問題的方法論。

它需要你具備洞察問題本質要素,理清要素之間的關系,以及制定相應策略的能力。

??

從這個視角出發(fā),我認為架構能力就是核心競爭力,每個工程師都應該具備一定的架構能力,人人都應該是架構師。


怎么理解?我認為有如下三點:

①作為技術一線員工,也許你的工作時間并不長,架構能力相對較弱,沒有捷徑,學習學習再學習,成長成長再成長,架構作為能力是可以習得的,沒那么高深。

②作為技術團隊 Leader,你必須要具備一定的架構能力了,不管是業(yè)務架構還是應用架構。

TL 都應該具備能發(fā)現(xiàn)問題里的本質要素,以及理清要素之間關系的能力。如果你已經(jīng)是一名 TL,然而架構能力還比較欠缺,則需要盡快去補足。

不足沒有關系,有關系的是停止了學習和成長。就像懷素說的,很多后勁不足的人主要是過早的停止了學習和成長,你的能力應該是圍繞著你的層級震蕩的,這個震蕩范圍偏差不會太大,遲早會歸于一個相對合理的區(qū)間。

③作為 CTO(沒吃過豬肉,但看過豬跑),CTO 沒得選了,必須是一個非常、非常優(yōu)秀的架構師才行。你不僅要熟悉業(yè)務架構,精通技術架構。

更重要的是因為屁股問題(康威定律),你還要去設計組織架構,讓生產(chǎn)關系適應生產(chǎn)力的發(fā)展。唯有如此,技術才能穩(wěn)定高效的支撐業(yè)務發(fā)展。

聽說,騰訊沒有 CTO,所以他們每個 BU 都有一套自己的技術棧和中間件,大家各自為政。

??

如果上圖對騰訊的架構描述屬實的話,我覺得最好他們還是要有一個 CTO 比較好。


因為很明顯,對于通用的技術解決方案,比如大數(shù)據(jù)處理,技術中間件。沒必要重復造輪子,復用很明顯是更加科學的做法。

在這一點上,如下圖所示,我認為阿里無疑是走在騰訊前面的。其中,數(shù)據(jù)中臺和技術中臺,我認為是阿里做的最好,也是最 NB 的地方。

至于業(yè)務中臺為什么旁邊飄著一朵小烏云呢,這是因為業(yè)務的抽象復用要比技術的抽象復用難的多的多的多,不同業(yè)務面臨的業(yè)務問題的差異是巨大的,而不同業(yè)務面臨的技術問題相對業(yè)務問題,要穩(wěn)定的多。

我想,這也是為什么技術中臺已經(jīng)成功,業(yè)務中臺還在探索的原因吧。

??


如何踐行

最后,分享一下我是如何在團隊做“架構師”的。

一方面,我會不遺余力的培養(yǎng)團隊成員的架構能力,我會不斷的和他們探討系統(tǒng)的邊界是否合理,模型抽象是否合理,流程抽象是否合理,模塊設計是否合理。

并要求他們說清楚設計背后的思考和理念是什么,然后用我自己的方法論、思考和他們?nèi)ヅ鲎?,這樣反復進行,我和團隊都會有所成長。

另一方面,我會 hands-on coding,參與核心業(yè)務邏輯的編碼工作,這點很重要。

一定要深入代碼細節(jié)中去做架構,因為很多問題只有在 Coding 的過程中才會暴露出來。

另外,無謂的討論是低效的,驗證架構是否合理的方式,就是結合業(yè)務場景,寫代碼去驗證。

設計是否合理,是否優(yōu)雅,在 Coding 的過程中,便能獲得很好的反饋。我不止一次,在寫代碼的過程中,去重構原來的設計,甚至是完全推翻重來。

總而言之,架構作為一種能力,作為我們工程師的核心成長目標,值得我們?nèi)プ巫尾痪氲淖非?。而架構師作為一個職位,在大部分情況下,它就是個“呵呵”。

作者:從碼農(nóng)到工匠

編輯:陶家龍

出處:轉載自微信公眾號從碼農(nóng)到工匠(ID:craftsman_frank)

??

責任編輯:武曉燕 來源: 碼農(nóng)到工匠
相關推薦

2012-06-20 09:14:07

系統(tǒng)架構運維

2012-08-04 16:02:00

架構師

2019-07-29 11:25:23

架構師架構方案架構

2010-02-06 15:14:36

ibmdw架構師

2012-06-17 12:58:04

架構師架構

2021-02-01 07:40:55

架構師阿里技專家

2020-01-16 15:35:00

高并發(fā)架構服務器

2010-12-28 10:40:50

admin

2020-10-26 09:02:45

如何校驗參數(shù)

2022-12-29 17:35:58

消息中間件MQ

2021-07-06 09:08:27

用戶增長項目

2019-02-22 10:00:45

Java開發(fā)代碼

2009-02-26 16:32:58

SaaS開發(fā)SaaS應用Open API

2011-04-07 16:06:18

測試架構師測試架構

2011-04-07 16:20:24

軟件架構師架構師架構

2019-07-03 10:28:24

架構師系統(tǒng)IT

2021-01-29 09:18:09

技術研發(fā)架構

2019-12-23 09:45:00

碼農(nóng)架構師架構

2022-08-11 09:41:35

阿里程序員

2021-12-28 07:20:43

架構師技術架構
點贊
收藏

51CTO技術棧公眾號