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