首页 程序笔记 架构师成长路线

架构师成长路线

想一两句话把什么是架构师讲清楚,是非常困难的一件事。因为架构师这个角色是致力于解决高度复杂抽象的问题,所以架构师的定义也是复杂抽象的。

但并不代表架构师的定义无法被解释清楚,我们需要多花点时间,从各个角度来解读架构师。

通俗地解释下什么是架构师

大白话的解释就是,软件产品的设计师。架构一词最早源于建筑学,软件工程的架构师与建筑工程的架构师有非常多的相通之处,都是负责“产品”的宏观层次设计。

他人眼中的架构师

在老板眼中,架构师是一名技术领导者,带领团队攻关疑难问题。

在业务方眼中,架构师是一座业务与技术的桥梁,填平业务与技术的鸿沟。

在研发团队眼中,架构师是一位导师与布道者,是大家学习的榜样。

在项目组眼中,架构师是团队的灵魂支柱,再困难的问题,抽丝剥茧后,也能变成小问题。

在外行人眼中,架构师是年薪百万的牛人,但为何如此,摸不清门道。

架构师服务的客户是谁?为客户提供什么价值?

  • 第一类客户是需求人员(大多时候是产品经理,有时直接面向商家)。架构师需要不断和需求人员沟通,协助需求人员挖掘出客户的本质需求,保证需求质量。

  • 第二类客户是研发人员。架构师需要将复杂的业务问题和目标,抽丝剥茧后,转换为技术设计语言(应用、模块、包、代码、API、数据库表等),指导研发人员顺利落地;出现技术争议时,在业务价值与技术实现间做好平衡。

  • 第三类客户是业务决策者,架构师需要为重大业务规划提供的技术演进方案与成本预估,帮助决策者做出正确决策。

架构师的日常工作

  • 领导重大项目,攻关疑难问题,确定项目的架构方案和技术选型。

  • 制定研发标准和规范:编码标准,工具规范,评审流程,测试方法等。

  • 将架构方案和决策文档化,和团队沟通,并推行自己的架构主张。

  • 把高层的业务目标变成可落地的技术规划和解决方案。

  • 检查、评审他人的技术方案。

  • 和其他架构师、利益相关者沟通协作。

  • 为团队澄清复杂问题、指导研发人员、解决技术冲突等。

架构师的种类

业界对架构师并没有统一的分类标准,推荐这两种分类方式:

从宏观到微观的角度划分:

企业架构师:决定整个公司的技术路线和技术发展方向,有些公司也会称为首席架构师,实际上这个角色已经无限接近于CTO了。

系统架构师:负责整体系统的架构设计,着眼全局,不太注重某个应用本身的架构,而是各服务、各系统间的协作上,更加关注如何综合运用已有的产品和技术,来实现客户期望的业务模式。系统架构师要求通晓业务、软硬件技术等多项知识,对知识的全面性要求很高。

应用架构师:负责某个应用的技术架构,主要偏业务型应用,关注理解业务,梳理模型,设计模式、接口、数据交互等方面,同时也需要关注服务器负载、可靠性、伸缩性、扩展性、数据库切分、缓存应用等方面的基础架构设计。

按软件工程阶段划分:

解决方案架构师:专注于解决方案的规划和设计,所谓“解决方案”,就是把产品、技术、基础设施、理论方法,通过不断的组合和创新,满足客户的特定业务目标和需求。

业务架构师:从企业战略、组织结构、业务流程、业务能力等维度入手,关注某一个行业或业务领域的分析,产出业务模型,最终指导系统模型设计。也可以叫业务领域专家、行业专家、业务咨询师、资深顾问。

应用架构师:负责某个应用的技术架构,主要偏业务型应用,关注理解业务,梳理模型,设计模式、接口、数据交互等方面,同时也需要关注服务器负载、可靠性、伸缩性、扩展性、数据库切分、缓存应用等方面的基础架构设计。

特定技术架构师:专精某项技术的资深专家,从事中间件架构、大数据架构、安全架构、存储架构、网络架构、前端架构等技术规划和架构设计工作。

本文介绍的架构师主要偏向于系统架构师和应用架构师。

架构师在项目中的协作关系

成长建议

  • 阅读经典书籍

    • 业务理解能力:《有效需求分析》《如何落地业务建模专栏(徐昊)》

    • 领域建模能力:《实现领域驱动设计》《领域驱动设计Gitchat专栏(张逸)》《解构领域驱动设计》

    • 微服务架构设计能力:《微服务架构设计模式》

    • 大型项目协作能力:《学习敏捷 构建高效团队》

    • 沟通表达与文档能力:《金字塔原理》《麦肯锡问题分析与解决技巧》

  • 规划实践机会

    • 提升业务理解能力:主动参与业务规划讨论,基于业务方向,思考技术规划并与TL确认。

    • 提升领域建模能力:多找产品沟通,牵头梳理复杂业务问题,分析领域模型的症结,产出治理方案。

    • 提升微服务架构能力:组织技术团队成员,梳理线上频发的疑难问题,找出架构设计的不合理处,产出治理方案。

    • 提升大型项目协作能力:尽早了解业务OKR,主动承担大型项目的PM角色。

    • 提升沟通表达能力:主动沉淀高质量的业务/技术知识文档,向TL或HR寻求跨团队分享机会。

  • 参加培训与分享

    • 学习极客时间等平台的线上课程与技术大佬分享。

    • 参与技术分享大会与沙龙。

    • 参加公司组织的培训课程,并完成作业。

  • 针对能力模型,持续自我复盘,总结沉淀。

本文来自博客园,作者:架构师汤师爷,转载请注明原文链接:https://www.cnblogs.com/tangshiye/p/16027852.html

站心网

想一两句话把什么是架构师讲清楚,是非常困难的一件事。因为架构师这个角色是致力于解决高度复杂抽象的问题..

为您推荐

每一个程序员,都希望能成为分布式系统架构师

有很多读者经常问我,程序员的学习、成长之路应该怎么规划,才能早日成为一名架构师。作为一个曾经的架构师,在我走上技术管理这条路之后,管理的团队越来越大,现在我管理的技术团队有一百多人,最大的体会就是操心..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

Angular UT 模拟执行setTimeout

在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..

JavaScript 的 sessionStorage 能否加锁?

直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..

Redis 同步、击穿、穿透及雪崩简述

对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..

Vue 3.5引入新特性 还有与SSR相关的改进

Vue 3.5引入了响应式属性解构、useTemplateRef方法、useId实用函数、内部响应性重构等新特性。以下是具体介绍:响应式属性解构此功能允许开发者在defineProps宏中解构属性而不会失去响应性,这为组件间的属性传递提..

Asp.Net Core进程内托管 和 进程外托管的区别

在ASP.NET Core中,托管模型决定了应用程序如何运行及其与Web服务器交互的方式。主要有两种托管模式:进程内托管(In-Process Hosting)和进程外托管(Out-of-Process Hosting)。每种模式都有其独特的优势和适用场..

C# 使用Barrier进行多线程同步

在多线程编程中,同步是一个关键问题。Barrier 是 .NET 提供的一种同步机制,用于协调多个线程在执行某个阶段工作时进行等待,直到所有参与的线程都达到某个同步点后再继续执行。这对于需要在多个线程之间进行阶段性..

ASP.NET Core实现多语言本地化Web应用程序

构建全球可访问的网站和应用程序需要对内容进行适当的本地化,以吸引来自不同文化和地区的用户。ASP.NET Core 提供强大的本地化支持,以用户首选的语言和格式呈现内容。在本综合指南中,我们将探索 ASP.NET Core 中..

ASP.NET生成图片验证码

今天开始做一个新项目,包含完整的注册登陆流程,在登陆时需要输入验证码防止暴力破解。 制作思路是这样的: 准备使用handler一般处理程序来写,先随机从0-9和A-Z里随机取4个数字,将内容保存在Session中供验证时使..

C#发送邮件代码简洁示例(附源码下载)

C#发送邮件,主要使用的是System.Net.Mail命名空间下的方法实现,方法很简单,短短十几行代码即可完成发送,具体代码如下。 try { MailMessage myMail = new MailMessage(); myMail.From = new MailAddress..

Docsify | 轻量级无静态构建文档站点生成器

什么是 Docsify?Docsify 可以即时生成你的文档网站。与 GitBook 不同,它不会生成静态 html 文件。相反,它会智能地加载和解析你的 Markdown 文件并将其显示为网站。要开始使用它,你需要做的就是创建一个 index.ht..

发表回复

返回顶部

微信分享

微信分享二维码

扫描二维码分享到微信或朋友圈

链接已复制