06.20 送給架構師的幾個建議,基礎不能忘!

首先架構師應該有個深厚的編碼基礎,專業技能方面必須是沒的說的。架構師要幫助團隊把技術可行性,技術方案權衡取捨一一剖析清楚;要設計整體的技術實現步驟,架構師要和開發團隊一起,進行編碼,常見的實踐是,系統最困難最核心最關鍵的部分往往由架構師親自操刀;完成各類測試,協助解決最困難的bug,和團隊一同完成線上部署、並一同排除上線初期系統的故障。

送給架構師的幾個建議,基礎不能忘!

“正好足夠”的預先設計!

除了非常簡單的項目,一定時間的預先設計(例如,1到2周)是絕對必要的,其時間長短會取決於應用的類型——網絡應用程序、智能客戶端(smart client)、移動或批處理,基本的功能需求是什麼,是長期的解決方案抑或是折衷的、暫時的方案,都要弄清楚。預先設計的目的是要決定:使用什麼技術——例如,ASP.NET或MVC,應用程序是什麼類型——2層、3層抑或是面向服務的應用,如何訪問數據庫——存儲過程、實體框架、LINQ、依賴注入(DI)。

編寫代碼!

架構師應該知道代碼的質量如何,這樣才會對他做出的決定所產生的影響有更好的理解。他也可以整明白何時重構是必須的。 編寫代碼的架構師在開發團隊中有更好的聲譽。也就是說,Hollander並不認同(設計和開發)職責的涇渭分明。他還認為,架構師仍然是架構師,他不一定要像普通的開發人員一樣擅長於編寫代碼。

當業務的需求發生了變化或者產品經理想做第二期時候,架構師又開始進行上一階段的複用,開始修改接口契約文檔、擴容機器等,演變成一個文檔“高手”。

送給架構師的幾個建議,基礎不能忘!

架構師要懂得用戶需求,理解用戶真正想要什麼,這使得架構師必須要和分析人員不斷溝通,反覆確認需求規格說明書,以此來保證他精準清楚用戶需求。

一個產品會有多部門合作,架構師在其中的溝通極為重要,直接影響產品進度與質量。架構師不僅要與開發人員溝通,也要和項目經理、分析人員甚至用戶溝通,來實現產品的各種可能性。

所以,對於架構師來講,不僅有技術方面的要求,還有能夠橫向溝通的要求。

推動質量文化!

個成功的團隊,一個人人都想成為其中一分子的團隊,是建立在質量文化之上的:沒有人偷工減料;沒有人提交拙劣代碼;如果設計中有一個重大的缺陷,它絕不會不知不覺地混過關;所有人都是誠實和開放的,尋求整個團隊達到最佳的結果。Hollander承認,建立這樣一個團隊很難,但並非不可能。首先,架構師應該在一開始就創建一些規則,這些規則不會因為開發人員不喜歡就隨著時間而改變。比如決定編寫單元測試,再比如在每次提交以前都要進行代碼評審,包括由架構師提交的代碼。如果評審人員(可以是團隊中的任意一位)不認可代碼,代碼就不能提交。

送給架構師的幾個建議,基礎不能忘!

綜上所述,架構師應該確保他從理論上和實踐上都是團隊的一分子。架構師不應該編寫所有的代碼,而只是其中一小部分。但是,不推薦不熱愛編程的人去做架構師,對於團隊工作和個人發展來說,都會帶來糟糕的後果。

尚學堂立志解決中國教育不公平和低效率問題,幫助千千萬萬被傳統教育方式耽誤的人,傳授實用、前沿的知識,成就學員個人理想,為愛你的人和你愛的人創造美好的生活。尚學堂12大精英團隊+各類實戰項目,真正實現1+1>10的目標效果。幫助學員迅速成長,持久騰飛,成就學員“高富帥”人生。


分享到:


相關文章: