架構師的修煉之路[轉]

架構師的修煉之路

國內我們對架構師镀琉,項目經(jīng)理峦嗤,開發(fā)經(jīng)理或者是技術總監(jiān)這類職業(yè)定位普遍不都不清晰,很多的情況是“能者多勞”屋摔,一人身兼數(shù)職烁设。達爾文的理論在我們的行業(yè)是絕對適用的,我從進入這個行業(yè)開始我就不甘于成為淘汰者钓试,而我也由心地熱愛著這個行業(yè)很年前我就立志要成為架構師(當年流行叫:系統(tǒng)分析員 )這目標進發(fā)装黑。回首這10幾年的磨練弓熏,我總結了一下一名合格的架構師應該具備哪一些方面的能力以及怎么才能得到這些能力

一恋谭、編碼能力

架構師是一個職業(yè),是一種經(jīng)歷了各種磨練與長年開發(fā)經(jīng)驗積累出來的挽鞠。另外我一直認為:不會編碼的架構師不是一個好的架構師疚颊。我見過很多所謂的架構師完全不懂編碼,但總喜歡拿著架構說事信认。但從嚴格來說他們并不屬于“軟件架構師”的范疇材义,充其量只能算是個“系統(tǒng)架構設計師”,遇到這樣的”架構師“我總喜歡說一句話:”Don’t tell me the concepts show me the code!“嫁赏。

不參與編碼并不代表不會編碼其掂,如果沒有過硬的開發(fā)基礎,巨量的編碼時間積累為基礎潦蝇,在設計軟件時一定會忽略非常多的細節(jié)款熬,而這將會直接影響到整個項目的成敗深寥,試想想當項目經(jīng)理按照架構師設計的軟件藍圖訂制開發(fā)計劃與安排項目資源時由于“藍圖”內存有大量未確定的風險因素,以及由風險觸發(fā)后所帶來的不可預知的結果贤牛,最后項目是否能成功 翩迈?

  • 多看 - 多看別人的代碼,從別人的代碼中讀出軟件的架構與設計的設計思路

  • 多學 - 掌握各種語言盔夜,不要偏執(zhí)于某一技術陣形负饲,不管java, .net , phyon 還是javascript每種語言都有其優(yōu)缺點,成為一名語言控喂链,從語言本身學習與理解語言設計者的思想返十。

  • 多做 - 瘋狂編碼,從時間與實踐中去體驗與領悟椭微,工多藝熟洞坑。

  • 勇敢 - 嚴格要求自己不要寫出”發(fā)臭“的東西,勇敢地重構蝇率!讓代碼變得優(yōu)雅迟杂,易讀充滿你的設計思想。

二本慕、表達力

世界上最難的兩件事是:將別人口袋的錢放到自己的口袋里面排拷;將自己腦子的想法完整放到別人的腦子里面。

我認為一份成功的設計是 ”能讓不同層面的人都能看得懂“锅尘。為什么這樣說监氢?那么得了解誰需要看設計,又是出于何目的來看設計藤违。

  • 銷 售 - 從設計中尋找賣點與特色浪腐,豐富銷售方案和定制預售計劃。

  • 項目經(jīng)理 - 根據(jù)設計進行時間估算顿乒、項目資源準備與工作分解议街。

  • 開 發(fā) - 根據(jù)設計要求進行技術準備、開發(fā)環(huán)境璧榄、編寫DEMO以及最終編碼 特漩。

  • 測 試 - 根據(jù)設計劃分測試粒度、準備測試環(huán)境犹菱、定制測試計劃

不同的開發(fā)方法與開發(fā)流程都會有不同的設計文檔要求拾稳,而受眾無非也是上述幾種吮炕。作為項目/軟件的設計者腊脱,能清晰地向受眾準確地傳達自己的設計思路就顯得極其重要。這里指表達不是指嘴上的功底龙亲,更多的是在工具的掌握能力與文字的表達能力陕凹。使用不同的工具表達向不同的受從表達相同的理念悍抑,這基實是對架構設計的一種驗證,這種溝通與表達能有效地融合不同角度的觀點杜耙,也能讓架構師能更深入地理解自己的設計方向搜骡。

要面對如此多的復雜性應該如何來鍛煉自己的表達性呢?

多與人溝通佑女,多參與頭腦風暴

練習用人類語言表達“非人類”的專業(yè)知識记靡。一張用鉛筆畫的框圖往往比一個使用專業(yè)UML設計工具做出來的設計更容易讓人理解。 UML為作架構師基本上是必修課团驱,也是輔助架構師思維的工具摸吠,但對于不懂UML的那就是“非人類”的文檔,設計是給人看的嚎花,別人看不懂再專業(yè)再標準化的設計也只能淪為廢紙寸痢。

培養(yǎng)測試先行的習慣 - 在設計時多寫范例與測試,在很大程度上可以減少設計誤區(qū)和驗證被實現(xiàn)的可行性紊选。這樣可以在將設計交付給開發(fā)啼止、測試后節(jié)約大量的溝通時間。

三兵罢、擁抱變化

正如XP(極端編程)中所說:“世界上唯一不變的就是變化”献烦。擁抱變化、預測變化卖词、控制變化不單純是優(yōu)秀開發(fā)人員的和項目經(jīng)理的要求同樣也是架構師一種重要的能力仿荆。

“變” 我的理解 設計中的“變” 就是 “可定制化” 的要求,可定制化程度越高系統(tǒng)/項目的可擴展性就越強坏平。架構師就是需要鍛煉的是控制這種變化的范圍與程度拢操,“變”是雙刃劍,允許過多的變化就會造成“過度設計”舶替,出現(xiàn)一大堆“未來可能使用的功能”令境;過于封閉則會變得僵化難以適應新的要求。

“不變”這里所說的“不變”也只是相對而然顾瞪,在系統(tǒng)/項目中相對不變的就應該是“核心”或者是“基礎框架”舔庶,舉最簡單的例子就是 .net framework 就是其中一者,雖然它會不斷發(fā)展陈醒,增強功能惕橙。但其基礎核心設計理念與架構也從來沒有發(fā)生過質的改變。更具體的一點來說“不變”的是規(guī)則钉跷、用法和基礎設計理念弥鹦。 我認為學習控制變化的最佳方法是多看出色的類庫或系統(tǒng),多問為什么這樣做,理解原設計師的想法彬坏。經(jīng)過一定時間的積累朦促,隨著對“變化”觀察的增多骄呼,自然而然會在自已的設計中按設計要求將”變“與”不變“應用得當惜傲。

四、方法論

針對架構設計的方法論眾多翘贮,應該如何選擇幻赚?我也讀過很多的相關書籍禀忆,我只選最實用的,這里我推薦幾本書落恼。

《設計模式》- 要讀懂油湖、活用,我讀了10幾年每次都可以從中學到不一樣的想法,將其應用于架構內可以極大地簡化很多復雜的問題领跛。

《Java 編程思想》 - 談面向對象方面最好的其中一本書乏德,提高面向對象的設計能力會有很大幫助 《Refactoring》- 重構不單單是一種做法和程序員才關心的事。重構重于意識與思維完全可以用于架構設計 吠昭。

《eXtreme Programming》- 雖然討論的是開發(fā)方法喊括,但它最能詮釋什么是”變化“。

方法論的實踐與應用也需要時間磨合并融會貫通矢棚,它們給予我們更多的是理念與意識郑什,一定要避免走進為實踐方法論而設計的誤區(qū)。

五蒲肋、學習能力

對于普通程序員來說蘑拯,成為高級架構師的門檻主要有以下幾點:

1、錯誤的學習方法兜粘。在技術日新月異的今天申窘,誰在單位時間學到的知識更多,誰的學習方法更高效孔轴,誰就獲得更強的競爭優(yōu)勢剃法。而很多程序員在工作中,還用著學校時的學習方法路鹰,非常低效贷洲,公司不是學校,啃書本的學習方法已不再有效晋柱。

2优构、完整的知識體系。沒有形成系統(tǒng)化的知識架構雁竞,最重要的是不知道哪些技術需要重點掌握钦椭,學習時頻繁踩坑,最終浪費大量時間。

3玉凯、對編程的認知势腮。頂級程序員和平庸程序員联贩,本質區(qū)別是遇到問題時的思考方式漫仆,這就是所謂的頂級程序員思維,一種高效解決問題的思維方式泪幌。這種思維方式盲厌,不是讀幾本Java書能學到的,而需要經(jīng)過大量項目實戰(zhàn)祸泪,才能總結提煉出來吗浩。

4、差的學習環(huán)境没隘。很多程序員的學習環(huán)境很差懂扼,在公司經(jīng)常加班,工作幾年后右蒲,發(fā)現(xiàn)自己除了更熟悉公司業(yè)務外阀湿,能力沒有得到半點提升,或周末基本不學習瑰妄,而是出去玩陷嘴。這么差的自制力和學習環(huán)境,很難讓能力提到大的提升间坐。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末灾挨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子竹宋,更是在濱河造成了極大的恐慌劳澄,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜈七,死亡現(xiàn)場離奇詭異浴骂,居然都是意外死亡,警方通過查閱死者的電腦和手機宪潮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門溯警,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人狡相,你說我怎么就攤上這事梯轻。” “怎么了尽棕?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵喳挑,是天一觀的道長。 經(jīng)常有香客問我,道長伊诵,這世上最難降的妖魔是什么单绑? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮曹宴,結果婚禮上搂橙,老公的妹妹穿的比我還像新娘。我一直安慰自己笛坦,他們只是感情好区转,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著版扩,像睡著了一般废离。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上礁芦,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天蜻韭,我揣著相機與錄音,去河邊找鬼柿扣。 笑死肖方,一個胖子當著我的面吹牛,可吹牛的內容都是我干的窄刘。 我是一名探鬼主播窥妇,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼娩践!你這毒婦竟也來了活翩?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤翻伺,失蹤者是張志新(化名)和其女友劉穎材泄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吨岭,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡拉宗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了辣辫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旦事。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖急灭,靈堂內的尸體忽然破棺而出姐浮,到底是詐尸還是另有隱情,我是刑警寧澤葬馋,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布卖鲤,位于F島的核電站肾扰,受9級特大地震影響,放射性物質發(fā)生泄漏蛋逾。R本人自食惡果不足惜集晚,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望区匣。 院中可真熱鬧偷拔,春花似錦、人聲如沸沉颂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铸屉。三九已至,卻和暖如春切端,著一層夾襖步出監(jiān)牢的瞬間彻坛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工踏枣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留昌屉,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓茵瀑,卻偏偏與公主長得像间驮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子马昨,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內容