以下内容即将发表在8月份的InfoQ中文站电子刊物《架构师》中,主要谈到了我对架构师这个角色的一些理解与认识,有兴趣的朋友也可以留言,我们共同探讨这个话题。
架构师之我见
架构师是一个项目组的灵魂人物,他决定着整个系统的技术选型、整体架构以及模块划分,同时还可能担当与领导层的沟通角色,从某种意义上来说,架构师在很大程度上决定着项目的成败与否,正所谓火车跑得快,全靠车头带。
很多优秀的架构师都是从一个优秀的开发人员转变过来的,但优秀的开发人员未见得都能成为合格的架构师。与架构师相比,开发人员所需担当的任务相对狭隘的多,其最大的目标就是编写出精良的代码、做好充分的测试以及撰写高质量的文档等;而架构师所要面对的则相对宽泛得多,除了过硬的技术之外,还需要有良好的表达能力,同时还要有宏观的驾驭整个系统的能力。
有人曾说过,20几岁的编程天才好找,但30多岁的优秀架构师难寻。架构师何其难?除了敏锐的洞察力之外,我认为一个好的架构师必须具备如下几方面的素质:
A. 过硬的技术能力。有人说架构师就不需要编写代码,只需设计整体架构就行了。但我认为这是很片面的,试想一个人如果长时间不写代码,他还能具备持续的技术敏感度么?当然了,这里所说的写代码并非一般开发人员的行为,而是让自己保持住对代码的感觉。还有人说架构师不一定是技术高手,这一点我很同意,但他一定是个优秀的开发者。
B. 良好的沟通能力。这一点尤为重要,因为架构师需要与项目组的开发人员以及领导层不断交换意见,向对方传递自己的设计意图与思想,没有良好的表达与沟通能力是很容易出现问题的。这一点在沟通方式并非母语的企业中尤为明显。
C. 良好的软件工程素质。虽说架构师不是项目经理,但我认为他需要对软件开发过程有清晰明确的认识,这里的开发过程是个泛指,也许是RUP,也许是XP,是什么无所谓,但这种工程素质是每个优秀架构师必备的品格之一。
D. 宽广的知识领域。架构师的眼界一定要开阔,绝对不能局限于眼前的小范围事务,否则极易出现“鼠目寸光”的后果。这就需要架构师不断学习,这里的学习既包括技术上的,同时也包括业务上的以及沟通上的。
E. 领域知识。架构师务必对自己所从事的业务领域有深刻的认识,他未必要成为业务专家,但他一定要对业务知识有深刻的理解。很难想象经常从事金融领域项目的架构师能轻松设计好电信领域的项目架构。知识需要积累,业务也是这样的。
F. 处理系统非功能性需求的本领。架构师尤其需要对系统的性能、容错、并发等非功能性需求方面有独到的认识与解决办法。一个项目到了后期,往往都是这些问题成为整个项目的瓶颈,这时架构师就要发挥其优势了。
架构师之路是崎岖的,充满了荆棘与挑战,但这却是无数开发者的梦想。架构师是多项技能与素质的综合体,每一位以此为目标的开发者都需要在平日的工作中不断提升自己,在这里我衷心的祝愿架构师这个梦想能照进每一位有心人的现实。
分享到:
相关推荐
### 架构师之路 #### 一、沈剑的架构师之路 沈剑,作为到家集团技术VP&快狗打车CTO,在其职业生涯中积累了丰富的经验和技术洞见。他的经历可以分为几个阶段,每个阶段都为其成为一位出色的架构师奠定了坚实的基础...
视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程介绍: 根据在百度、58集团等多年满足海量用户架构设计经验,带领大家系统性地学习人工智能时代下互联网高可用高并发架构设计,理论结合...
《系统架构师 4》是针对这一专业领域深入学习的一份宝贵资料,它涵盖了系统架构设计的多个核心知识点。在当今数字化时代,系统架构师的角色日益重要,他们负责设计、规划和实施复杂的信息系统,以满足企业的业务需求...
2020SACC系统架构师大会视频,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 视频内容: 02|主场:核心业务系统架构设计 03|2020SACC专场一:分布式存储(上) 04|2020 SACC专场二:传统企业数字化转型实践...
《Android架构师手册》是专为提升Android开发者成为专业架构师而编写的指南,由高焕堂撰写。这本书深入探讨了Android应用开发中的建模与图形思考,旨在帮助读者掌握构建高效、可维护的Android应用架构的关键技术。 ...
上百节课详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程介绍: 01_先来看一个互联网java工程师的招聘JD 02_互联网Java工程师面试突击训练课程第一季的内容说明 03_关于互联网Java工程师面试...
包含自己整理的2009-2018年的综合知识、案例分析、论文(无范文)的真题以及答案详细解析,其中综合版是将综合知识和案例分析合并在一个文档中...文档格式全部为PDF,如果需要Word版本的可联系作者(联系方式见最后)。
在IT行业中,架构师是一个至关重要的角色,他们负责规划、设计和实施软件系统的整体结构,确保系统的稳定性、可扩展性和可维护性。"架构实战_如见架构设计的过程"这个主题,显然聚焦于如何实际操作架构设计的过程。...
系统架构师笔记.docx 是一份系统架构师的笔记,涵盖了计算机组成原理、体系结构、 Flynn 分类法、CISC 和 RISC、计算机存储结构、 Cache 的基本概念分析、时间局部性和空间局部性、随机存储器与只读存储器等知识点。...
其中,把握重点,灵活应对变化,进行善意且有预见性的沟通,以及先见性的设计,这些都是优秀架构师的核心素质。 总的来说,软件架构设计是一门深奥的艺术,它要求架构师具备全面的技术知识、敏锐的洞察力和卓越的...
如果要问软件研发/系统架构中最重要的能力是什么,我会毫不犹豫回答是抽象能力。抽象(abstraction)这个词大家经常听到,但是真正理解和能讲清楚什么是抽象的人少之又少。抽象其实是这样定义的:对某种事物进行简化...
**RAD Studio 10.1 Update1 Berlin 架构师安装破解指导** RAD Studio是Embarcadero公司推出的一款强大的集成开发环境(IDE),专为跨平台应用开发设计。10.1 Update1 Berlin(简称RAD10.1UP1)是该系列的一个重要...
java 高并发 视频教程 架构级别 链接:https://pan.baidu.com/s/1pPG6rB-fxkEPRtZUv3QOSw 密码:见文件
我想在大多数人看来,这些更多地应该是属于架构师讨论的话题集,而非程序员。然而,到了现在你所读的这本《我的架构思想》中,却只剩下了“系统”这个讨论对象,那些基础构件已经全然不见了。这一切的根源又在哪里呢...
总而言之,绘制一张人见人爱的应用架构图并非易事,它要求架构师不仅要有深厚的技术功底,更要有出色的沟通能力和创新思维。通过不断优化和精心设计,我们可以将应用架构的复杂性降至最低,而将其实用性和价值最大化...
DDD强调的是将业务领域作为软件开发的中心,因此对于架构师来说,理解业务领域并构建反映这些领域的模型至关重要。 其次,“实现领域驱动设计 (美)弗农著.pdf”是由Eric Evans所著的经典书籍的摘录或简化版。...
为了帮助开发者和架构师更好地设计和架构云计算系统,AWS 提供了一系列的图标和架构图样式指南。本文将对 AWS 产品图标 ICON 架构图必备进行详细的解读和分析。 架构图标 ICON AWS 提供了一系列的图标,用于表示...
### 程序员生涯之我见 在探讨程序员的职业生涯时,我们不得不从一个更加宏观的角度去审视这个职业的本质以及它对于个人成长的意义。本文尝试从个人经历出发,结合当前IT行业的现状,来探讨程序员这一职业的发展路径...
facebook的信息架构设计,是目前为止互联网上我见过的最合理的信息架构。每次培训,我基本都需要拿20分钟左右的时间来解析它,包括老的、新的、被抄袭的。一直打算把这个解析过程写下来,但讲的时候可以图音并茂,写...
通过本套课程的学习,可以积累大量架构设计经验,迈入架构师行列。 课程特色: 1、完整的大型电商详情页系统架构:不再只是关注电商详情页架构中的缓存架构部分,而是关注全链路、全流程的完整架构,对完整的架构...