更新時(shí)間:2019-08-16 14:49:41 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2069次
動(dòng)力節(jié)點(diǎn)java學(xué)院小編見(jiàn)過(guò)很多同學(xué)參加過(guò)各種培訓(xùn),也從事類似工作長(zhǎng)時(shí)間,但對(duì)未來(lái)的定位和發(fā)展還是不清晰。那么今天給大家講述的是“程序員”中的高層次的存在—架構(gòu)師是如何練成的?
一、作為開(kāi)發(fā)人員
一個(gè)架構(gòu)師同時(shí)又是一個(gè)好的開(kāi)發(fā)人員。通常,做出一個(gè)良好的架構(gòu)選擇需求權(quán)衡理想的架構(gòu)狀態(tài)與軟件系統(tǒng)的當(dāng)前狀態(tài)。例如,假如一個(gè)問(wèn)題更合適采用關(guān)系型數(shù)據(jù)庫(kù)來(lái)處理,那么將文檔數(shù)據(jù)庫(kù)引入到系統(tǒng)中的做法是毫無(wú)道理的。一個(gè)架構(gòu)師假如不思索技術(shù)選型與問(wèn)題域之間的匹配度,那么會(huì)很容易遭到各種技術(shù)的誘惑——這也就是常見(jiàn)的“象牙塔式架構(gòu)師”行為形式。
緩解這種狀況的最佳方式是架構(gòu)師多與開(kāi)發(fā)人員待在一同,花一些時(shí)間在代碼上。理解系統(tǒng)的構(gòu)建方式及系統(tǒng)的約束將協(xié)助架構(gòu)師在當(dāng)下環(huán)境做出正確的選擇。
二、聚焦系統(tǒng)
經(jīng)歷豐厚的開(kāi)發(fā)人員明白代碼只是軟件的一個(gè)方面。為了讓代碼可運(yùn)轉(zhuǎn),他們還需求理解代碼在消費(fèi)環(huán)境中運(yùn)轉(zhuǎn)良好所需的其他重要質(zhì)量屬性。他們需求思索部署過(guò)程、自動(dòng)化測(cè)試、性能、平安和可支持性等方面。開(kāi)發(fā)人員可能以暫時(shí)的方式來(lái)完成這些質(zhì)量屬性,而架構(gòu)師不只需求專注于理解代碼,還要理解并滿足不同利益相關(guān)者(如支持、平安和運(yùn)營(yíng)人員)的需求。一個(gè)好的架構(gòu)師需求專注于尋覓那些可以滿足不同利益相關(guān)者需求的處理計(jì)劃,而不是選擇針對(duì)某一個(gè)參與者的偏好或作風(fēng)停止優(yōu)化的工具或辦法。
三、企業(yè)家思想
一切的技術(shù)選型都有相關(guān)的本錢和收益,一個(gè)好的架構(gòu)師需求從這兩個(gè)角度思索新的技術(shù)選型。勝利的企業(yè)家愿意承當(dāng)風(fēng)險(xiǎn),不過(guò)也會(huì)尋求快速學(xué)習(xí)和快速失敗的辦法。架構(gòu)師也能夠用相似的方式做出技術(shù)選型,搜集真實(shí)世界中有關(guān)短期和長(zhǎng)期本錢的信息,以及他們可能認(rèn)識(shí)到的益處。
這方面一個(gè)很好的例子是,架構(gòu)師防止承諾立刻運(yùn)用一個(gè)在閱讀新文章時(shí)看到的工具或某一會(huì)議上聽(tīng)過(guò)的工具。相反,他們?cè)噲D經(jīng)過(guò)架構(gòu)調(diào)研來(lái)理解工具在其環(huán)境中的相關(guān)性,以搜集更多信息。他們關(guān)于工具的選擇不是基于銷售量,而是思索他們需求什么以及這個(gè)工具所提供的價(jià)值。他們還會(huì)尋覓這些工具背后的隱性本錢,例如工具的支持狀況(如文檔化水平、社區(qū)運(yùn)用狀況),工具可能帶來(lái)的約束或長(zhǎng)期來(lái)看可能引入的額外風(fēng)險(xiǎn)。
四、權(quán)衡戰(zhàn)略思想與戰(zhàn)術(shù)思想
許多團(tuán)隊(duì)由一些獨(dú)立的開(kāi)發(fā)人員一同構(gòu)建軟件,而每個(gè)人都傾向于選擇本人最溫馨或最有經(jīng)歷的工具和技術(shù)。好的架構(gòu)師持續(xù)關(guān)注可能有用的新技術(shù)、工具或辦法,但不一定立刻采用它們。技術(shù)采用常常需求長(zhǎng)期的考量。架構(gòu)師將在團(tuán)隊(duì)和組織層面尋求矯捷度(允許團(tuán)隊(duì)快速采取行動(dòng))和對(duì)齊(堅(jiān)持足夠的分歧性)之間的良好均衡。樹(shù)立本人的技術(shù)雷達(dá)這樣的練習(xí)是用戰(zhàn)略思想探究技術(shù)的一個(gè)有用工具。
五、良好的溝通
架構(gòu)師需求曉得,有效溝通是樹(shù)立信任和影響團(tuán)隊(duì)以外成員的關(guān)鍵技藝。他們曉得不同群體運(yùn)用不同的詞匯,而運(yùn)用技術(shù)術(shù)語(yǔ)和描繪與業(yè)務(wù)人員溝通將會(huì)變得比擬艱難。與其議論形式、工具和編程概念,架構(gòu)師需求運(yùn)用聽(tīng)眾熟習(xí)的詞匯與之交流,諸如風(fēng)險(xiǎn)報(bào)答、本錢和收益等。這比單純運(yùn)用技術(shù)詞匯停止溝通來(lái)得更好。架構(gòu)師還需求認(rèn)識(shí)到團(tuán)隊(duì)內(nèi)部溝通與外部溝通同樣重要,能夠運(yùn)用圖表和小組討論的方式來(lái)樹(shù)立和完善技術(shù)愿景,并書(shū)面記載之(如架構(gòu)決策日志或Wiki等),從而為未來(lái)留下可追溯的歷史。
六、總結(jié)
最后Pat指出,做一個(gè)技術(shù)全面的架構(gòu)師并不容易,由于有很多的方面需求我們關(guān)注,而每個(gè)方面都有很多作為開(kāi)發(fā)人員經(jīng)常不會(huì)專注去練習(xí)的技藝。其實(shí)最重要的不一定是一個(gè)架構(gòu)師的才能,而是他們?cè)诿總€(gè)不同的范疇都有足夠的專業(yè)學(xué)問(wèn)。僅僅控制上述某個(gè)范疇的架構(gòu)師不如在六個(gè)方面都有良好專業(yè)學(xué)問(wèn)的架構(gòu)師來(lái)得更有價(jià)值。
七、作為技術(shù)指導(dǎo)者
一名好的軟件架構(gòu)師需求明白,作為指導(dǎo)者并不一定要通知開(kāi)發(fā)人員做什么。相反,好的架構(gòu)師就像一個(gè)導(dǎo)師,率領(lǐng)開(kāi)發(fā)團(tuán)隊(duì)向同一個(gè)技術(shù)愿景行進(jìn)。好的架構(gòu)師會(huì)借助于講故事、影響力、引導(dǎo)抵觸、構(gòu)建信任等指導(dǎo)技藝,將他們的架構(gòu)愿景變成理想。一個(gè)好的指導(dǎo)者,同時(shí)也是一個(gè)好的架構(gòu)師。他/她會(huì)認(rèn)真聽(tīng)取每個(gè)參與者的意見(jiàn),經(jīng)過(guò)與團(tuán)隊(duì)的反應(yīng)互動(dòng)調(diào)整他們的愿景。
看到這里,你是否獲得了更多的收獲呢?學(xué)習(xí)就如同蜜蜂采蜜,只有付出了辛勤的勞動(dòng),才能享受蜂蜜的甘甜。好了,今天的分享就到這里,動(dòng)力節(jié)點(diǎn)java學(xué)院會(huì)繼續(xù)伴你前行。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)