导读:
西门子中国中央研究院首席架构师、图书《架构之美——软件架构的艺术》作者李伟,从架构师的定义和内涵、能力和素质要求、成长途径等方面向您阐述成为一个真正的…
西门子中国中央研究院首席架构师、图书《架构之美——软件架构的艺术》作者李伟,从架构师的定义和内涵、能力和素质要求、成长途径等方面向您阐述成为一个真正的架构师需要经历的历程。
记者: 您认为具备哪些能力,才算是真正的架构师?
李
伟:虽然业界有关什么是“软件架构”有着明确的定义及共识,但是确实没有软件架构师的定义。简单地讲,架构师是一个技术控制的角色。技术控制是从客户或市
场开始,一直到交付或服务的整个链条。如果大家对一个应用研发机构或产品研制机构的主要活动熟悉的话,就知道该链条上存在很多需要架构师负责的控制点。以
西门子为例,西门子的战略市场部门就会和业务部门的很多架构师进行协作。这主要是由于战略市场部门的职能之一就是对未来十到十五年的技术和创新进行预判。
这样的技术预判,如果没有架构师作为技术控制,单凭MBA出身的市场人员,大家能相信这样的技术预判吗?所以架构师需要具备一定程度的技术及创新预判能
力。
从一个架构师的日常工作来看,他面对的基本上有七大问题:商业问题、系统问题、子系统问题、构件问题、技术问题、流程问题、项目管理问题。其中,前五项是一个架构师主要负责解决的。这里我尝试提几个问题,让大家检验一下自己是否具备解决这些问题的能力。
如果进行企业应用开发,你知道经典的商业运营手段一般有哪些吗?例如:公司中一般有哪些典型的职能机构?最经典的公司财务部运作是什么样的?最经典的公司纯研究机构的运作是什么样的?或者,最经典的公司纯销售机构是怎样运作的?
如
果你负责一个实时系统的架构,经典的架构构建步骤有几步?一个医学CT机系统应该用什么架构风格来构建?军用舰艇上的3C系统又应该使用什么架构风格?除
了我们都熟悉的MVC风格的架构,你还知道哪些架构风格?再具体一些,对于系统的并发问题,你知道业界流行的经典解决手段包括哪些?
如果你负责子系统及构件设计,经典的设计步骤有几步?分别又有哪些活动?除了你熟悉的Gang of Four的23个设计模式,你还知道什么设计实践?再具体一些,设计中有关同步、事件、资源管理等,你知道哪些前人的最佳实践呢?
实
践工作中,我们遇到的现实是:盲目追随业界通用框架,即对框架或中间件的严重依赖。这些框架或中间件背后实际隐藏了很多技术、设计、应用场景,也就是说为
设计开发人员隐藏了很多系统设计开发的复杂性。如果架构师把各项系统级架构质量的要求,想当然统统扔给这些框架或中间件去处理,将会带来灾难性的后果。业
界有这样一句话:“框架或中间件是用来帮助你的,而不是代替你去思考和工作的。”所以我们必须根据现实的系统要求,自己动脑筋去构建适合现状的软件架构!
简而言之,架构师需要具备的能力=熟知最佳实践+动脑灵活使用+技术及创新预判。
记者: 在中国,一个程序员如何才能成长为一个职业架构师?
李
伟:曾经无意间读过一篇纪事报告《最后的大师》。此文作者是应钱学森先生的邀请,来记录自己的导师,清华大学物理系及清华大学创始人之一的叶企孙先生。叶
先生早年在美国留学期间,在物理方面做出过杰出的贡献。虽然大多数后人并不知道叶先生,但是他的学生没有一个会忘记他,其中包括三钱、华罗庚、李政道、杨
振宁等等。可以这样说,你所知道的中国大师,大多都是他的学生。阅读完此文,颇受启发:真可谓“大师培养大师”。我非常欣赏这句话。
如果身边有大师,自然是从程序员成长为架构师的捷径了。我身边没有大师,便选择这样的道路:认真反思自己这些年来的学习和实践,并将其上升为智慧。毕竟,智慧既是指导我继续工作的原始动力,也将指导自己未来的创新工作。因此,我选择了阅读、学习和思考。
记者: 您认为在中国的软件企业中,大家在普遍认识中对架构师这一职业有哪些误区?
李
伟:误区一,架构师与项目经理没有区别。大家经常在谈论架构师时,混淆了项目经理的职责和架构师的职能。项目经理要对人、流程、钱等内容负责。但是架构师
主要是对技术负责。所以我个人不是很喜欢在谈论系统架构时,过多的谈论流程或管理。虽然我也是流程方面和管理方面的专家。
误
区二,技术好的人就能成为架构师。其实,职业架构师与职业编程人员有着同样重要的分量,只不过各自负责的工作内容及需要具备的能力各不相同。例如:架构师
熟知如何将系统架构构建得适应系统后续国际化/本地化的工作;但是并不一定必须知道界面热键在.NET下调用什么来实现。
误
区三,架构师必须懂得业务领域的知识。从本质上来看,软件架构本身就是在模仿人类大脑的问题思考和解决习惯。自然,专业架构师所掌握的知识就是解决那些反
复出现的相似问题的最佳手段。所以,业界都知道这样一个著名的故事:一个非航天专业的软件架构人员,可以被美国国家航天局请去做航天系统的架构评审。这一
点儿都不奇怪,因为他知道解决系统并发问题时,当今最经典的那么几种手段,你能说航天系统的并发问题与企业应用并发问题本质上不一样吗?由于当前国内软件
研发的各种局限,很多软件从业人员的认知还停留在“懂业务+技术好”就是架构师这样的层面上。其实,懂得经典的解决方法,并能从实践中抽象出理论或最佳实
践的人,才是架构人员的专业水平。
记者: 在《架构之美——软件架构的艺术》一书中,您认为最创新的理念有哪些?
李伟:一个架构从创建、进化、老化到消亡的整个过程,是此书的核心。如同宇宙万物,架构也存在一个生命周期的概念。即“架构生命周期(Architecture Lifecycle)”。
怎样才是一个真正意义上的软件架构师?
当面临构建一个软件架构时,应该采用怎样的流程去工作呢?
怎么做才能构建出满意的高品质架构及设计呢?
当我们阶段性地完成了架构的构建,如何去评估结果呢?
软件产品在演化,软件架构也会跟随演化,如何应对这种变化?
十年前开发的产品,架构文档残缺不全,设计人员已经离职,怎么把产品的架构从纷繁复杂的头绪中清理出来呢?
如果我们要研发十几个功能相似的产品,该如何高效地工作呢?
上述这些理念,基本上是一个职业架构人员所需具备的专业素养。奉献给大家,以供参考。
(本文来自《程序员》10年05期,更多精彩内容敬请关注10年05期杂志)
分享到:
相关推荐
课程体系内容包括了核心架构业务优化篇,互联网架构及性能实战,架构师核心业务处理,架构师数据处理实战,架构设计与优化案例实战,还有核心的架构师运维课程,这是真正意义上的架构师课程,全新的技术体验。...
《系统架构师考试指南》是一本专为准备参加国家软考——系统架构师考试的考生量身打造的学习资料。这份压缩包文件包含了丰富的学习资源,旨在...只有这样,才能在考试中取得理想的成绩,真正成为一位合格的系统架构师。
在IT行业中,成为一位架构师是许多技术人的职业追求。"走向架构师之路"这个主题涵盖了几个关键领域,包括Nginx配置、Tomcat集群配置以及24种设计模式。...持续学习和实践,不断积累经验,才能真正走上架构师之路。
系统架构师复习笔记 在 IT 行业中,系统架构师扮演着非常重要的角色,他们需要掌握将解决方案概念化到不同的抽象层次上的技能,以便更好地处理...只有这样,架构师才能真正地掌握抽象层次,并将其应用到实际的项目中。
《系统架构师教程》是为准备参加软考高级系统架构师考试的专业人士量身打造的一本教程。由清华大学出版社出版,这本教材以其内容的全面性、深度和更新度著称,深受广大考生和IT从业者青睐。教程覆盖了系统架构设计的...
【如何成为一名合格的架构师】 在IT行业中,架构师是一个至关重要的角色,他们负责构建软件系统的蓝图,确保项目能够高效、稳定地运行。...只有这样,才能真正成为一名受人尊敬的架构师,用代码绘制出美丽的软件世界。
- 系统架构师需要从众多的系统方法和工具中辨别出哪些是真正有效的,哪些是无效的。这需要他们具备深厚的技术背景和丰富的实践经验。 #### 四、从开发人员到架构师的转变 - 成为一名优秀的系统架构师需要不断积累...
《系统架构师历年真题2009-2018》这个压缩包文件是针对中国计算机技术与软件专业技术...在准备过程中,考生不仅要掌握理论知识,还要强化实践应用,理解并运用到实际工作中,这样才能真正成为一名合格的系统架构师。
- **业界声音**:虽然对于“什么是真正的架构师”存在不同看法,但不可否认的是,已经有越来越多的程序员跳出代码的局限,开始从更高层次思考系统架构和全局设计问题。这些人中不乏担任管理职位但仍积极参与技术工作...
在IT行业中,架构师的角色至关重要,他们负责设计和规划软件系统的整体结构,确保系统的可扩展性、稳定性、安全性和性能。本压缩包文件名为“架构师培训讲义”,包含了一系列的文档,旨在深入探讨架构设计、分布式...
这并不是短时间内通过短期培训就能达成的,厂商的培训和认证更多的是为了推广市场和产品,而非培养真正的架构师。 在《计算机网络基础知识》章节中,提到了计算机系统由硬件和软件组成,软件分为系统软件和应用软件...
### 架构师之路 #### 一、沈剑的架构师之路 沈剑,作为到家集团技术VP&快狗打车CTO,在其职业生涯中积累了丰富的...更重要的是,要始终保持对技术的热情和对团队的责任感,这样才能成为一名真正意义上的优秀架构师。
视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久...在讲述设计方案时会有不同的方案对比,使得同学们能够真正理解架构背后设计的哲学,从而帮助同学们彻底清除掉这技术难题,早日实现百万年薪的梦想。
### 架构师201705.pdf 知识点总结 #### 一、开源与创新的关系探讨 - **背景介绍**: - 时间线始于2009年,一位热爱自由主义的女性初次接触软件技术领域后,迅速成为开源理念的支持者。通过尝试不同的Linux发行版...
架构师需要不断学习,不断挑战自己,才能真正理解架构的定义和发展趋势。 二、软技能 软技能是架构师不可或缺的一部分。软技能包括沟通能力、规划能力、驱动能力、平衡决策能力等。架构师需要具备这些技能,才能更...
### 架构师的成长之路必读 在当今快速发展的信息技术领域中,软件架构师作为连接技术与业务的关键...通过对需求的深刻理解、业务模型的精确构建以及合理运用各种设计模式和技术手段,架构师才能真正引领团队走向成功。
尚观Linux集群架构师课程深度解析 尚观科技推出的Linux集群架构师课程,是一门集技术深度与实战经验于一体的高端IT培训课程。该课程聚焦于Linux集群架构的精深研究,旨在培养具备全面技能和实战经验的Linux集群架构...