ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

架构师真相与进阶之路:从能力模型到软考备考策略

架构师真相与进阶之路:从能力模型到软考备考策略 1. 架构师到底是干什么的别被头衔骗了1.1 三个最常见的误解先聊聊架构师这三个字。我入行那会儿组里有个老前辈职级是高级工程师但所有人都叫他老大。后来公司搞职级体系改革给他挂了系统架构师的头衔工资没涨会议倒是多了三倍。这大概是很多公司架构师的真实写照——头衔和职责很多时候是两回事。这些年我接触过不少挂着架构师 title 的人也听过大量对这个角色的误解。最常见的有三个第一认为架构师就是画架构图的第二认为架构师必须是最懂技术的人什么底层原理都得信手拈来第三认为架构师是甩手掌柜只管指手画脚不写代码。这三个误解几乎每个刚接触架构工作的人都会踩中一个甚至全中。先说第一个。画架构图确实是一部分工作但架构图的本质是沟通媒介而不是交付物。一张画得再漂亮的图如果团队照着做不下去或者做完之后系统在线上跑了半年就撑不住那这张图就是废纸。架构师真正交付的是决策——技术选型、模块划分、数据流走向、容错策略这些决策会直接影响未来两三年里几十号人的开发效率和系统的稳定性。再说第二个。架构师不需要在每一个技术细节上都吊打团队里的资深工程师。相反一个好的架构师恰恰要敢于承认这个我没你懂然后快速补齐需要了解的部分。真正的能力在于判断——在信息不完整的情况下判断出哪个方案风险最低、哪个方案后续扩展性最好、哪个方案虽然技术优雅但团队根本维护不了。这种判断力才是架构师区别于普通工程师的核心。第三个误解最要命。我见过不少架构师刚上任就宣布我不写业务代码了我只做设计和评审结果半年之后他对系统的理解还停留在半年之前团队已经开始绕过他做决定了。架构师不写代码就像厨师不尝菜——不是不可以但你会离真实的味道越来越远。1.2 架构师的角色光谱如果说架构师是一个物种那这个物种内部其实还有好几个亚种。大致可以分成这么几类技术型架构师、业务型架构师、平台型架构师以及那种在公司里实际承担架构职责但没有头衔的隐性架构师。技术型架构师常见于中大型互联网公司的中间件团队、基础架构组。他们关注的是高并发、高可用、分布式一致性这类问题产出通常是自研的框架、组件、基础设施。这类人一般有很强的技术洁癖对性能数字极其敏感。业务型架构师常见于业务线团队。他们的工作重心在怎么把业务需求拆解成可落地的技术方案关心的是交付效率、团队协作、系统耦合度。这类架构师不需要发明什么新框架但需要极其熟悉所在的业务领域——比如电商的订单状态机、支付的对账流程、供应链的库存模型。平台型架构师则介于两者之间他们既要理解业务又要下沉到基础设施负责把通用的能力沉淀成平台服务比如统一登录、消息网关、配置中心、监控体系。这类岗位现在越来越多因为公司发展到一定规模后重复造轮子是最大的浪费。至于隐性架构师往往是一个团队里最有经验的资深工程师。他们没有架构师的头衔但在每一次方案讨论中大家都会不自觉地问一句老张怎么看。如果你正在这个阶段我建议你早点正视自己的角色——你已经在做架构决策了缺的只是系统化的方法论和一点表达技巧。1.3 架构师不是什么更高一级的工程师很多人把职业发展路径理解成一条直线初级工程师 → 中级工程师 → 高级工程师 → 架构师 → CTO。这个理解不能说完全错但它忽略了一个关键架构师不是工程师的升级版而是一个全新的角色它切换的是思维模式而不是熟练度。工程师的思维模式是给定问题找出最优解。架构师的思维模式是在无数个次优解中选出当前阶段最合适的那一个并且为这个选择负全责。这中间的差异非常大。举个例子一个支付系统要做订单超时关闭。工程师的思路可能是用定时任务扫表把超时订单关掉简单直接。架构师看到这个需求时脑子里过的是另一套问题订单量多大扫表频率多少会影响数据库压力如果服务重启漏掉的订单怎么补偿超时关闭和退款流程之间有没有竞态条件将来如果订单量涨十倍这个方案还扛得住吗同样的需求两种思维模式的产出决定了系统三个月后的样子。所以说架构师这个角色本质上是决策者 风险承担者 沟通枢纽的三合一。技术能力是入场券但真正拉开差距的是后面那两样东西。2. 架构师的能力模型什么决定你能走多远2.1 硬技能广度、深度和足够的广度架构师的技术栈要求用一句话概括是足够广专精一两项。注意不是什么都懂而是什么都了解关键时刻能深入。广度解决的是选型问题。比如团队要选消息队列如果你只用过 Kafka那你做选型时天然会倾向 Kafka。不是因为它最适合业务而是因为你只会它。这就是能力单一带来的选择偏差。一个合格的架构师至少应该横向了解常见的几类中间件——消息队列领域的 Kafka、RocketMQ、RabbitMQ缓存领域的 Redis 和 Memcached存储领域的 MySQL、PostgreSQL、MongoDB以及近几年绕不开的 ClickHouse、Elasticsearch。了解它们的核心原理、适用场景、已知痛点才能在具体业务里做出不偏不倚的判断。深度解决的是排障问题。线上出故障的时候架构师是那个兜底的人。如果你对 JVM 内存模型的理解停留在堆和栈的层面那遇到内存泄漏你只能抓瞎如果你对 MySQL 的 MVCC 机制没有概念那遇到死锁你连排查方向都没有。我的经验是一个合格的架构师至少要在语言运行时、操作系统、网络、数据库这四个层面各有一个能深入到底的领域否则遇到疑难问题就只能靠玄学重启。这里顺便提一下嵌入式架构师。很多人觉得嵌入式架构师和互联网架构师是两个世界其实底层能力是相通的——资源受限下的设计权衡、实时性保障、可靠性设计这些无论是在嵌入式 RTOS 上还是在高并发分布式系统上本质都是在约束条件下做最优决策。区别在于嵌入式架构师更多和硬件打交道需要考虑中断延迟、内存对齐、功耗预算互联网架构师则更多和网络、存储、容量打交道。2.2 业务理解架构不是技术自嗨我见过太多失败的架构项目技术方案本身无可挑剔但最后落不了地原因只有一个——架构师不懂业务或者说不屑于懂业务。曾经有个团队花了三个月时间设计了一套微服务改造方案拆分得特别干净每个服务单一职责服务间通信全部走事件驱动还引入了 Saga 模式处理分布式事务。方案评审的时候大家都很兴奋。结果一上线就发现问题原本一个事务里就能完成的下单减库存被拆成了三个服务之间跨网络协调延迟从 50ms 涨到 800ms而且 Saga 补偿逻辑复杂到让业务同学根本不敢改需求。问题出在哪出在架构师把技术上的正确当成了业务上的正确。电商下单这个场景性能敏感、强一致性要求高、事务边界天然存在这恰恰是微服务最不擅长的场景。如果架构师真的理解了业务就不会做出这种拆法——至少不会这样激进地拆。架构师理解业务不是要求你成为业务专家而是要求你具备把业务诉求翻译成技术约束的能力。业务说我们要支持大促你要能翻译出峰值 QPS 大概多少、库存操作需要多强的一致性、超时退款的容忍度是多少。有了这些数字化的约束技术选型才有依据。2.3 沟通与推动力被低估的 50%如果说技术能力决定了架构师的下限那沟通和推动力决定了上限。这不是鸡汤是实打实的工程现实。架构师一天下来真正写代码的时间可能不到三分之一剩下的大部分时间都在和各种角色沟通——和业务方确认需求边界、和开发团队解释设计意图、和运维对齐部署要求、和老板汇报技术风险。你能不能把方案讲清楚能不能在评审会上说服一群挑刺的人能不能在项目推进受阻时找到关键路径这些全是沟通能力的范畴。沟通能力强不强有一个很简单的判断标准你能不能让一个完全不懂技术的人听明白你要做什么、为什么要做、风险在哪、需要他拍什么板。很多人讲技术方案时满嘴术语概念堆叠一聊就是半小时听的人一头雾水。这种沟通是无效的。另一个容易被忽视的是纵向推动力。架构方案再好如果团队不配合、项目资源不足、业务优先级冲突一样会烂尾。这时候架构师要做的不是妥协而是带着方案去争取。把技术问题翻译成业务语言——不改造的话大促那天系统大概率会挂直接损失估算是 XX 万——这种表达方式远比必须重构因为代码太烂有说服力得多。2.4 三流、二流、一流架构师的差距网上经常有人讨论三流架构师这个词我觉得挺有意思。以我个人的观察三流、二流、一流之间的差距不在技术深浅而在三个维度视野、判断和担当。三流架构师的特点是知其然不知其所以然。他们能熟练使用各种框架能照着网上的最佳实践搭出一套看似合理的架构但遇到方案 A 和方案 B 都能用的情况说不清楚为什么选 A 而不用 B。评审的时候被问三个为什么就答不上来。这类架构师做出来的系统往往没有明显的技术错误但充满了过度设计或欠设计——要么搞了一堆用不上的组件要么漏掉了最关键的非功能需求。二流架构师的特点是知其然也知其所以然。他们有完整的知识体系做选型时能讲清楚权衡出方案时能列出取舍。他们是团队里的技术骨干系统质量稳定很少出大问题。但他们有一个天花板他们是在给定的问题域内做优化很少质疑问题本身是否成立。业务方提我要做 X他们就设计一个能实现 X 的方案却不会反过来问X 真的是最优解吗有没有更便宜的方案能达到同样的业务效果一流架构师的特点在我看来是具备重构问题的能力。面对一个模糊的需求他们不是急着出方案而是先花时间把问题定义清楚——真正的目标是什么谁是受益者约束条件是什么哪些约束可以被挑战很多时候问题被重新定义之后方案自己就浮出来了。这种能力需要大量的实战积累也需要一点跳出技术看系统的自觉。3. 架构师的日常一天和一年3.1 一天的切片评审、写码、答疑、兜底很多人以为架构师的日常很高大上不是在白板上画图就是在台上做技术分享。实际的日常琐碎得多。我随便挑一个普通的工作日说说。早上十点晨会。研发团队站会架构师通常是旁听的角色但耳朵要竖起来——哪个任务被卡住了、哪个模块开始出现设计之外的耦合、哪块代码出现了临时绕过架构的迹象这些都是需要在萌芽阶段发现的信号。十点半到十二点通常是一场架构评审或技术方案讨论。这是架构师的主场。评审不是走过场你要在有限时间内判断方案的技术路线对不对边界和异常场景有没有覆盖有没有明显的性能隐患同时还要控制场面——让每个人都有发言机会但不让讨论跑偏。下午通常是完整的安静时段用来写代码或者写设计文档。是的架构师要写代码尤其要写那些别人写容易走偏、或者需要沉淀成公共能力的代码。比如核心的领域模型、关键的基础设施接入层、跨服务的契约定义。这些代码是整个系统的骨架架构师亲手写是在用行动给团队定标准。晚上可能还有线上问题的响应和复盘。系统出了问题架构师要参与定位根因、评估影响面、确定修复方案。这一步很考验功底也很考验心态——出了故障千万别急着甩锅或者背锅先把事实弄清楚。这样的一天没有什么高光时刻就是不停地判断和决定。架构师的工作就是由无数个小的决策构成的质量好的决策多了系统就稳质量差的决策多了系统就乱。3.2 架构评审的实操要点架构评审是架构师最重要的日常动作之一但多数团队的评审流于形式要么变成我来讲解方案大家没有意见就通过要么变成大佬们互相说服的辩论赛。我参加过几百场评审之后总结了一套自己的打法。第一评审前必须发材料且材料要满足评审者不费劲就能看懂的标准。方案文档至少包含背景与目标、约束条件、可选方案对比、推荐方案及其理由、风险清单与应对策略、实施计划与回滚方案。见过太多评审会变成现场读文档这完全是浪费所有人的时间。第二评审会上先对齐评审什么。不同的评审阶段关注点完全不同。总体架构评审看的是业务覆盖和系统边界模块设计评审看的是接口契约和异常路径技术改造评审看的是兼容性和迁移路径。如果评审人和被评审人不在同一个频道讨论再多都是鸡同鸭讲。第三评审的产出物不是通过/不通过而是风险清单 待办事项 决策记录。我习惯于在每一场评审结束后明确列出本轮确认的决策和需要进一步澄清的问题由方案负责人跟进闭环。这个习惯让我回推很多历史决策时不需要靠谁记得当初怎么说的只需要翻决策记录。顺便说一个评审中的常见坑技术选型评审变成了框架粉丝论战。选消息队列的时候Kafka 派和 RabbitMQ 派吵了两个小时谁也说服不了谁。这种讨论的根源是把技术偏好当成了技术标准。破解方法很简单把讨论焦点拉回到业务指标上——吞吐量要求多少消息大小分布消费模式是流式还是任务式一致性要求运维团队熟悉哪个指标明确了选型基本就水落石出没人会为一个已经满足需求的东西争论太多。3.3 技术选型的决策框架技术选型是架构师最有存在感的工作也是最容易翻车的工作。我踩过不少坑之后总结出一个五步框架每次选型都照着走一遍大大提高了成功率。第一步定义需求而不是定义技术。在讨论任何框架之前先把这个组件要解决什么问题写下来。注意这里要写的是问题的量化指标比如支持每秒 5 万次写入、消息延迟小于 10ms、数据保留 7 天可回放。没有量化指标选型讨论就成了口舌之争。第二步列出候选并设定淘汰标准。候选不要太多三到五个足够。淘汰标准越早定越好通常包括社区活跃度、License 合规性、运维复杂度、团队技术储备、云原生生态兼容性。任何一项明显不达标直接淘汰不需要讨论。第三步做一次最小验证。选型不是靠看文档选出来的是跑出来的。花一到两天时间把候选方案的核心链路搭个最小可运行的 demo压一下关键指标。实测数据出来之后很多争论会自动消失。我见过不少团队跳过这一步上线之后才发现某个组件的 bug 或者性能短板被迫中途换轮子代价远超那两天的验证成本。第四步确认长期运维成本。一个组件选下去往往要跟它生活三到五年。你要考虑的不是它现在多好用而是未来三年团队能不能维护它。有没有人懂它的原理出了问题能不能在社区找到答案升级会不会破坏现有功能这些问题的答案直接决定这个选型是资产还是负债。第五步也是最容易被忽略的一步——写清楚当初为什么这么选。选型不只是一个技术决定还是团队认知的沉淀。把背景、选项、评估过程、最终决策和理由记录在案将来如果有人质疑为什么用这个不用那个你不需要重新吵一遍只需要把决策记录甩出来。3.4 技术债与架构治理架构师入职一家公司几个月后通常会面对一个现实系统里充满了历史遗留问题新架构再好业务还是跑在老代码上。这时候怎么对待技术债就变成了衡量架构师成熟度的标尺。技术债不是不能碰但要有策略。我的原则是救火优先基建跟进适度重构。救火就是先把线上明显的稳定性风险处理掉比如数据库连接池耗尽、消息积压、缓存击穿这类问题直接影响业务优先级最高。基建跟进是把救火过程中沉淀下来的监控、告警、限流、降级能力补齐让系统带伤也能稳定运行。适度重构才是动代码层面的治理——而这一层我建议永远不要搞推倒重来式的重构。所有成功的重构都是渐进式的。把一个巨无霸服务拆成微服务正确的做法不是拆而是先在老系统里把边界画清楚再把边界内的部分逐步抽离。这个过程可能持续半年一年但好处是每一步都可验证、可回滚、风险可控。那些号称三个月完成全站重构的项目我还没见过一个善终的。架构治理的另一个核心是标准的建立与维护。架构师需要推动团队形成一些共识性的规范——比如模块依赖原则依赖只能从上往下不能循环、接口版本策略新增字段不破坏旧调用、异常处理约定哪些异常需要抛出、哪些需要吞掉、上线发布的灰度步骤。这些规范不是靠文档发出去就生效的而是要靠架构师在每一次 code review、每一次架构评审中去落地、去维护。规范是立出来的更是守出来的。4. 系统架构师考试与证书软考到底值不值得考4.1 软考系统架构师考试的基本盘聊完实战再聊聊考证。每年都会有一批人问我软考系统架构师值不值得考含金量怎么样备考要多长时间我根据自己的经历和身边朋友的备考情况统一说下。软考全称是计算机技术与软件专业技术资格考试系统架构设计师属于高级科目对应工程师序列里的高级职称。这个考试的特别之处在于它不以某个特定厂商的技术栈为前提考察的是通用的系统架构设计能力。所以无论你做 Java、C 还是嵌入式都可以考也都有价值。考试分三个科目综合知识、案例分析、论文。综合知识是选择题覆盖计算机基础、软件工程、架构风格、中间件、安全、法律经济等内容考察面广但深度有限。案例分析是简答题一般有五六道大题需要从中选做几道涉及架构设计、质量属性、设计模式、Web 架构、嵌入式架构等方向。论文题则要求在一个小时内写一篇 2000 到 3000 字的架构设计论文考察的是你把实践经验结构化表达出来的能力。这里有个很现实的点论文和案例题没有实际架构经验的人很难蒙混过关但反过来有丰富实战经验的人如果不做针对性训练也容易栽跟头。我见过一个做了十年架构的老手案例分析里一道关于软件质量属性的题目他全凭经验答结果因为没用考试期望的术语体系分数很低。所以备考的核心不是学新知识而是驯化表达方式。4.2 考试大纲里的核心脉络系统架构设计师的考试大纲乍一看内容很多其实有一条清晰的脉络。按我的理解大纲围绕的主线就是三件事怎么描述一个架构、怎么设计一个架构、怎么评估一个架构。怎么描述对应的是架构风格、架构视图、架构描述语言比如 41 视图模型。这部分是基础也是案例分析爱考的点。你得能用统一的方式把系统的静态结构和动态行为讲清楚。怎么设计对应的是需求分析、质量属性、架构设计方法、设计模式、中间件选型、嵌入式系统设计。这部分是重头戏无论是选择题、案例分析还是论文都围绕它出题。备考的重点是掌握一套从需求到架构的方法论比如如何识别质量属性场景可用性、性能、安全性、可修改性等如何把这些场景转化为架构策略冗余、缓存、异步、限流、降级等。怎么评估对应的是架构评估方法比如 ATAMArchitecture Tradeoff Analysis Method。考试要求你理解评估的目的、步骤、输入输出。这部分在实际工作中用得不少——你做的每一次架构评审本质上都是一次小规模的架构评估。搞清楚这三条脉络以后备考就有了抓手不需要死记硬背大纲里每一项而是要头脑里有一张需求 → 设计 → 评估的完整地图所有的知识点都是挂在这张地图上的。4.3 2026年5月真题趋势与备考策略关于 2026 年 5 月的那场考试我虽然没有未卜先知的能力但从近几年的命题趋势能看出一些规律。首先是云原生相关的考点明显增多容器化、微服务、服务网格、Serverless 这些内容在选择题和案例题里频繁出现。其次是业务与技术结合的趋势案例分析越来越倾向给一个具体业务场景比如电商秒杀、在线教育直播、IoT 平台要求你基于场景做架构设计而不是考干巴巴的理论。再次是论文方向越来越贴近实战可预测的题目方向包括微服务架构设计与实践、分布式系统高可用设计、数据中台建设、系统性能优化、遗留系统演进等。备考策略上我给三条建议。第一条以真题为核心练习材料。把近五年的真题做透尤其是案例分析题——不要只看答案要自己动手写写完跟参考答案对比体会答题语言的差异。第二条论文要提前准备素材库。考试时间只有六十分钟要现场构思、现场写的论文很难出彩。正确做法是提前把你自己做过的真实项目按背景 → 需求 → 设计 → 实现 → 效果 → 反思的结构整理成素材考试时根据题目灵活组装。第三条综合知识靠刷题 查漏补缺不要花太多时间在深钻某一块上因为它考的是广度不是深度。每天固定刷五十道选择题坚持一个月正确率会有肉眼可见的提升。关于备考资料市面上主流的培训机构比如希赛网会提供整套的课程、教材和真题解析。拿课程来梳理知识体系是可以的但我个人建议不要过度依赖网课把老师的讲义当作大纲自己动手去整理笔记、画知识地图效果会好很多。还有一点资料共享平台上流传的各种内部题库考前秘押基本都不靠谱不要被信息差焦虑收割。以官方教材和五年真题为核心足够了。4.4 证书和实际工作之间的关系考完之后很多人会问这个证书对升职加薪有用吗我的回答比较务实它是一个加分项不是决定项。在部分国企、事业单位和政务信息化领域软考证书具有职称评定的效力有和没有待遇差异可能很明显。在一些大型集成商和政企项目投标中系统架构设计师证书也是加分资质。但在大多数互联网公司招聘架构师时简历上有没有这张证书通常不是关键因素——面试官更关心你实际做过什么系统、踩过什么坑、怎么解决问题的。不过我不建议因此否定考证的价值。备考过程本身就是一次系统化的知识复盘。很多工作多年的人技术能力很强但知识是点状的缺乏体系——会用 RPC 调用但说不出分布式调用的完整链路会配 Nginx但讲不清负载均衡的几种算法之间的权衡。备考系统架构师逼着你去把散落的经验串成体系这个收获比证书本身值钱。所以我的建议是如果你所在行业认证书或者你正处于职业转型期想系统梳理知识那就认真备考如果你已经是很资深的架构师且职业路径上不需要这张证书那可以把时间花在更有产出的地方。考不考不是能力问题是策略问题。5. 细分方向嵌入式架构师与更多维度的架构世界5.1 嵌入式架构师被低估的硬核方向聊架构师如果只聊互联网分布式系统就太狭隘了。嵌入式架构师同样值得认真聊而且这个方向的技术含量和职业壁垒其实比很多人想象中高得多。嵌入式架构师的核心战场是资源受限、实时性要求苛刻的系统汽车 ECU电子控制单元、工业控制器、医疗设备、无人机飞控、物联网网关。这类系统有几个和互联网系统截然不同的约束第一计算资源极度有限一颗 MCU 可能只有几十 KB 内存连操作系统都是精简版的第二实时性要求极高任务的响应时间可能要求是毫秒级甚至微秒级且必须可预测第三可靠性要求极高很多系统一旦故障会直接威胁人身安全容不得重启一下就好了。这些约束导致嵌入式架构师的能力模型和互联网架构师有明显差异。嵌入式架构师需要深入理解硬件体系包括中断机制、DMA、定时器、外设寄存器操作需要对 C/C 性能优化有极深的功底因为高级语言在资源受限环境下未必够用还需要掌握实时操作系统RTOS的任务调度、优先级反转处理、内存管理策略。这些知识每一样都需要大量的硬件实操积累不是看几本书就能上的。但底层思维是相通的。嵌入式架构师同样在做权衡功能多一些还是功耗低一些实时性强一些还是成本压一压软件可维护性和硬件可复用性怎么平衡这些问题和互联网架构师面临的高并发还是强一致灵活扩展还是稳定可靠在本质上是一回事——都是约束下的理性决策。如果你正在嵌入式领域又想拓展系统设计的视野我建议你补两样东西一是操作系统的通用原理尤其是调度、内存、IO 模型这会让你理解 RTOS 和通用 OS 之间的关系二是分布式系统的思维方式现在的智能硬件、车联网系统本质上也是分布式系统的一部分掌握这块会让你在行业变化中更有主动权。5.2 架构师分方向的底层共性不管你是互联网系统架构师、嵌入式架构师还是数据架构师、安全架构师底层有一些永远不变的共通点我把它们叫架构师的三条底层能力。第一条是抽象能力。把变化的需求抽象出不变的本质把复杂的系统抽象成清晰的层次。抽象能力决定了你设计的系统能活多久。第二条是权衡能力。面对冲突的目标性能 vs 可维护性、成本 vs 可靠性、交付速度 vs 架构质量能做出在当下资源条件下最优的决定并承担后果。第三条是演进思维。好的架构不是一次画完的而是跟着业务一起长大的。你要能看到今天的方案在三个月后、一年后需要怎么演进并为此预留空间、规避死路。这些能力任何一门技术课都教不了只能在真实的项目里磨出来。所以我一直觉得架构师这个头衔不是评出来的是熬出来的——熬过足够多的故障、返工、争吵之后你的判断会越来越准你的方案会越来越稳团队也会越来越信你。6. 实操总结与个人经验给正在路上的架构师6.1 我踩过的几个典型坑做架构这些年我踩过不少坑挑几个有代表性的说说给后来者提个醒。第一个坑过度设计。刚做架构师那会儿总想把系统设计得完美什么高可用、高并发、可扩展能上的技术全给安排上。结果系统上线半年业务量连设计目标的十分之一都不到那些复杂的分布式事务、多级缓存、消息队列全变成了维护负担。后来我学会了一个词叫恰如其分——架构方案要和业务阶段匹配超前半步是远见超前两步是浪费。第二个坑忽略非功能需求。早期做方案我习惯性地聚焦在功能实现上接口怎么定义、数据怎么流转、界面怎么交互都是关注重点但性能指标、安全要求、可运维性常常被一笔带过。直到有一次系统上线后才发现日志体系完全缺失排查问题只能靠猜那种痛苦让我彻底改了习惯。现在我的方案模板里非功能需求是独立一章必须写清楚指标、验证方法和兜底方案。第三个坑试图一次说服所有人。方案评审会上七个评委八个意见你急于辩解、试图让所有人点头结果往往是把方案改成了一个四不像。后来我学会了区分必须讨论的问题和可以搁置的问题抓住核心分歧点深度解决非核心问题留待后续迭代。架构师不是追求所有人都同意而是让关键的少数人达成共识。第四个坑技术判断被权威带偏。有段时间业界某个大厂开源了一个新框架铺天盖地的技术文章都在吹团队也一致倾向引入。我本着谨慎的态度做了一次压测和代码审查发现它和我们的场景并不匹配。但迫于舆论压力我还是妥协了结果半年后不得不迁移。这次教训让我记住一句话架构师要对技术选型负责而不是对技术潮流负责。6.2 给新晋架构师的几个具体建议如果你正准备从工程师转为架构师或者刚做架构师不久我有几条具体的建议都是实践中摸索出来的。第一保持写代码的习惯但只写关键代码。全写不可能也不必要但不写一定不行。建议你把精力放在领域模型、关键调用链、基础设施接入这类骨架代码上。写这些代码不是为了证明你技术还行而是为了让你的设计手感始终在线也为了能随时体会到团队在实现方案时的真实摩擦。第二建立自己的决策记录本和技术雷达。可以简单到一个文档记录每一次关键决策什么背景、什么选项、为什么选这个、后来结果如何。三个月后回看你会发现自己的判断力在快速成长。技术雷达则是定期记录那些值得关注的新技术、新工具但不急着用等它成熟、等场景出现再评估引入。第三刻意练习讲人话的能力。找机会把你的架构方案讲给非技术同事听讲给新来的应届生听讲给家里人听如果能讲明白一半你就成功了。架构师的价值不只在技术圈子里体现很多时候让业务方、老板、协作团队理解你的方案比方案本身更关键。第四给自己找一个反面思考的仪式感。每次做技术选型时除了列出选它的理由再强制自己写下什么情况下这个选择是错的。这个动作会逼你想清楚方案的边界条件。将来决策翻车你也能更早发现而不是等到线上事故才后知后觉。6.3 最后再分享一个小技巧最后分享一个我用了很多年的小技巧开评审会或者写技术方案之前先用十分钟在纸上画泳道图——把系统里的主要参与者用户、前端、网关、核心服务、数据层从上到下分成泳道然后把一次完整的业务请求在这些泳道之间走一遍用箭头标注出来。这个习惯帮我发现了大量方案里看不见的问题——某个服务之间的时序依赖、某个数据一致性的薄弱点、某个异常返回路径上被忽略的超时处理。很多评审会上吵不出来的问题画一遍图就通了。这个方法无论是互联网系统、嵌入式系统还是数据系统都适用。画着画着你就从一个会做方案的人变成了一个一眼能看穿方案问题的人。
返回列表