潛魚在淵

          Concentrating on Architectures.

          posts - 77, comments - 309, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          理解架構(gòu)師

          Posted on 2005-12-17 16:40 非魚 閱讀(3182) 評論(16)  編輯  收藏 所屬分類: 面向?qū)ο笤O(shè)計(jì)
              今天被鄙視了一下。一個(gè)編碼比我好的朋友說:“非魚,說實(shí)在的,我挺鄙視你搞的架構(gòu)師小組的?;竟Σ辉鷮?shí),就搞什么架構(gòu)師,是我一向鄙視的行為?!逼鋵?shí)我自己也認(rèn)為自己不是一個(gè)合格的架構(gòu)師,或許勉強(qiáng)算是一個(gè)預(yù)備役的架構(gòu)師吧。

              但這并不影響我對于架構(gòu)師職業(yè)的理解和學(xué)習(xí),而我也愿意把我的學(xué)習(xí)經(jīng)驗(yàn)和大家分享。目前國內(nèi)真正的架構(gòu)師還是極少的,我以“架構(gòu)師”來稱呼自己,算是自 詡,但更是自勉。我建立“架構(gòu)師之家”這樣一個(gè)團(tuán)隊(duì)BLOG,更多是想加入的人(多半還不是架構(gòu)師吧)一起學(xué)習(xí)進(jìn)步,所謂每月至少一篇關(guān)于架構(gòu)師的文章算 是一種督促吧。

              朋友的意思,如果我沒有理解錯(cuò)的話,基本功是指的編碼。沒有寫過代碼的人來做架構(gòu)師,是一個(gè)笑話。但如果只有Anders Hejlsberg這樣的人才能成為一個(gè)架構(gòu)師的話,恐怕這個(gè)世界上的架構(gòu)師就太少太少了。每個(gè)人都可以向Anders Hejlsberg學(xué)習(xí),但不是每個(gè)人都要成為Anders Hejlsberg。我認(rèn)為一個(gè)架構(gòu)師應(yīng)該對編碼很精通,能夠掌握各種數(shù)據(jù)結(jié)構(gòu)和大部分算法,知道何時(shí)何地應(yīng)用何種數(shù)據(jù)結(jié)構(gòu)和算法。這樣應(yīng)該足夠了。

              架構(gòu)師應(yīng)該精通分析和設(shè)計(jì)。架構(gòu)師應(yīng)該比常人容易理解事物的基本原理,具有正確的分析手段和良好的認(rèn)識論、方法論基礎(chǔ)。掌握各種設(shè)計(jì)原則和模式是一個(gè)架構(gòu) 師的職業(yè)要求。架構(gòu)師應(yīng)該具有一定的領(lǐng)導(dǎo)能力,帶領(lǐng)一個(gè)團(tuán)隊(duì)。架構(gòu)師應(yīng)該具有良好的溝通能力,和客戶溝通以確保產(chǎn)品滿足其需求。

              架構(gòu)師往往沒有一個(gè)他“自己”的產(chǎn)品,如Martin Fowler,這個(gè)牛人也沒有什么架構(gòu)產(chǎn)品吧?架構(gòu)是產(chǎn)品的基礎(chǔ),但架構(gòu)本身不是一個(gè)產(chǎn)品,架構(gòu)師所做的都是幕后工作。架構(gòu)師是編劇,重要而不如導(dǎo)演名氣 大,但Hollywood是編劇負(fù)責(zé)制,不是導(dǎo)演負(fù)責(zé)制。有激情的程序員不屑于架構(gòu)師,因?yàn)榧軜?gòu)師沒有一個(gè)產(chǎn)品。

              架構(gòu)師需要考慮滿足多個(gè)風(fēng)險(xiǎn)承擔(dān)者的利益。站在不同風(fēng)險(xiǎn)承擔(dān)者的角度權(quán)衡利弊,盡可能滿足所有人的要求。他象一個(gè)走鋼絲的雜技藝人,最終會為自己的成功表 演而感受內(nèi)心的愉悅。但架構(gòu)師不是無原則的走中庸之道,他的原則就是所有風(fēng)險(xiǎn)承擔(dān)者的利益。

              成功的架構(gòu)師會把殺手特性扼殺在搖籃之中。他不允許一個(gè)程序員過度考慮一個(gè)看上去非常吸引人但代價(jià)高昂的特性(中國稱“亮點(diǎn)”)或高性能的實(shí)現(xiàn)。因?yàn)檫@會對整個(gè)產(chǎn)品的發(fā)行造成負(fù)面影響,甚至于導(dǎo)致項(xiàng)目失敗。

              架構(gòu)師對于產(chǎn)品質(zhì)量的敏感是程序員做不到的。他從全局角度考慮質(zhì)量,并把這些質(zhì)量的屬性反映到產(chǎn)品中。

              “另外作為架構(gòu)師還要考慮的問題很多,甚至比技術(shù)架構(gòu)更重要如授權(quán)模式、部署模式及成本、維護(hù)方案、安裝及升級方案、商標(biāo)及商標(biāo)的相關(guān)元素、發(fā)布及發(fā)布管 理、安全因素、市場因素及技術(shù)市場架構(gòu)(個(gè)人認(rèn)為這個(gè)因素最難也最重要)” ——Donald

          評論

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-17 16:45 by petit
          非魚渴望成為張?zhí)?,然后找到陳大?dǎo)演,拍一部

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-17 16:55 by 非魚
          沒有辦法,象你這樣已經(jīng)拍過3部A片的大影星是不會理解我們這種小人物的苦處的~~~

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-17 17:55 by Donald
          Martin Fowler肯定也是架構(gòu)過產(chǎn)品的
          基于J2EE這種中間件架構(gòu)的產(chǎn)品也一樣是產(chǎn)品啊,不是windows才叫產(chǎn)品吧,呵呵
          Fowler還是很牛的,我想不比Anders差^_^

          原來我很想寫點(diǎn)關(guān)于這個(gè)的文章,名字都想好了,包括兩個(gè)系列
          《你是架構(gòu)師-架構(gòu)模式大系》系列
          -主要講各種中間件及系統(tǒng)平臺的各種‘架構(gòu)’模式
          《你不是架構(gòu)師-超越技術(shù)架構(gòu)師》系列
          -主要講述光會技術(shù)是不行的,集中討論包括如授權(quán)模式、部署模式及成本、維護(hù)方案、安裝及升級方案、商標(biāo)及商標(biāo)的相關(guān)元素、發(fā)布及發(fā)布管理、安全因素、市場因素及技術(shù)市場架構(gòu)等等方面的問題

          可惜...沒時(shí)間,好龐大的內(nèi)容,我看還是有時(shí)間建個(gè)wiki大家一起搞比較好
          如果誰有興趣,我給個(gè)提綱,大家豐富一下也好

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-17 18:02 by 非魚
          好啊,Donald的建議很好。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-17 18:14 by romza
          如果只是在心里稱為自己“架構(gòu)師”,那可以算得上對自己的勉力,對著別人稱自己為“架構(gòu)師”,那就有點(diǎn)其他的意思了,又如果你沒有達(dá)到那個(gè)實(shí)力,那么也許就會有人跳出來說了:你憑什么稱自己為XXX?

          當(dāng)然,這個(gè)世界沒有絕對的真理,就算宣稱自己是上帝,只要你的理由夠唬人,也能讓不少人相信你。在別人認(rèn)可你之前就先自我認(rèn)可的前提是-能夠馬上應(yīng)對來自其他人的責(zé)難,這之后就出現(xiàn)了兩種結(jié)果,你確實(shí)是XXX,或者你根本就是個(gè)XXX。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-17 18:48 by wfeng007
          不錯(cuò)不錯(cuò)。

          軟件架構(gòu)師注重整體把握,高級程序員負(fù)責(zé)細(xì)節(jié)精華。者這個(gè)觀點(diǎn)來說,兩者級別是一樣的,只是關(guān)注點(diǎn)不同。

          “另外作為架構(gòu)師還要考慮的問題很多,甚至比技術(shù)架構(gòu)更重要如授權(quán)模式、部署模式及成本、維護(hù)方案、安裝及升級方案、商標(biāo)及商標(biāo)的相關(guān)元素、發(fā)布及發(fā)布管理、安全因素、市場因素及技術(shù)市場架構(gòu)(個(gè)人認(rèn)為這個(gè)因素最難也最重要)“
          。。。。。。。。。這個(gè)好像已經(jīng)上升到系統(tǒng)分析級別了。。。該角色關(guān)注范圍比構(gòu)架師跟廣。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-17 19:15 by 非魚
          @romza
          這個(gè)沒有一個(gè)標(biāo)準(zhǔn)。我自己認(rèn)為還沒有達(dá)標(biāo)(自己的標(biāo)準(zhǔn)),或許別人看來我達(dá)標(biāo)了(別人的標(biāo)準(zhǔn))。無所謂,你不妨認(rèn)為“我根本就是個(gè)XXX?!绷硗?,我搞個(gè)“架構(gòu)師之家”其實(shí)也沒有自稱“架構(gòu)師”。:)上次和朋友交換鏈接我都要他給個(gè)“預(yù)備YI架構(gòu)師”的TITLE。這么看來我還有點(diǎn)自知之明吧。搞這個(gè)東西只是說明一件事:“我有錢就可以開公司,不懂管理無所謂,我可以請職業(yè)經(jīng)理人?!?

          @wfeng007
          最后一段是引用Donald的。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-18 11:20 by luffy520
          如何培養(yǎng)才能達(dá)到架構(gòu)師的程度呢?^_^

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-18 11:46 by Donald
          @wfeng007
          這說明你還不理解架構(gòu)師的職業(yè)含義
          看看微軟的bill的工作就知道了
          類似的還有很多,很多公司的Chief Architect都同時(shí)兼著vice president或更高的職位,因?yàn)樗麄冃枰芨叩囊曇?
          如果Chief Architect只懂技術(shù),這公司肯定發(fā)展不好

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-18 13:37 by <font color="orange">非魚</font&g
          @luffy520
          這個(gè)問題比較難說,有人說要11步呢,聽著就恐怖。

          不過我以為編碼-設(shè)計(jì)-領(lǐng)導(dǎo)-管理逐步提高,水到渠成吧。重要的是打好基礎(chǔ),步步為營。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-18 13:43 by <font color="orange">非魚</font&g
          @Donald
          架構(gòu)師還是以技術(shù)為主。仔細(xì)看下Architecture Description的內(nèi)容,會發(fā)現(xiàn)其中主要就是技術(shù)的東西。產(chǎn)品的市場因素,一般需要架構(gòu)師和市場工作人員有良好的溝通,但我個(gè)人認(rèn)為架構(gòu)師不能就這方面下結(jié)論甚至替代其工作,架構(gòu)師的工作內(nèi)容復(fù)雜,并不說明其職責(zé)大而全。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-18 15:01 by david.turing
          將Anders Hejlsberg和Martin相比是不合適的,前者的天才是后者無法相比,當(dāng)然,Martin更專注于項(xiàng)目和架構(gòu)的整體設(shè)計(jì),后者對各種大小項(xiàng)目的經(jīng)驗(yàn)的積累是前者不得不佩服的。
          回到你的Point,是否需要有很好的代碼基礎(chǔ)才能成為架構(gòu)師?
          我認(rèn)為,架構(gòu)師需要很多素質(zhì),這些素質(zhì)可以通過寫代碼來培養(yǎng),當(dāng)然,寫代碼不是唯一的途徑,如果你從事設(shè)計(jì),并在一個(gè)團(tuán)隊(duì)里面不斷跟別人合作,并能知道自己的設(shè)計(jì)對編碼產(chǎn)生的影響(通過你的寫編碼的同事,開發(fā)經(jīng)理,測試人員,客戶等等的反饋而不斷重新思考),你的架構(gòu)師的素質(zhì)會不斷提高。
          一句話,認(rèn)同你的觀點(diǎn),但不認(rèn)同你解釋你自己的觀點(diǎn)的論據(jù)。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2005-12-18 16:22 by 非魚
          @dove

          As you know, 關(guān)于Martin Fowler是朋友說的。

          Anders和Martin應(yīng)該是殊途同歸:Technology makes life easier. 無論是Code Guru還是Architect,如果不能做到這一點(diǎn)就是失敗的。Anders和Martin都做到了這一點(diǎn),無論他們誰高誰低。

          我的真正的觀點(diǎn)是,選擇什么都是可以的,但別忘了我們的最終目標(biāo)。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2007-05-15 20:46 by 金大為
          我還是認(rèn)為架構(gòu)師必須是優(yōu)秀的程序員,不然,就容易紙上談兵,坑上難下。

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2007-06-10 13:33 by itkui
          架構(gòu)師,我的夢想!

          # re: 理解架構(gòu)師  回復(fù)  更多評論   

          2007-07-07 09:55 by itkui
          @金大為
          這話我比較同意。
          雖然我是Java初學(xué)者。
          主站蜘蛛池模板: 武义县| 中江县| 金秀| 宜章县| 淅川县| 河东区| 旅游| 嘉善县| 河池市| 拜泉县| 平邑县| 久治县| 鸡东县| 许昌市| 莱州市| 天台县| 肇源县| 娱乐| 偏关县| 元朗区| 镇原县| 盐源县| 元谋县| 南康市| 启东市| 肥乡县| 白水县| 西充县| 建瓯市| 林西县| 华宁县| 星子县| 商洛市| 怀仁县| 汉川市| 洛川县| 堆龙德庆县| 启东市| 资溪县| 姜堰市| 怀宁县|