架構師需要具備哪些素質
關于架構師的話題一直是社區討論的熱點,最近@caoz在微博針對“架構師”這個話題,發表了自己的見解,指出成為架構師的關鍵并不在于照搬公用、成熟的框架,而在于是否具備基本的系統資源監控以及瓶頸分析的本領。
如何成為架構師
@caoz:#架構師# 很多人想學牛b架構,其實所謂牛b的架構,公開資料那么多,照抄一下真不難,但這不是關鍵;最佩服如@淘寶褚霸 @TimYang 的地方是,能對性能瓶頸,系統資源占用的分析細致入微,絲絲入扣,然后有的放矢選擇方案;所以架構師的入門課程,是系統資源監控和瓶頸分析,基本信息不掌握別談架構
大部分人對此看法表達了支持
網易汪源:架構也還是重要的。如果不知道一些比如分布式架構的基本經驗,很難搞定系統。要了解這些經驗也很不容易,網上那么多資料,未必對。比如估計很多人都被Dynamo唬住了(包括我自己),但過來人才知道Dynamo那架構問題很大
淘寶褚霸:踏實練習基本功比較好,知道問題所在,解決起來就容易
愛的馬斯特:說的太對了!!!!! 其實好的架構師必須懂得linux服務性能優化
Simon李曉明:其實做維護和優化很鍛煉人,能解決問題,自然也能構建系統。不能解決問題,即使搭出來一個系統,遲早也會坍塌。一個系統除了業務邏輯,要考慮的地方太多了,這些東西,不是天天做開發能體會到的。可用性,可維護性,性能,用戶體驗。。。都是維護過程中才能有直觀的認識。
flydragon-bj:不是所有人對操作系統和網絡還有協議的理解都是那么深的。基礎知識最重要,大多數比較水的架構師,只是會用點時髦的腳手架而已
劉鑫-MarchLiu:所以說啊⋯⋯有些朋友⋯⋯唉,吐槽點太多了, 能做到審時度勢,隨機應變才是好架構師。好多人都以為照搬淘寶啦百度啦這些大公司的公開文檔就能牛逼了,人家編譯內核你也編譯內核,人家定制服務器你也定制服務器,殊不知東施效顰,邯鄲學步,畫虎不成反類犬。
TimYang:看了評論,針對“實用論”(能抓老鼠就是好貓) 及“經驗論”(踩坑多了就成長)吐槽一下,實用及經驗固然重要,但是忽視理論及抽象能力,最終是否只能成為一名好工匠?看到我們大專生干的活國外是博士在 做,憑實用論及經驗成長的大專生能否成為一個卓有成就的架構師?為什么國內非業務的技術成果鳳毛麟角?
也有人從不同的視角看待這個問題
@放翁_文初:其實么,以前也這么認為,自己也這么做,但是真實的情況是,工種有不同,不要強加自己的長處去比較別人的短處,沒啥架構師,只有能夠寫出客戶要的代碼的人(客戶可以是買家賣家,可以是各個層面的coder),能寫出來別人要的東西而且自己也看的順眼就是好的coder
@個人知識管理:架構師、設計師、研發等:1. 實用(原則) 2.經驗(工作N年) 3.理論(N年的積累) 4.抽象能力(天賦+閱歷+思考+思考+思考)。引用 @人月神話 的話:個人知識管理比單純的時間管理重要,問題管理比個人知識管理重要,思維能力提升又比問題管理重要。最終思維能力提升了才是真正提升自我核心競爭力
業界專家談架構
IBM Fellow、UML創始人之一Grady Booch,將自己比作“雜家”
并不是我決定要做一名架構師,而是我從事的工作所涉及的內容正是我們目前所稱的體系結構方面的東西。開始的時候(大部分時間,甚至到現在也是如 此),我們并不進行“體系結構設計”。我們只編寫程序,其中的任何體系結構都是意外出現的。我一直是個雜家,出現在科學所指引的地方。
Ruby On Rails創始人David Heinemeier Hansson,理解架構是將復雜的問題簡單化
早在編寫PHP程序時DHH就開發過一套框架,目的是使PHP能在項目中變得簡潔快速,將程序的界面、控制和數據分離開來,方便團隊間的協作和維護。