架构师需要具备哪些素质

  • 李湃

2012 年 5 月 25 日

话题:架构语言 & 开发

关于架构师的话题一直是社区讨论的热点,最近@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 能在项目中变得简洁快速,将程序的界面、控制和数据分离开来,方便团队间的协作和维护。

感兴趣的读者朋友,欢迎发表关于架构师的观点。

架构语言 & 开发