如何從開發(fā)人員走向架構(gòu)師

字號(hào):

很多架構(gòu)師都是從好的開發(fā)人員逐步過渡而來的,但并非每個(gè)好的開發(fā)人員都希望成為架構(gòu)師,而且他們并不是都適合做架構(gòu)師。無論您是打算進(jìn)行職業(yè)轉(zhuǎn)型的開發(fā)人員,還是尋找能承擔(dān)體系結(jié)構(gòu)設(shè)計(jì)責(zé)任的合適人選的經(jīng)理,都務(wù)必對(duì)此轉(zhuǎn)型過程有個(gè)清楚的了解。本文將討論從實(shí)現(xiàn)專家到架構(gòu)師的過渡過程。
    在尋找優(yōu)秀的指揮的時(shí)候,您首先要找的是一名優(yōu)秀的音樂演奏家。但并非每個(gè)音樂演奏家都能成為優(yōu)秀的指揮。架構(gòu)師的專業(yè)發(fā)展方面也與此類似。越來越多的 IT 組織開始認(rèn)識(shí)到良好軟件體系結(jié)構(gòu)的重要性,架構(gòu)師職業(yè)正迅速發(fā)展為 IT 內(nèi)一個(gè)獨(dú)立的門類。由于要從相當(dāng)小的候選范圍內(nèi)招募架構(gòu)師,因此這就給管理帶來了一些新挑戰(zhàn)。即使人力資源部門找到了候選者,針對(duì)經(jīng)驗(yàn)進(jìn)行的篩選也比其他門類更為嚴(yán)格??缭竭@些障礙的最快方式是要認(rèn)識(shí)到,大部分好的架構(gòu)師同時(shí)也是好的開發(fā)人員,因此尋找架構(gòu)師人才時(shí)可能首先應(yīng)該從普通開發(fā)人員中找起。招聘人員在對(duì)候選者(內(nèi)部或外部)進(jìn)行詳細(xì)審查時(shí),應(yīng)該考慮這個(gè)觀點(diǎn)。不過,對(duì)此資源進(jìn)行挑選可能比較麻煩,因?yàn)橹挥袠O少的優(yōu)秀開發(fā)人員具有成為架構(gòu)師的特征或愿望。
    本文列出了開發(fā)人員成為架構(gòu)師要進(jìn)行的工作。我將從可能考慮進(jìn)行此轉(zhuǎn)型的開發(fā)人員和評(píng)估進(jìn)行此轉(zhuǎn)型的開發(fā)人員的經(jīng)理這兩個(gè)方面來探討這一問題。我還將提供一系列在做出這些決策時(shí)要考慮的因素。
    個(gè)人特征
    軟件開發(fā)團(tuán)隊(duì)和管理層之間的聯(lián)系始終是 IT 中的一個(gè)關(guān)鍵所在。二者都傾向于以完全不同的方式考慮給定的問題。大部分相關(guān)技術(shù)都是討論項(xiàng)目經(jīng)理應(yīng)如何跟蹤和解釋開發(fā)人員的進(jìn)度和問題。但溝通不足的情況仍然非常普遍,而且這是項(xiàng)目失敗的首要原因。好的架構(gòu)師是解決這個(gè)問題的辦法。架構(gòu)師的主要責(zé)任是提供開發(fā)人員和項(xiàng)目經(jīng)理之間的共用溝通媒體。他們負(fù)責(zé)讓業(yè)務(wù)規(guī)則及需求與工程實(shí)踐及限制相適應(yīng),以確保成功。以下是成功架構(gòu)師的一些主要特征。
    愿意并有能力進(jìn)行溝通:在開發(fā)人員中發(fā)現(xiàn)架構(gòu)師的最有價(jià)值標(biāo)準(zhǔn)是有效的溝通。您需要技術(shù)嫻熟、經(jīng)驗(yàn)豐富的開發(fā)人員,這樣的人員需要有就項(xiàng)目中的業(yè)務(wù)相關(guān)問題進(jìn)行溝通的經(jīng)歷。架構(gòu)師經(jīng)常必須對(duì)理解方面的差距進(jìn)行預(yù)計(jì),然后才能有所貢獻(xiàn)。他們必須愿意克服困難來確保技術(shù)和業(yè)務(wù)觀點(diǎn)的融合。他們并不必對(duì)意見交換工作進(jìn)行計(jì)劃和協(xié)調(diào);這仍然主要是項(xiàng)目經(jīng)理的工作。他們的任務(wù)是確定表述系統(tǒng)設(shè)計(jì)時(shí)的工具和構(gòu)件,以促進(jìn)有效的意見交換。他們必須能夠判斷當(dāng)前方法顯得不足而需要采用新方法的情況。寫作技能也非常重要,還需要具有制作草圖的技能或使用制圖軟件的能力。
    具有處理談判細(xì)節(jié)方面的經(jīng)驗(yàn):架構(gòu)師經(jīng)常需要負(fù)責(zé)討論系統(tǒng)開發(fā)的技術(shù)折衷方案。優(yōu)先級(jí)的沖突可能會(huì)帶來實(shí)踐限制、風(fēng)險(xiǎn)規(guī)避或可能導(dǎo)致在各個(gè)不同業(yè)務(wù)組之間需求不同。優(yōu)秀的架構(gòu)師能夠有效地評(píng)估技術(shù)可能性,并能在不損失項(xiàng)目的主要價(jià)值的前提下制訂開發(fā)計(jì)劃來處理各種利害關(guān)系和限制。這與前面討論的溝通技能緊密相關(guān),但同時(shí)也要體現(xiàn)架構(gòu)師的技術(shù)能力。好的架構(gòu)師候選者應(yīng)該是經(jīng)常幫助對(duì)有爭(zhēng)議的討論進(jìn)行引導(dǎo)的人,能夠使討論得出新的想法,而不會(huì)使其在一個(gè)位置停滯不前。
    自覺主動(dòng);積極解決設(shè)計(jì)問題:架構(gòu)師的日常工作目標(biāo)經(jīng)常并不明確。很多開發(fā)人員直接參考功能規(guī)范來列出任務(wù)清單。架構(gòu)師通常則是向這些開發(fā)人員提供所需結(jié)構(gòu)的人員,以便盡可能提高工作效率。好的候選者不僅進(jìn)行溝通方面的工作,而且也會(huì)預(yù)計(jì)各種設(shè)計(jì)問題并加以解決——通常在沒有任何具體指示的情況下自覺進(jìn)行。無論所分配的職責(zé)如何,積極參與項(xiàng)目的開發(fā)人員都有機(jī)會(huì)從一起工作的人員中脫穎而出。
    抽象思維和分析:架構(gòu)師必須能夠理解表述模糊的概念并將其變成相關(guān)各方能夠理解的項(xiàng)目構(gòu)件。他們必須能夠理解抽象概念,并以具體的語言對(duì)其進(jìn)行溝通。開發(fā)人員中好的候選者經(jīng)常要求或自己主動(dòng)解釋開發(fā)生命周期中容易混淆的問題。他們能迅速評(píng)估各種想法并將其納入后續(xù)工作的操作建議中。
    開發(fā)人員經(jīng)常具有很強(qiáng)的數(shù)學(xué)能力,而好的架構(gòu)師則傾向于表現(xiàn)出更強(qiáng)的口頭表達(dá)能力。管理人員經(jīng)常說開發(fā)人員具有“工程意識(shí)”,而這是一個(gè)用于評(píng)估架構(gòu)師的非常有意義的方面。架構(gòu)師應(yīng)該具有很強(qiáng)的解決技術(shù)問題的能力,但還必須能夠準(zhǔn)確獲知更為全面的人員如何與技術(shù)交互的信息。這要求具有某種形式的抽象思維(而不再是代碼的細(xì)節(jié)),這種思維能力可能較難形成。
    有些人認(rèn)為,某種級(jí)別的正式教育是成為優(yōu)秀開發(fā)人員的必備條件之一,我并不同意這種精英論。我遇到了很多高中就輟學(xué)的優(yōu)秀開發(fā)人員。不過,對(duì)于體系結(jié)構(gòu)設(shè)計(jì)工作,我的個(gè)人經(jīng)驗(yàn)以及我對(duì)所需能力的認(rèn)識(shí)都讓我相信,好的架構(gòu)師通常至少獲得了一個(gè)有挑戰(zhàn)性的學(xué)士學(xué)位。