AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

十四年架构师揭秘:要做架构师先要在鸟群中做好鸟

  • 2022-04-28
  • 本文字数:4378 字

    阅读完需:约 14 分钟

十四年架构师揭秘:要做架构师先要在鸟群中做好鸟

很多人都想成为架构师,但是业界对架构师却没有一个达成共识的定义。架构是什么?一个架构如何才能落地?架构师的职责是什么?对一个公司的核心价值是什么?核心能力又是什么?如何培养这些核心能力?相信很多技术人都很关心这些问题,为此,我们采访了ArchSummit架构师峰会出品人,美团优选架构师徐泼,他基于自己的架构经验和架构师经验,为你分析了如何成为一个架构师,希望对你有所启发。 

我的架构经历:物流架构是“过程质量”和“结果质量”并重的架构


InfoQ:请您先简单介绍下自己过往的经历和目前在美团所负责的工作。

 

徐泼:我毕业已经十四年了,从传统行业到互联网软件,涉及了通信、游戏、社交、汽车 O2O、旅游电商、实物零售电商和社区团购等行业。2016 年我加入了美团,先后负责美团酒旅供应链商品、到店商品平台、美团优选商品和物流架构,期间担任过 IC、团队负责人和架构师各种角色。目前是美团优选架构师,专注在物流领域的架构工作。


InfoQ:您过去先后负责过美团酒旅度假供应链商品、到店商品平台和美团优选商品,目前是在做物流架构,您觉得物流架构相比其他架构有什么特点或区别吗?


徐泼:优选物流和之前接触的架构相比,非常显著的特点一是物流系统是 B 端系统,二是物流领域是一个非常专业的领域,业务领域知识众多,业务复杂性非常高。优选物流系统是既有着互联网级别的高并发又有着企业级复杂性的特点。


如果按照过程和结果将 SQALE 质量模型进行分类,则过程质量包含 Maintainability、Changeability、Testability 和 Reusability,结果质量包含 Reliability、Efficiency 和 Security。之前的架构关注更多的是结果质量,而物流架构更关注过程质量属性,过程质量和结果质量并重。


InfoQ:根据您的经验,一个架构要落地,有哪些需要关注或权衡的要点呢?


徐泼:架构不仅是设计层面的事,也是执行层面的事。对于架构师而言,职责之一就是要保障架构的落地,这也是在团队里做架构工作的一个难点。之前《聊聊架构》作者王概凯曾提到,架构师需要有调动资源的能力来保障执行的落地,这点比较重要,但我觉得这不一定要通过直接的权力来实现,也可以由授权来实现。架构落地是多方面综合因素作用的结果,我认为需要关注四个点,方向清晰、方案细致、方法实用、多方利益均衡


方向清晰是指架构师要有前瞻性,要能正确把握长远的大方向,并将之清晰地描绘给团队。


方案细致是指架构的方案除了要有宏观的上层设计之外,也要关注关键细节,而且应该提供多种方案的选型,综合多方面因素进行评估。


方法实用是指架构师给团队的架构指导不能大而空、不切实际,一定要以解决问题为目标。


多方利益均衡是指架构的选择是多种方案的选型,也是多种因素结合的 tradeoff。架构相关各个团队实际是不同的利益相关方,架构工作也是一项社交活动。架构师要尊重所有与架构有关的人,换位思考,理解各方的感受,求同存异,最终达成一致。

什么是架构师:架构师价值在于通过保障系统的质量属性来降本提效


InfoQ:其实业界一直缺乏对架构师的明确定义,甚至由于架构师相对高薪和稀缺,一些 HR 滥用该称谓来吸引求职者。您认为架构师的职能是什么、对于一个公司的核心价值是什么呢?


徐泼:业界对架构师确实缺乏明确的定义,或者说目前架构师的职责是没有一个统一的标准的,这往往和公司的性质、规模以及公司业务所处的阶段有关。我看到有一个关于架构师的描述我觉得还是比较普适的,从斯科特·佩奇(Scott E. Page)《模型思考者(The Model Thinker)》延伸的关于架构和模型,架构师和模型思考者的关系。模型是对现实世界问题的抽象,模型思考者需要针对问题,看穿客观事物的本质,选取或构建合适的模型,推导出问题的最优解。


架构和模型相似,架构师和模型思考者相似。架构师的职责是定义问题并识别方向,创建、选择或调整架构,找到最合适的方法,从而最终推进团队解决问题。


架构质量的优劣从业务发展的维度来评判,一定程度取决于系统在应对变化时所需要投入的研发成本。拿 Martin Fowler 的话来说“架构师最重要的任务之一就是从设计中消除不可逆的决策”。

所以我认为架构师的核心价值是通过保障系统的质量属性,提升业务支持效率、降低研发成本。


这里高质量和低成本看起来虽然有些违背常理的,但是在系统架构层面,高质量就是意味着低成本。业内有一些相关专项分析,对比高质量架构和低质量架构在增量功能迭代和研发投入时间的增长曲线,发现基于低质量的架构,在数周内就显现出研发效率的降低,而自此之后的时间窗口中实现同样的增量功能,高质量架构所需要投入的研发时间远低于低质量架构。


InfoQ:架构师并非是孤军作战的,架构工作必须依靠团队的支持,您认为现在的架构团队可以分为哪些组织形式呢?


徐泼:在组织架构的设计上,国内外的架构团队组织形式大致可归为三种类型:顾问型组织、团队型组织和梯队型组织


  • 顾问型组织架构师主要承担专业顾问的角色;

  • 团队型组织按组织形式可以再分为实线组织或虚线组织,按合作方式可以分为项目制或 BP 制

  • 梯队型组织比较综合,可以结合架构岗位和架构角色,设置架构师梯队,实现 TOP-DOWN 和 BOTTOM-UP 的闭环,保障架构和研发团队的协同。比如国外某些公司将架构师按照 Enterprise Architect、Solution Architect 和 Application Architect 来进行划分,形成一个架构的梯队。

如何成为架构师:在鸟群做好鸟,在兽群做好兽


InfoQ:您认为技术人应该如何做职业选择呢?


徐泼:我觉得技术人在职业决策过程中,要认清自己的能力特点,并了解在职业生涯中有哪些角色可选择,不同角色适合什么样的人,提前确定好职业的发展目标并做好规划。


很多人会觉得 IT 行业是青春饭,寻求能快速从程序员、IC 到其他岗位角色的转型,转型过程中也会在架构师和团队管理者角色之间纠结。


不过,我认为,无论目标是架构师还是团队管理者,都是要不断构建自己的知识体系,将经验总结沉淀为方法。将一年的经验重复了十年的工程师,随着年龄的增长,职业上面临的就不是一个选择的问题了。


这次的架构师专题我们也邀请了行业内优秀的架构师和管理者,给大家分享 IT 从业者如何做职业选择以及他们的架构师成长的心路历程。


InfoQ:您觉得架构师最重要的核心能力是什么?如何培养这些能力呢?


徐泼:我觉得架构师比较重要的能力是宏观思维能力、抽象思维能力和钻研能力。美团内部也常说架构师需要能“站得高、望得远、扎得深”。


宏观思维就是要考虑整体,站在更高的层次上去看问题。这是架构师区别于工程师的一个标志。技术研发人员遇到问题时非常容易钻入细节中,因此在平时可以有意识地锻炼,跳出细节先看整体,找到关键重点再深入细节。


软件项目永远不变的就是“变化”,抽象是应对变化的主要手段。抽象能力要求工程师能看得更远,将现有和未来可能的业务场景综合起来进行分析,做出相对稳定的抽象,预留架构的扩展性。


钻研能力要求架构师具备深入细节的能力,能够攻克软件项目中的关键难题。所以架构师一定是从一线工程师成长起来,且对技术有较高追求的人。


InfoQ:计算机技术迭代飞速,AI、大前端、低代码等新技术井喷,庄子说“以有涯随无涯,殆矣”,您认为架构师有必要了解这些技术的细节吗?该怎么构建自己的知识体系呢?


徐泼:工程师在成长的过程中既要掌握好专业基础知识,提升专业技能,也要提升技术视野关注行业发展动态。对于架构师而言,关注技术领域和相关业务领域发展方向是非常重要的。但是“学海无涯,而吾生有涯”,专业的方向是可以有选择性的,并不是所有的技术都需要深入到细节层面。


潘加宇老师在讲解现在技术人员对“底层”的误解时,说过一句很有意思的话:“人性的弱点,正如钱钟书所说‘人和蝙蝠不同,人喜欢在兽群里当鸟,在鸟群里作兽’。


这句话描述的是大部分的技术人员,没搞清楚自己所在岗位应该深入钻研的领域,无论身处什么性质的部门或岗位,都喜欢去钻研计算机科学知识,比如各种中间件或操作系统的底层实现,唯“底层”为王。作为业务部门的技术人员,不是说掌握这些不重要,相反非常重要,从知识面上一定要掌握,但是深入钻研细节就要权衡好 ROI,确定好研究的范围,挑重点来钻研。事实上,对业务部门的技术人员而言,在软件设计方法或软件工程的专业知识实际上是更应该花大力气去深入钻研的基础知识,这是该领域的“底层”。


具体的知识体系构建方法,在我们的专题中,百度的陈超老师会分享自己的心得,我这里就不多赘述了。 

领域驱动设计:想速成的都是空有其表


InfoQ:领域驱动设计是现在业务架构的主流理论之一,您在这方面经验丰富,您怎么看待领域驱动设计思想的落地呢?


徐泼:在领域驱动设计的落地上,我觉得有两个难点。


一是领域驱动设计的掌握是有门槛的,需要的技术知识储备实际上是要远高于领域驱动本身的


在领域驱动设计之前,系统的设计和开发架构或设计理论主要来自于 Martin Fowler、Uncle Bob(Robert C. Martin)、Kent Beck、Grady Booch、Jacobson(Ivar Jacobson)、Cockburn(Alistair Cockburn)等大师级人物。我觉得领域驱动设计本身是一种思想体系或非常开放的方法体系,强调转变思维模式,并综合了各个方向的软件理论,它囊括了众多大师的有关软件过程的思想和方法,如需求分析、架构风格 &模式和建模方法等,因此落地需要很多基础的架构设计知识,比如 OOA、OOD 等。很多人都希望能速成,结果往往是空有其表,形似神不似。


二是理论指导上缺乏结合国内业务详情的资料。领域驱动设计主要是指导业务系统架构的设计,国内外或多或少存在一些业务模式差异,但相关专著以国外的资料为主,业务模式差异提高了理论的理解门槛。


不过,随着国内先驱者的应用实战,我们有了越来越多本土化的博文、课程和书籍,比如张逸老师的课程和书籍等。我相信后续会有更多企业或团队,采用领域驱动设计来指导项目的设计和落地。


嘉宾介绍:徐泼,美团优选架构师。2016 年加入美团,先后负责美团酒旅供应链商品、到店商品平台、美团优选商品和物流架构。


拥有十四年软件研发和架构设计经验,擅长软件架构、领域驱动设计、微服务和软件重构,经历了从传统行业到互联网软件,涉及通信、游戏、社交、汽车 O2O、旅游电商、实物零售电商和社区团购。关注国内外前沿的架构方法,注重软件设计方法理论的研究和架构知识体系的建设,提倡软件方法在业务研发团队的应用,原则、模式加实践结合的方式推进架构方法的落地,提升软件研发效率,保障软件交付质量。


活动推荐

在 2022 年 6 月 24-25 日,ArchSummit 全球架构师峰会(北京站)即将落地北京,本次会议我们邀请了徐泼老师作为出品人,共同策划了【架构师成长之我见】专题,邀请了业内一流架构师来分享其成长经验和心得。


此外,我们还配置了微服务治理之基础架构、微服务治理之业务架构、架构师成长、客户端架构设计、数据库与存储技术、云原生技术应用、质效度量体系和测试平台建设、低代码实践与应用、领域驱动设计方案落地、高并发架构设计等专题,届时欢迎你的参与。


 

2022-04-28 10:336690

评论

发布
暂无评论
发现更多内容

使用 Flutter 快速实现请假与写周报应用

LeanCloud

flutter 后端 数据 教程

终于有大佬把TCP/IP协议讲清楚了!面试再也不怂面试官提问了

小闫

jdk JVM Netty buffer TCP/IP

架构0期Week4作业1

Nan Jiang

Linux 操作系统!开篇!!!

苹果看辽宁体育

Linux

极客大学架构师训练营 系统架构 分布式缓存 一致性哈希 Hash 第9课 听课总结

John(易筋)

极客时间 极客大学 极客大学架构师训练营 分布式缓存 一致性哈希

当国产iVX遇上新晋产品PowerPlatform,能否披荆斩棘、稳住阵脚?

代码制造者

程序员 编辑器 低代码 快速开发 开发工具

Java面试常用知识(附赠最新面试题)

架构大数据双料架构师

产业数字化无法“一蹴而就”,而是“长跑冠军”。

CECBC

模式与重构-作业

秤须苑

到底什么是HashMap?

小闫

Java spring 后端 JVM hashmap

Google官方MVP+Dagger2架构详解

小吴选手

架构 架构师 架构是训练营

基于 Flagger 和 Nginx-Ingress 实现金丝雀发布

郭旭东

Kubernetes CI/CD

信创舆情一线--英特尔暂停向浪潮供货

统小信uos

服务器 舆情 芯片

架构0期Week4作业2

Nan Jiang

游戏夜读 | 关卡设计新手必看

game1night

「NIO系列」——之Reactor模型

小谈

Spring Boot reactor 后端 nio SpringCloud

最详细的 Spring Cloud OAuth2 单点登录使用教程送给大家

小闫

面试 后端 JVM SpringCloud

如果是你,年薪80万和阿里P7月薪36K,会怎么选?

犬来八荒

Java 腾讯 面试 阿里

拥抱开源开放,易观技术开发者的星海征途

易观大数据

海豚调度 调度引擎

【自学成才系列一】multipass安装篇

小朱

multipass

架构师训练营第五周总结

Melo

极客大学架构师训练营

写给孩子的两本书我读得津津有味

孙苏勇

读书 陪伴 随笔杂谈

去面试Spring Cloud 被问的35个问题

小谈

面试 springboot SpringCloud buffer JVM原理

如何快速将 Linux 系统制作成 ISO 镜像文件?

JackTian

Linux 运维 操作系统 镜像文件 ISO

谈谈容器和K8s

Gabriel

面试官:十亿级数据ES搜索怎么优化?我直接傻了

犬来八荒

Java 面试 大厂

ARTS-week5

王钰淇

ARTS 打卡计划

被“假”老干妈耍惨了?憨憨腾讯花1624万卖萌,引全网吃瓜!

程序员生活志

腾讯 互联网 大厂

七月份最新“美团+字节+腾讯”面试题,测试一下你能走到哪一面?

犬来八荒

Java 面试 线程’

再有人问你分布式事务,把这篇扔给他

码哥小胖

分布式 Java 分布式

腾讯的辣酱不香了 支付宝的区块链真能解决“萝卜章”问题?

CECBC

双链通 萝卜章 区块链方案

十四年架构师揭秘:要做架构师先要在鸟群中做好鸟_文化 & 方法_李慧文_InfoQ精选文章