技術架構師要有責任心 [網路]

leniz發表於2008-11-23

From IT168.com

很多人談架構師,其實有兩種架構師,一種是業務架構,一種是技術架構。我的經驗和教訓侷限於技術架構,所以本文特指技術架構師。

畢業前一年,畢業後7年,大約8年的技術領域經驗和教訓,參加過大小專案若干,有被人傳頌的成功經驗,也有慘痛的失敗教訓。在以前一直作為技術尖子,在不同的領域逐步填充各方面的知識,最近一年開始做架構設計。以下是我的一些看法。

技術架構師要有責任心

比如說,過去經歷過的一個大專案(數百開發人員,基礎引擎數十人),這個大專案有一個基礎模組,早期設計不良,有比較嚴重的效能問題,結構混亂,職責不清,很多人早期就發現了這個問題,眾所周知。但是一直沒改,說法是,改動的成本太大了,其他的部分要跟著改。但是,越晚改定,付出的成本就會越多。這個基礎元件的在隨後導致了多個嚴重問題,包括效能問題(佔用記憶體多),開發效率問題(結構混亂,使用麻煩),等等。多年後,還問起這個元件時候,相關的同事都說,某某元件太爛了,沒辦法改啦。經常會想起這件事,想這究竟為什麼會這樣,怎麼解決他。責任心是其中最重要的問題,當時的技術架構師沒有負責任把這件事情解決了,讓他拖下去。

談到技術架構師的素質,當然要技術功底深厚,但這是基本素質,不是關鍵素質。我認為技術架構師的關鍵素質是責任心。作為架構師,你來設計這個架構,它是你的心血,你要“愛”它,為它的長久發展打好基礎,甚至犧牲一些短期利益。

我們都是在成長的,經常遇到機會,做超出自己能力範圍的事情,架構師在設計第一個架構時,甚至第N個架構師時,都有可能是超出自己能力了,然後在實際的工作中,把能力逐步提高。早期的設計可能是不夠好的設計,同時已經應用在實現中了,但是你的能力隨後提升了,認識到其中的問題了,你需要改正它,改正是需要成本的,作為架構師,要有責任心,敢於承擔責任,對過錯負責,把他改過來。

很多專案的頑症都是沒有人敢於承擔責任留下來的!而作為架構師,就一定要負責任,為萬世開太平!

技術架構師要有堅持

有一次,我做了技術架構方面的一個方案,要執行它,大家(包括一些經理)都持反對態度,但是我最終一意孤行,堅決推行,最終取得非常好的效果,成為這個技術架構中最關鍵的技術之一。

作為技術架構師,可能你在團隊中技術把握能力最好,比其他人思考的更多。如果你相信你的技術決定一定正確,那你就堅決推行它,不顧政治,不顧諸神!

遇到不擅長的問題怎麼辦?

作為架構師,面臨的問題多方面,總會又遇到不擅長的領域,這時候,找其他同事,徵求他們的決定,一起制定方案,或者乾脆完全把決定權交給擅長這方面的同事。一定不要不懂裝懂,外行管內行。

做錯了,怎麼辦?

總會有做錯的事情,怎麼辦呢?不要太顧面子,少找藉口,接受批評,迅速改進。捱打要立正!別人也不會因為你一個錯誤而否定你全部的。根據經驗,做錯了事情然後改進的人,通常更受重用。原因是,錯誤發生了,領導們知道這個問題的難度,你解決了,就說明你解決了一個有難度的問題。

要深入瞭解實際情況

Ivar Jacobson最近講到技術架構師,說執行程式碼比巨集觀架構更重要。古今中外,有一個共同的道理,就是細節決定成敗。也有說法是“魔鬼總是在細節中”。架構的一些問題總是反映在實現細節中,或者使用細節中。作為技術架構師,你最好能夠經常閱讀使用架構的開發人員的實際使用情況,開啟工程,閱讀程式碼,然後把程式跑起來,觀察執行情況。在最近作的一個技術架構中,其中多項重要的技術方案,都是觀察了開發人員的程式碼之後總結然後做的改進方案。

技術架構師要面臨的技術細節很多,例如分層細節,資料庫命名規範,程式碼規範,spring配置檔案管理,ibatis配置檔案管理,日誌輸出規範,findbugs定期檢查,作Eclipse外掛把一些技術方案固化下來,經常維護wiki知識庫,作code review,整理專案依賴,日構建制品輸出管理,等等。每個具體專案的細節都不一樣,細節處理不好,就會產生“魔鬼”。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-501488/,如需轉載,請註明出處,否則將追究法律責任。

相關文章