第 I 部分: 建筑师
架构师 在企业 IT 部门的生活令人兴奋,但有时也充满挑战。一些经理和技术人员可能会认为他们是高薪聘请的象牙塔居民,他们脱离现实,用幻灯片和墙壁大小的海报将自己的想法传达给公司的其他人,而他们对无关理想的追求却导致了项目时间的延误。
从好的方面看,IT 架构师已成为最炙手可热的 IT 专业人士,因为传统企业正在寻求转变其 IT 架构,以便与数字颠覆者竞争。但具有讽刺意味的是,许多最成功的数字公司都拥有世界一流的软件和系统架构,却根本没有架构师。
那么,除了名片上印着 "建筑师 "之外,是什么让一个人成为建筑师的呢?
建筑师不是什么
有时,描述一个事物不是什么比试图给它下一个确切的定义要容易得多。就架构师而言,夸大的期望会给人留下这样的印象:上午解决间歇性的性能问题,下午就能改变企业文化。这就导致架构师身兼数职,而这显然与架构师的初衷背道而驰:
- 高级开发人员
-
开发人员常常认为,他们需要成为一名架构师,作为职业生涯的下一步(以及他们的薪酬等级)。然而,成为一名架构师和一名超级工程师是两条不同的职业道路,二者并无优劣之分。架构师的工作范围往往更广,包括组织和战略方面,而工程师则倾向于专业化和交付运行软件。成熟的 IT 组织了解这一点,并提供平行的职业发展途径。
- 消防员
-
许多管理者希望架构师能够基于他们对当前系统状况的广泛了解,排除故障并解决任何危机。架构师不应该忽视生产问题,因为这些问题提供了宝贵的反馈,让他们了解可能存在的架构弱点。但是,从一个消防演习跑到另一个消防演习的架构师是没有时间考虑架构问题的。架构不是操作。
- 项目经理
-
建筑师 必须能够兼顾许多不同但相互关联的主题。他们的决策还要考虑并影响项目的时间安排、人员配备和所需的技能组合。因此,上层管理者通常会依赖建筑师提供项目信息,尤其是当项目经理忙于填写状态报告模板时(第 30 章)。这对建筑师来说是一个滑坡,因为这是一项有价值的工作,但却分散了建筑师的主要职责。
- 科学家
-
架构师 需要具备敏锐的智慧,必须能够从模型和系统的角度进行思考(第 10 章),但他们所做的决定会影响到实际的业务项目。因此,许多组织将首席架构师的角色与首席科学家的角色区分开来。就我个人而言,我更喜欢首席工程师这个称谓,以强调架构师所做的不仅仅是纸上谈兵。最后,虽然科学家可能通过把事情说得复杂难懂来发表论文,但架构师的工作恰恰相反:让复杂的话题变得容易消化(第18章)。
多种建筑师
架构师 在不同的抽象层次上工作。就像现实生活中的建筑有城市规划师、建筑师、景观设计师和室内设计师一样,IT 架构师也可以有很多专业:你会有网络架构师、安全架构师、软件架构师、解决方案架构师、企业架构师等等。就像在现实世界中一样,没有哪个架构师比其他架构师更重要。例如,在一个规划不佳的城市里,住在一栋建筑风格很好的房子里,交通拥堵无休止,但公共设施却很少,这和在一个功能完善的城市里住在一栋建筑风格很差的房子里,同样会让人感到沮丧。在信息技术领域也是如此--如果你设计精美、模块化完美的应用程序解决的问题是错误的,或者是在重复现有的应用程序,那么它就没有任何用处。 同样,如果应用程序无法连接到企业网络,那么很少有用户能够欣赏它。因此,并不是哪种类型的架构师更重要,而是要让所有类型的架构师一起工作。
建筑师处理非要求
通常认为,开发人员处理的是功能性需求,而架构师处理的是非功能性需求,也就是通常所说的 "能力":可扩展性、可维护性、可用性、互操作性等。但实际情况并非如此简单。我发现,建筑师更经常处理的 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access