如何成為一名好的架構(gòu)師?(如何成為一名好的架構(gòu)師心得體會(huì))
架構(gòu)師是一個(gè)充滿挑戰(zhàn)的職業(yè),眼界的高低往往決定著一名架構(gòu)師的架構(gòu)能力,社區(qū)中也經(jīng)常有關(guān)于架構(gòu)師能力模型的爭(zhēng)論。近日,原ThoughtWorks咨詢師Pat Kua撰文討論了一名好的架構(gòu)師應(yīng)該具備哪些素質(zhì),具體如下。
首先,一名好的架構(gòu)師一定是一個(gè)好的技術(shù)領(lǐng)導(dǎo)者。架構(gòu)師就像一個(gè)導(dǎo)師,應(yīng)該帶領(lǐng)開發(fā)團(tuán)隊(duì)向同一個(gè)技術(shù)愿景前進(jìn)。他會(huì)借助于故事、影響力、引導(dǎo)沖突、構(gòu)建信任等領(lǐng)導(dǎo)技能,將企業(yè)的架構(gòu)愿景變成現(xiàn)實(shí)。
其次,架構(gòu)師同時(shí)又是一個(gè)好的開發(fā)人員。通常,做出一個(gè)良好的架構(gòu)選擇,需要權(quán)衡理想的架構(gòu)狀態(tài)與軟件系統(tǒng)的當(dāng)前狀態(tài)。例如,如果一個(gè)問題更適合采用關(guān)系型數(shù)據(jù)庫來解決,那么將文檔數(shù)據(jù)庫引入到系統(tǒng)中的做法就是毫無道理的。架構(gòu)師如果不考慮技術(shù)選型與問題域之間的匹配度,就會(huì)很容易受到各種技術(shù)的誘惑——也就是常見的“象牙塔式架構(gòu)師”的行為模式。緩解這種情況的最佳方式是架構(gòu)師多與開發(fā)人員待在一起,花一些時(shí)間在代碼上。了解系統(tǒng)的構(gòu)建方式及系統(tǒng)的約束,將幫助架構(gòu)師做出正確的選擇。
最后,架構(gòu)師應(yīng)該學(xué)著像CEO一樣思考問題。所有的技術(shù)選型都有相關(guān)的成本和收益,一個(gè)好的架構(gòu)師需要從這兩個(gè)角度考慮問題。成功的企業(yè)家愿意承擔(dān)風(fēng)險(xiǎn),不過也會(huì)尋求快速學(xué)習(xí)和快速失敗的方法。架構(gòu)師也可以用類似的方式做出技術(shù)選型,收集真實(shí)世界中有關(guān)短期和長期成本的信息,以及它們可能帶來的好處。
對(duì)于剛在文章或會(huì)議上了解的工具,架構(gòu)師避免承諾立即使用,相反,他們會(huì)試圖通過架構(gòu)調(diào)研來了解工具在其環(huán)境中的相關(guān)性,以便收集更多信息。他們對(duì)于工具的選擇不是基于銷售量,而是考慮自身的需要以及這個(gè)工具本身所能提供的價(jià)值。他們還會(huì)考慮這些工具背后的隱性成本,例如工具的支持情況,如文檔化程度、社區(qū)使用情況等,還有工具可能帶來的約束或長期來看可能引入的額外風(fēng)險(xiǎn)等。
內(nèi)容來源:《極客熱點(diǎn)》(https://time.geekbang.org/column/article/460?utm_source=zmt&utm_medium=zmt&utm_term=zmt)'