


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2018/12/17極客時(shí)間 | 程序員進(jìn)階攻略講堂 程序員進(jìn)階攻略 文章詳情59 | 三 :程序員、技術(shù)主管與架構(gòu)師2018-12-17還記得開篇詞中我畫了一個(gè)程序員的成長(zhǎng)路徑圖,其中在圖的左側(cè)部分展示了程序員成長(zhǎng)路徑上一些主要階段的定義,在我們從初級(jí) 資深的過程中,會(huì) 一條支路,在這條路上不僅普遍稱呼的名稱不同了,工作內(nèi)容可能也發(fā)生了變化, 的轉(zhuǎn)換會(huì)帶來(lái)不少的困惑。這條路就是從 “程序員” 到 “技術(shù)主管” 再到 “架構(gòu)師” 的路徑,下面我們就來(lái)看看這條路徑上的三個(gè) 有何不同?程序員與尋路當(dāng)我剛進(jìn)入軟件行業(yè)成為一 時(shí), 理想就是成為一 ?!凹軜?gòu)師”這個(gè)詞的英文叫 Architect,原意是
2、 師,因?yàn)檐浖袠I(yè)參照借鑒了很多 行業(yè)的概念,所以就借用這個(gè)詞。我是在學(xué)校讀書時(shí)知道“架構(gòu)師”這個(gè)名詞的,當(dāng)時(shí)很多軟件方面的書都是翻譯過來(lái)的,也不知道是誰(shuí)最早把 Architect 翻譯成了“架構(gòu)師”的??傊畯哪菚r(shí)起,“架構(gòu)師”這個(gè)名詞對(duì)于我這個(gè)剛準(zhǔn)備走出校門的學(xué)生來(lái)說(shuō)就特別高大遙遠(yuǎn),自然當(dāng)成了最初的一個(gè)職業(yè)目標(biāo)。1/759 | 三 :程序員、技術(shù)主管與架構(gòu)師朗讀人: 1411 | 25.99M2018/12/17極客時(shí)間 | 程序員進(jìn)階攻略但遺憾的是在我從業(yè)前幾年的好幾家公司,都沒有架構(gòu)師這個(gè)職位,直到后來(lái)進(jìn)入了互聯(lián)網(wǎng)公司。到了京東后,不僅有架構(gòu)師職位,還有架構(gòu)師團(tuán)隊(duì);在這里,不僅有了方向,
3、還可以放心地 作為一 發(fā)力狂奔:不停地寫程序,優(yōu)化代碼,追求更優(yōu)、更簡(jiǎn)潔的代碼,重構(gòu)了一遍又 一遍,解決了一個(gè)又一個(gè)問題。在前面的文章中,我將程序員具體和代碼相關(guān)的工作比作劍術(shù), 代碼技能類似 的過程。很多程序員夢(mèng)想著有一天能成為一代高手,面 人,抽刀拔劍,剎那間交擊, 入鞘,敵人倒下。就像線上系統(tǒng)突然出現(xiàn)大問題,你打開電腦,看了幾眼日志,敲下幾行代碼,系統(tǒng)分分鐘 恢復(fù)。一個(gè)好的程序員當(dāng)然要能寫得 好代碼。在工作前十年中, 天的主要工作內(nèi)容就是編程寫新代碼,重構(gòu)舊代碼,直到有一天發(fā)現(xiàn)這樣不斷繼續(xù)下去, “劍術(shù)”已精進(jìn)遲滯,進(jìn)境有限。而當(dāng)時(shí)所在的系統(tǒng)開始向大規(guī)模分布式化方向發(fā)展,更大的價(jià)值已不再
4、是代碼實(shí)現(xiàn)層面上的 局部?jī)?yōu)化。那時(shí)我開始在團(tuán)隊(duì)承擔(dān)起整體的系統(tǒng)設(shè)計(jì)工作,此時(shí)若再專注于局部代碼優(yōu)化其實(shí)是在驅(qū)動(dòng)細(xì)節(jié) 而非本質(zhì)了。作為資深程序員出身的架構(gòu)師, 能力都是極強(qiáng)的,就像進(jìn)擊的巨人中的 兵長(zhǎng),具備單挑巨人的能力??僧?dāng)面對(duì)成群結(jié)隊(duì)的巨人來(lái)襲時(shí),個(gè)人單挑能力的作用始終有限。這時(shí),從程序員到架構(gòu)師不僅僅是一個(gè)名稱的變化,它也意味著技能和視角的轉(zhuǎn)變。在地上飛奔 了七八年的程序員,在面對(duì)成群的巨人襲來(lái)時(shí),深深地感覺到,殺光巨人不 目的,真正的目的 到達(dá)彼岸。所以,選擇合適的路徑,堅(jiān)定地前行,清除或繞過擋道的巨人,到達(dá)目的地。是的,我是到了資深程序員階段直接轉(zhuǎn)向了架構(gòu)師。而在路徑圖上還有另一條路,
5、會(huì)經(jīng)歷另一個(gè):技術(shù)主管,這是一個(gè)從程序員到架構(gòu)師階段的過渡 。技術(shù)主管與過渡技術(shù)主管,有些公司可能又叫 “技術(shù)經(jīng)理”,英文一般是“Tech Leader”或簡(jiǎn)稱“TL”。技術(shù)主管是開發(fā)團(tuán)隊(duì)中的某位程序員需要對(duì)整個(gè)開發(fā)團(tuán)隊(duì)負(fù)責(zé)時(shí)所承擔(dān)的 。既要對(duì)最終交付的軟件系統(tǒng)負(fù)責(zé),另外也會(huì)像一個(gè)程序員一樣去開發(fā)實(shí)現(xiàn)系統(tǒng)。一般一個(gè)技術(shù)主管約 70% 的時(shí)間可能花在了開發(fā)任務(wù)分解分配、開發(fā)實(shí)踐、代碼審核和風(fēng)險(xiǎn)識(shí)別上,而余下 30% 的時(shí)間則花在為了保障系統(tǒng)按時(shí)交付所需要的各種計(jì)劃、協(xié)作、 和管理上。在 · (Ram Charan) 寫的 梯隊(duì)一書中提到:一個(gè)人的工作 中至少有百分之五十以上的時(shí)間是花費(fèi)
6、在管理事務(wù)上,那么他的 才算是一個(gè)經(jīng)理(Manager)。所以技術(shù)主管(經(jīng)理) 還是偏重于技術(shù)工作,有點(diǎn)類似 經(jīng)理屬于以經(jīng)理命名卻非真正的經(jīng)理角色。2/72018/12/17極客時(shí)間 | 程序員進(jìn)階攻略例如:在一個(gè)開發(fā)團(tuán)隊(duì)中經(jīng)常會(huì)碰到技術(shù)方案和實(shí)現(xiàn)細(xì)節(jié)方面的 ,如果程序員無(wú)法 友好地完成對(duì)不同技術(shù)意見的統(tǒng)一,這時(shí)候技術(shù)主管就需要介入去了解兩種不同意見所造成的 , 對(duì)事不對(duì)人地去把問題搞清楚,分析各自方案的利弊,必要的時(shí)候甚至能夠提出第三種更好的技 術(shù)方案,以幫助開發(fā)團(tuán)隊(duì)達(dá)成共識(shí)。另一方面,技術(shù)主管即使在日常的開發(fā)實(shí)現(xiàn)中,重點(diǎn)的內(nèi)容一般也不是放在某個(gè)具體的功能實(shí)現(xiàn) 上。在完成了具體的開發(fā)任務(wù)評(píng)估
7、、分解并分配后,技術(shù)主管應(yīng)該負(fù)責(zé)設(shè)計(jì)整體代碼的結(jié)構(gòu)和規(guī) 范,必要時(shí)引入能提高整個(gè)團(tuán)隊(duì)生產(chǎn)力的新工具,推廣代碼模板,總結(jié)最佳實(shí)踐。并且技術(shù)主管 需要經(jīng)常性地關(guān)注整個(gè)團(tuán)隊(duì)完成一項(xiàng)研發(fā)任務(wù)的水平和實(shí)際要求的水平之間的差距問題,讓團(tuán)隊(duì) 不僅滿足及時(shí)的軟件系統(tǒng)交付,同時(shí)又得到成長(zhǎng)?,F(xiàn)實(shí)中,一個(gè)開發(fā)團(tuán)隊(duì)中最優(yōu)秀的程序員容易被指定承擔(dān)技術(shù)主管的 ,但優(yōu)秀的程序員又很容易陷入到實(shí)現(xiàn)功能的細(xì)節(jié)中,滿足于完美的實(shí)現(xiàn),優(yōu)雅簡(jiǎn)潔的代碼。但實(shí)際上,這樣優(yōu)秀的程 序員轉(zhuǎn)入技術(shù)主管這個(gè) 后,就很容易嘗試 設(shè)計(jì)和代碼的實(shí)現(xiàn),他們很難接受代碼不按照他們希望的方式去編寫,這個(gè)是他們作為優(yōu)秀程序員一直以來(lái)的工作習(xí)慣,長(zhǎng)此以往他們自
8、身很 容易變成整個(gè)開發(fā)團(tuán)隊(duì)的瓶頸,而團(tuán)隊(duì)里的其他成員也未能得到足夠的鍛煉和成長(zhǎng)。所以技術(shù)主管實(shí)際相比團(tuán)隊(duì)里的其他程序員對(duì)系統(tǒng)的視角更開闊,以更有策略和長(zhǎng)遠(yuǎn)的方式來(lái)考 慮問題。他們即使擁有比團(tuán)隊(duì)里所有其他程序員更高超的開發(fā)實(shí)現(xiàn)技能,對(duì)所有開發(fā)任務(wù)擁有最 強(qiáng)大的實(shí)現(xiàn)自信,也需要轉(zhuǎn)變?yōu)榱硪环N “借助他人使之實(shí)現(xiàn)” 的能 自信,因?yàn)榧夹g(shù)主管是一個(gè)承擔(dān)更廣泛責(zé)任的 ,必然導(dǎo)致能夠?qū)W⒂行Ь幋a的時(shí)間會(huì)相比以前減少很多,而這一點(diǎn)正是優(yōu)秀程序員轉(zhuǎn)變?yōu)榧夹g(shù)主管所 的最大 之一。最適合技術(shù)主管 人,不一定是團(tuán)隊(duì)中編程能力最好的人,但必然是團(tuán)隊(duì)中編程、 和協(xié)作能力最綜合平衡的人。而技術(shù)主管之所以是一個(gè)過渡,就在于繼
9、續(xù)往前走,如果偏向 “主管” 就會(huì)成為真正的管理者(經(jīng)理),如果偏向 “技術(shù)” 就會(huì) 架構(gòu)師。架構(gòu)師與取舍架構(gòu)師是一個(gè)在業(yè)界擁有知名的稱謂,但在絕大部分公司卻不屬于一個(gè)職位序列,許多公司都很 糾結(jié)于如何定義架構(gòu)師的 ,以及架構(gòu)師所做的工作。以前聽阿里的同學(xué)說(shuō) P7 屬于架構(gòu)師職位,不過最近在看另一個(gè)阿里同學(xué)寫的文章提及:前幾年是有專職的“架構(gòu)師”職位的,現(xiàn)在已經(jīng)回歸到 “工程師”“技術(shù) ”“研究員” 這樣的純技術(shù)職位。可見在一線互聯(lián)網(wǎng)公司關(guān)于架構(gòu)師的定義也是很模糊的。前面我曾 過一篇文章在首席架構(gòu)師眼里,架構(gòu)的本質(zhì)是中提到的架構(gòu)師能力模型圖, 我結(jié)合 的經(jīng)驗(yàn)和理解,稍微擴(kuò)展解釋了一下,如下:3
10、/72018/12/17極客時(shí)間 | 程序員進(jìn)階攻略架構(gòu)師能力模型正因?yàn)闃I(yè)界和公司對(duì)架構(gòu)師這個(gè) 的職責(zé)定義很模糊,所以很多經(jīng)驗(yàn)積累到一定程度的優(yōu)秀程序員,并且在公司內(nèi)被提升到一定高度的技術(shù)級(jí)別后,都會(huì)冠以 “架構(gòu)師” 之名。但實(shí)際情況是大部分剛剛冠以“架構(gòu)師”之名的優(yōu)秀程序員,其能力模型大部分還停留在上圖中的 區(qū) 域,而對(duì)其他區(qū)域并未有過系統(tǒng)性的認(rèn)知和訓(xùn)練??催^了架構(gòu)師的能力模型,我們?cè)賮?lái)試著分析下其對(duì)應(yīng)的職責(zé)。技術(shù)主管的 與架構(gòu)師這一角色會(huì)產(chǎn)生一些職責(zé)上的重疊,事實(shí)上我認(rèn)為在團(tuán)隊(duì)規(guī)模比較小的時(shí)候(十來(lái)人的規(guī)模),架構(gòu)師和技術(shù)主管的職責(zé)幾乎完全重疊,甚至技術(shù)主管還會(huì) 一些團(tuán)隊(duì)主管的 。隨著軟件
11、系統(tǒng)復(fù)雜度和規(guī)模的提升,團(tuán)隊(duì)也相應(yīng)變大,那么一個(gè)架構(gòu)師此時(shí)所處的職責(zé)位置就開始和技術(shù)主管區(qū)別開來(lái)。如果把技術(shù)主管想成是站在樓頂看整個(gè)系統(tǒng),那么架構(gòu)師此時(shí)就是需要飛到天上去看整個(gè)系統(tǒng)了。開發(fā)功能,解決 Bug,優(yōu)化代碼,這是一個(gè)高級(jí)或資深程序員的拿手技能,也是地面 的基本技能。而一個(gè)架構(gòu)師還需要掌握空中的技能,也許就像進(jìn)擊的巨人中的 機(jī)動(dòng)裝置,讓其能在需要 在空中看清全局,也能落地發(fā)起凌厲一擊。那多了一個(gè)空中的維度,過去在地面練到精 劍術(shù),飛在空中還有效么?這就需要時(shí)間去學(xué) 習(xí),適應(yīng)新維度的技巧。這不是一個(gè)容易掌握的技能,這也正是前面我寫過的從一個(gè)點(diǎn)到另一個(gè)點(diǎn)連成線的技能升級(jí),需要一個(gè)升維的學(xué)習(xí)
12、過程。架構(gòu)師站在更高的空中維度去做關(guān)于軟件系統(tǒng)的抽象和封裝。如果技術(shù)主管的抽象和封裝層次更多考慮的是語(yǔ)言函數(shù)、設(shè)計(jì)模式、代碼結(jié)構(gòu)等這一類的事務(wù),那么架構(gòu)師是站在整體軟件系統(tǒng)高度,考慮不同子系統(tǒng)之間的交互關(guān)系、技術(shù)的合理性、需求的完整性、未來(lái)的演進(jìn)性,以及技術(shù)體系發(fā)展與組織、 商業(yè)訴求的匹配度。4/72018/12/17極客時(shí)間 | 程序員進(jìn)階攻略這是相對(duì)技術(shù)主管更高維度的全局視角,另一方面依然有很多技術(shù)主管可能感覺沒把握的技術(shù)決策和技術(shù)爭(zhēng)端需要架構(gòu)師的介入?yún)f(xié)調(diào)。之所以要找架構(gòu)師來(lái)對(duì)一些技術(shù)爭(zhēng)端和方案進(jìn)行決策判斷,很多情況在對(duì)架構(gòu)師在技術(shù)領(lǐng)域內(nèi)專業(yè) 影響力的信任,而建立這種專業(yè) 影響 實(shí)際構(gòu)建架
13、構(gòu)師 威 力的來(lái)源。何謂 “ 威 力”? 威自是相 而言,管理者的權(quán)威 力來(lái)自于公司正式任命 的職位和職權(quán),而架構(gòu)師在大部分公司基本連職位職責(zé)都沒定義清楚,更沒有職權(quán)一說(shuō),所以實(shí)際上就 有任何權(quán)威 力。所以,架構(gòu)師要發(fā)揮更大的作用和價(jià)值就需要去構(gòu)建 的威 力,而這需要長(zhǎng)期的專業(yè) 影響力積累。除此之外,架構(gòu)師還承擔(dān)著在技術(shù)團(tuán)隊(duì)和非技術(shù)團(tuán)隊(duì)(例如: 設(shè)計(jì)等團(tuán)隊(duì))之間的接口作用,明確 的邊界,勾勒技術(shù)藍(lán)圖,協(xié)調(diào)不同技能的技術(shù)團(tuán)隊(duì)協(xié)作,完成最終的軟件系統(tǒng)交付。這時(shí)架構(gòu)師的 就像服務(wù)化架構(gòu)中的 API,定義了協(xié)作規(guī)范、交互協(xié)議和方式,但并聚焦在具體的實(shí)現(xiàn)上。在更大規(guī)模的系統(tǒng)上,架構(gòu)師似乎還要去涉獵 的跨
14、領(lǐng)域知識(shí),否則很可能無(wú)法做出最適合的技術(shù)決策。但人終究是有局限的,你不可能學(xué)完所有的領(lǐng)域,所以特定的領(lǐng)域又會(huì)涌現(xiàn)一些垂直領(lǐng)域的架構(gòu)師。比如:數(shù)據(jù)架構(gòu)師、 架構(gòu)師、業(yè)務(wù)架構(gòu)師、安全架構(gòu)師。因而某一個(gè)領(lǐng)域背景出身的架構(gòu)師,對(duì)其他領(lǐng)域也只能做個(gè)初步了解,當(dāng)需要做出關(guān)于涉及其他領(lǐng)域的架構(gòu)決策 時(shí),就需要和其他領(lǐng)域的垂直架構(gòu)師做深度的 交流,以輔助決策 。一旦選擇走入架構(gòu)師這條路,基本你就從一名出色的程序員這個(gè)領(lǐng)域走出,需要盡快去補(bǔ)充上面能力模型中指出的其他能力。這一點(diǎn)會(huì)讓剛剛走上這條路的程序員很不適應(yīng),因?yàn)槌袚?dān)了 其他職責(zé),就必然會(huì)減少在編碼實(shí)現(xiàn)的時(shí)間,慢慢就會(huì)懷疑 的編碼能力會(huì) ,也跟不上一線最新的技術(shù)棧、各種酷酷的新工具。舍得,舍得,沒有 沒有得。成為架構(gòu)師會(huì)擁有一個(gè)更 的知識(shí)、技能矩陣,這是你的得, 獲得了一個(gè)面,在某些點(diǎn)上必然 被 的結(jié)局。工作在一個(gè)面上,一個(gè)有經(jīng)驗(yàn)的架構(gòu)師應(yīng)該能夠很好地表達(dá)某些技術(shù)指導(dǎo)原則,借助他人使之實(shí)現(xiàn),并且了解和把握什么時(shí)候該 ,什么時(shí)候該放手。這就是架構(gòu)師從技術(shù) “實(shí)現(xiàn)力” 到 “掌控力” 再到 “決策力” 的能力變遷。從程序員,到技術(shù)主管,再到架構(gòu)師,名稱變化了, 的困惑我們
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)人之間農(nóng)業(yè)貸款借款合同
- 家長(zhǎng)與孩子二零二五年度家務(wù)勞動(dòng)責(zé)任履行協(xié)議
- 2025年度泳池救生員安全責(zé)任及應(yīng)急響應(yīng)規(guī)范協(xié)議
- 2025年度智慧城市建設(shè)預(yù)付款合作合同
- 二零二五年度酒店管理營(yíng)業(yè)執(zhí)照及品牌加盟轉(zhuǎn)讓合同
- 二零二五年度房屋維修基金頂賬返還協(xié)議書
- 二零二五年度外墻保溫涂料產(chǎn)品環(huán)保認(rèn)證與綠色標(biāo)識(shí)合同
- 二零二五年度女方婚前財(cái)產(chǎn)協(xié)議婚姻安全與婚姻風(fēng)險(xiǎn)規(guī)避合同
- 二零二五年度裝配行業(yè)產(chǎn)品研發(fā)終止合同
- 石家莊市2025年度勞動(dòng)合同電子化管理規(guī)范
- 幼兒園公開課:大班語(yǔ)言《相反國(guó)》課件(優(yōu)化版)
- 水利設(shè)施維護(hù)投標(biāo)方案(技術(shù)標(biāo))
- 2024屆湖南省長(zhǎng)沙市湖南師大附中等校高三上學(xué)期月考(二)語(yǔ)文試題(解析版)
- 上??萍及嫘W(xué)二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)全冊(cè)教案
- 氣缸磨損的測(cè)量說(shuō)課教案
- 《高鐵乘務(wù)安全管理及應(yīng)急處置》課程教案-崔藝琳編寫
- 新課程標(biāo)準(zhǔn)2022版初中歷史考試題及答案
- 前言 馬克思主義中國(guó)化時(shí)代化的歷史進(jìn)程與理論成果
- 產(chǎn)品可靠性測(cè)試計(jì)劃
- 心理健康與職業(yè)生涯(中職)PPT完整全套教學(xué)課件
- 中國(guó)文藝美學(xué)要略·論著·《畫學(xué)心法問答》
評(píng)論
0/150
提交評(píng)論