再談《全棧架構(gòu)師》

在SDCC2016的架構(gòu)師進(jìn)階之路主題,我分享了《老曹眼中的全棧架構(gòu)師》話題蔓倍,會后在csdn博客發(fā)布了同名文字悬钳,在我的公眾號(wireless_com)發(fā)了《全棧的技術(shù)棧設(shè)想》。然后偶翅,有幸得到了中生代技術(shù)(freshmanTechnology)和多人的轉(zhuǎn)載默勾,中生代技術(shù)還專門開通了全棧架構(gòu)師深度討論群,引起了很多的爭論和爭議。


主要分為以下三種觀點:
1)根本沒有意義聚谁,純屬忽悠
如網(wǎng)友回復(fù):“鬼都知道說的什么 數(shù)據(jù) 緩存 業(yè)務(wù) 性能 消息隊列 操作系統(tǒng) 產(chǎn)品 云存儲 大數(shù)據(jù)這些高大上的名次母剥,天天聊天就討論這些高大上的名稱, 然而并沒有什么卵用形导』诽郏”

2)有可能,但參考意義不大
有網(wǎng)友回復(fù):“個人覺得不值得推崇朵耕,很多程序員為了全棧炫隶,東一榔頭西一棒子,結(jié)果啥都沒搞好”

3)表示贊同阎曹,具體實踐待推敲
如網(wǎng)友@張真Alex 的說法:“比較認(rèn)同全棧架構(gòu)師伪阶,從前ibm把架構(gòu)師分為六大類,是六脈神劍各使一劍处嫌,而如今栅贴,不管是工程師還是架構(gòu)師都應(yīng)該有全棧的思維(不一定全棧的技能),特別是架構(gòu)師的職能熏迹,需要從業(yè)務(wù)檐薯,技術(shù)體系,端到端都具備相當(dāng)?shù)膽?zhàn)斗力才行”

如此多的爭議并不意外癣缅,事情越辯越明厨剪,在此分享一下那篇文字的初衷和自己的重新思考哄酝。本著科學(xué)的態(tài)度,討論的前提應(yīng)該是對問題明確祷膳,基本概念的定義是一致的陶衅,對不同邏輯推理得到的結(jié)果進(jìn)行討論。針對全棧架構(gòu)師這一命題直晨,個人覺得先要明確幾個概念搀军。

什么是架構(gòu)?什么是架構(gòu)師勇皇?
架構(gòu)的定義業(yè)界一般有三種方法罩句,一個定義為決策過程,一個定義為體系結(jié)構(gòu)敛摘,還有就是兩者兼而有之门烂。 Simon Brown 在《software architect for Developers》一書中嘗試給出了架構(gòu)一詞作為名詞和動詞的定義,并嘗試給出了架構(gòu)的分類兄淫。好友@溫昱在《一線架構(gòu)師實踐指南中》嘗試給出了軟件架構(gòu)的方法論ADMEMS即所謂的5視圖方法屯远。然而,Len Bass 在《軟件架構(gòu)實踐(第2版)》中談到“軟件架構(gòu)在不斷發(fā)展捕虽,但它仍然是一個尚不成熟的學(xué)科”慨丐。

    歷史是任人打扮的小姑娘,類似的泄私, 每個人對架構(gòu)和架構(gòu)師都有著不同的理解房揭。螞蟻金服@右軍(公眾號:流浪部署我的初衷)有一篇文章《談架構(gòu)》有著自己對架構(gòu)的看法: ''' 架構(gòu)是一種思維模式。架構(gòu)師是一個title晌端。為什么說架構(gòu)是一種思維模式呢捅暴,小到一個模塊,大到一個平臺斩松,都是一樣樣的伶唯。 軟件架構(gòu)的作用包括:

軟件架構(gòu)能夠滿足系統(tǒng)的品質(zhì)

架構(gòu)設(shè)計使受益人達(dá)成一致的目標(biāo)

架構(gòu)設(shè)計能夠支持計劃編制過程

架構(gòu)設(shè)計對系統(tǒng)開發(fā)的指導(dǎo)性

架構(gòu)設(shè)計能夠有效地管理復(fù)雜性

架構(gòu)設(shè)計為復(fù)用奠定了基礎(chǔ)

架構(gòu)設(shè)計能夠降低維護(hù)費用

架構(gòu)設(shè)計能夠支持沖突分析

...
'''
其中有很多有價值的觀點,感興趣可以參考這篇文章惧盹。



在前當(dāng)當(dāng)架構(gòu)部總監(jiān)@史海峰看來乳幸,架構(gòu)師首先是一個工程師,就如同在一些傳統(tǒng)行業(yè)里钧椰,有總工程師粹断、總設(shè)計師的說法。他把架構(gòu)師的定義總結(jié)為七句話:
NO.1 以工程思維全面理解業(yè)務(wù)需求
NO.2 基于模型和基礎(chǔ)模式抽象簡化
NO.3 提出恰當(dāng)可行的整體解決方案
NO.4 在限定資源范圍完成明確目標(biāo)
NO.5 滿足業(yè)務(wù)需求且保證系統(tǒng)質(zhì)量
NO.6 在可預(yù)見的周期內(nèi)具備擴(kuò)展性
NO.7 并在系統(tǒng)生命周期內(nèi)持續(xù)演進(jìn)
在@史海峰看來嫡霞,不同架構(gòu)師擅長的技術(shù)領(lǐng)域或有不同瓶埋,但大家有共通的拿手絕活,那就是“快速切入、解構(gòu)拆分系統(tǒng)模塊和代碼养筒、有技術(shù)話語權(quán)”曾撤。這些絕活并非一蹴而就,而是架構(gòu)師們?nèi)粘9ぷ髦性畏啵粩嗟厝グl(fā)現(xiàn)問題挤悉、思考解決、設(shè)計取舍巫湘、重構(gòu)迭代装悲、協(xié)作傳道、響應(yīng)支持尚氛,持續(xù)學(xué)習(xí)進(jìn)步達(dá)成的诀诊。并非所有公司都需要招架構(gòu)師,只有當(dāng)系統(tǒng)復(fù)雜達(dá)到某個程度阅嘶,幾個高級工程師一起難以很快說清楚的時候属瓣,就需要架構(gòu)師加入了。架構(gòu)師有兩忌兩宜奈懒。兩忌分別是不應(yīng)過于追求高大上奠涌,否則可能會和現(xiàn)有團(tuán)隊脫節(jié)宪巨,難以落地磷杏;技術(shù)上不應(yīng)過于求全面,以能解決當(dāng)前問題為主捏卓。兩宜則是團(tuán)隊協(xié)助溝通能力要好和適應(yīng)性強(qiáng)极祸。

    對于架構(gòu)師,不同公司有不同的定義和解讀怠晴,我覺得我們是幸運的遥金,因為我們在實踐著一種動態(tài)且沒有成熟的技術(shù),可能創(chuàng)造著一個新的團(tuán)隊角色甚至工種蒜田。

什么是全棧工程師稿械?什么是全棧架構(gòu)師?
對于全棧工程師冲粤,引用一個不權(quán)威的說法美莫,百度百科中對全棧的描述是這樣的:

全棧工程師,也叫全端工程師(同時具備前端和后臺能力),英文Full Stack developer。是指掌握多種技能隔缀,并能利用多種技能獨立完成產(chǎn)品的人幢炸。

根據(jù)自己的經(jīng)驗體會,全棧工程師在很多時候系洛, 是為了夢想的苦命碼農(nóng)的無奈選擇劝贸。其實碍论,大公司也需要全棧的寒砖。我最早了解這個詞赐劣,是從一個facebook那里的朋友知道的。
全棧哩都,不是全能隆豹,和所選擇的技術(shù)棧甚至業(yè)務(wù)棧相關(guān)。例如以LNMP(Linux + Nignx + MySQl+ PHP)茅逮,那么掌握了這四種技能璃赡,算不算一個全棧工程師呢?個人覺得可以的献雅。但是隨著技術(shù)棧的變化碉考,例如引入了緩存Memcache乃至其他分布式緩存,那原來的全棧工程師還是全棧么挺身?全棧是否要隨之變化呢侯谁?
隨著業(yè)務(wù)和技術(shù)棧選擇的動態(tài)性變化,能否在團(tuán)隊中有一角色能夠相對系統(tǒng)地對架構(gòu)有個動態(tài)的設(shè)計章钾,使我想到了“全棧架構(gòu)師”這個詞墙贱,這就是我引入全棧架構(gòu)師的一個原因。同架構(gòu)師和全棧一樣贱傀,全棧架構(gòu)師更不好定義惨撇,甚至可能錯誤地導(dǎo)致全棧就是全能的說法。
網(wǎng)友@張真Alex 認(rèn)為全棧架構(gòu)師最好是T型人才府寒。
一豎的部分包括:
專業(yè)知識(應(yīng)用魁衙,系統(tǒng),安全株搔,運維等)剖淀,

戰(zhàn)略分解(抽象,分類纤房,算法)纵隔,

調(diào)研選型(目標(biāo)識別,快速學(xué)習(xí)炮姨,調(diào)查方法捌刮,可行研究)

hands on(精通1-2語言,大量代碼實踐剑令,設(shè)計方法等)

一橫的部分包括:
leadership(號召力糊啡,決斷力,mentorship)

項目管理(項目計劃吁津,風(fēng)險控制棚蓄,取舍權(quán)衡)

領(lǐng)域知識(行業(yè)知識堕扶,行業(yè)生態(tài))

創(chuàng)新思維(應(yīng)用創(chuàng)新,跨界思維)

突破能力(經(jīng)驗沉淀梭依,覺一反三)

溝通協(xié)調(diào)(主動溝通稍算,靈活協(xié)調(diào))

這一橫一豎才構(gòu)成了架構(gòu)師(技術(shù)專家)的能力圖譜,他認(rèn)為可算全棧架構(gòu)師役拴。我覺得這是非常有益的探討糊探,很遺憾,我還沒有能力給出全棧架構(gòu)師的完整而又清晰的定義河闰,邊界也不好界定科平,但是,我覺得我們都在探索的路上姜性。

為什么需要全棧架構(gòu)師瞪慧?
大家普遍認(rèn)為,團(tuán)隊需要深入業(yè)務(wù)部念,理解業(yè)務(wù)的發(fā)展弃酌,搭建核心架構(gòu),理清技術(shù)架構(gòu)的細(xì)節(jié)和門檻儡炼,實現(xiàn)架構(gòu)的迭代資源妓湘,掃清技術(shù)疑點和難點的人;需要把握好非功能需求的6種類型(功能性乌询、可靠性榜贴、易用性、效率楣责、維護(hù)性竣灌、可移植性)的人;....
那么秆麸,全棧架構(gòu)師能夠滿足我們的哪些需求呢?我在《老曹眼中的全棧架構(gòu)師》中談到了4個自己認(rèn)為的典型場景:

1) 性能瓶頸及汉,業(yè)務(wù)系統(tǒng)是很復(fù)雜的沮趣,不管是什么量級的業(yè)務(wù)系統(tǒng),當(dāng)出現(xiàn)性能瓶頸的時候可能一個人解決不了坷随,如果你能夠貫穿所有被使用的技術(shù)棧房铭,就能相對很容易地知道哪一點出現(xiàn)了問題。
2)溝通温眉,前后端工程師缸匪,尤其是、各個跨語言前后端工程師之間的溝通是存在障礙的类溢,全棧能夠做好溝通的橋梁凌蔬。
3)救火露懒,比如突然間夜里給你一個短信告訴你系統(tǒng)出問題,你可能當(dāng)時找不到那個開發(fā)此模塊的工程師砂心,怎么辦懈词?系統(tǒng)還能不能運行?業(yè)務(wù)會不會崩潰辩诞?如果崩潰坎弯,公司會遭受什么損失?這個時候就需要有全棧译暂,他能夠在要在第一時間解決系統(tǒng)中的問題抠忘。
4)資源緊張,資源緊張更多存在于創(chuàng)業(yè)公司外永,我也在一些創(chuàng)業(yè)公司里做過事情褐桌。比如說我們想搭一個系統(tǒng)出來,沒錢象迎、沒資源荧嵌,這個時候,很多想法要訴諸實踐砾淌,一定要有全棧啦撮。
肯定還有其他的需求存在的,只是我可能沒有經(jīng)歷過汪厨,或者是大家沒有關(guān)注過而已赃春。

如果對全棧架構(gòu)師的需求是存在,那么劫乱,如何才有可能成為一名全棧架構(gòu)師呢织中?我試圖從技術(shù)棧,性能棧衷戈,和效率棧三個方面進(jìn)行了探討狭吼,在《老曹眼中的全棧架構(gòu)師》中有所描述,這里不再贅述殖妇。

我說過全棧架構(gòu)師可能是自己的杜撰刁笙, 但是,全棧思維優(yōu)先還是被大多數(shù)朋友認(rèn)可的谦趣,實際上是一種大局觀疲吸,一個功能既可以前端又可以后端實現(xiàn),利弊和方案的選擇是需要有全棧架構(gòu)師的前鹅,至少要有全棧的思維摘悴。全棧的思維,簡單地可以理解成系統(tǒng)的思維方式舰绘。

全棧架構(gòu)師是不是一個偽命題呢蹂喻,是一個上帝類嗎葱椭? 我不知道,我只是想說那篇文字叉橱,試圖明確:
什么是架構(gòu)挫以?什么是架構(gòu)師?
什么是全棧窃祝?什么是全棧架構(gòu)師掐松?
為什么需要全棧/架構(gòu)師? 如何可能成為一個全棧架構(gòu)師粪小?

如果問題分為:已知的已知大磺,已知的未知,未知的未知 的話探膊,即便是將全棧架構(gòu)師這一角色杠愧,從未知的未知變成已知的未知,我想也是一件好事情逞壁,能力所限流济,隨筆如上。

歡迎關(guān)注本公眾號:wireless_com


微信掃一掃關(guān)注該公眾號

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末腌闯,一起剝皮案震驚了整個濱河市绳瘟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌姿骏,老刑警劉巖糖声,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異分瘦,居然都是意外死亡蘸泻,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門嘲玫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悦施,“玉大人,你說我怎么就攤上這事趁冈〖哒” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵渗勘,是天一觀的道長。 經(jīng)常有香客問我俩莽,道長旺坠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任扮超,我火速辦了婚禮取刃,結(jié)果婚禮上蹋肮,老公的妹妹穿的比我還像新娘。我一直安慰自己璧疗,他們只是感情好坯辩,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著崩侠,像睡著了一般漆魔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上却音,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天改抡,我揣著相機(jī)與錄音,去河邊找鬼系瓢。 笑死阿纤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夷陋。 我是一名探鬼主播欠拾,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼骗绕!你這毒婦竟也來了藐窄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤爹谭,失蹤者是張志新(化名)和其女友劉穎枷邪,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诺凡,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡东揣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了腹泌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘶卧。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凉袱,靈堂內(nèi)的尸體忽然破棺而出芥吟,到底是詐尸還是另有隱情,我是刑警寧澤专甩,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布钟鸵,位于F島的核電站,受9級特大地震影響涤躲,放射性物質(zhì)發(fā)生泄漏棺耍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一种樱、第九天 我趴在偏房一處隱蔽的房頂上張望蒙袍。 院中可真熱鬧俊卤,春花似錦、人聲如沸害幅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽以现。三九已至狠怨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間叼风,已是汗流浹背取董。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留无宿,地道東北人茵汰。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像孽鸡,于是被迫代替她去往敵國和親蹂午。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容