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