架构师的主要职责是什么?

架构师的主要职责是什么?-mikechen

进阶成为架构师是大多数java程序员们的梦想,架构师从广义上可分为软件架构师、系统架构师,软件架构师是程序员最容易突破、最可能进阶的一条职业发展路径,我这次主要分享软件架构师的相关知识点。

一:架构师的定义

架构师的主要职责是什么?-mikechen

架构师,是一个既需要掌控整体又要洞悉局部瓶颈,并依据具体的业务场景给出解决方案的团队领导型人物,他需要参与项目开发的全部过程,包括需求分析、架构设计、系统实现、集成、测试和部署各个阶段,负责在整个项目中对技术活动和技术说明进行指导和协调。

架构师应该是立足于技术和业务之间的中间角色或者平衡点, 在针对业务深刻理解的基础上,针对业务中存在诸多变数,挑选适合的技术架构和技术方案。

二:架构师的主要职责

架构师的主要职责是什么?-mikechen

1、确认需求与拆分系统

在项目开发过程中,架构师需要依据用户需求,将完整的系统拆分为子系统和组件,形成不同的逻辑层或服务,确定各层的接口、层与层相互之间的关系,对整个系统分层进行“纵向”分解,对同一逻辑层分块进行“横向”分解。

2、技术选型

通过对系统的一系列的分解,最终形成了软件的整体架构,依据整体架构需要进行技术选型。

例如:天猫这样的大型分布式网站,需要从前端(CDN、负载均衡),再到中间应用层端的缓存集群、消息集群、文件存储集群等的选型,再到后端数据库(NoSQL、MySQL、Oracle等)的选型,你需要很清楚每一种技术的优劣势和应用场景,以及未来面临的挑战和风险。然后从业务的角度(预估访问量和业务变化),结合起来进行选型。

3、系统分解

系统分解类似实际项目中的概要设计、详细设计,业务逻辑划分、子系统与主系统的关联、数据库的设计,再到应用端业务流程等,从技术的角度完整的拆解业务,把控好技术的细节。

4、制作技术规格说明

在整个研发过程中始终保持与开发人员保持沟通,以保证开发者依照原定的架构意图去实现各项功能。

三:架构师的综合能力

程序员从初级、中级、高级再到架构师,是一个不断经验积累的过程,除了技术实力以外,其它软实力也不容忽视。

架构师的主要职责是什么?-mikechen

备注:图表仅为抽样数据,仅供参考

我们来细说下排名前三的架构师必备能力:设计能力、技术能力、沟通能力。

1、 设计能力

架构是架构师洞察内在结构、原则、规律与逻辑的过程,架构师要做到清晰理解系统、简洁描述,除此之外,一个架构师还必须具备极强的分析能力,要做到根据产品宗旨和目标,分析清楚产品定位、产品业务,再整合利用现有的技术领域,找出最佳方案,实现产品概念。

架构设计能力,具体可以参考:一篇文章搞懂架构师的核心技能

2、 技术能力

众所周知,架构师是团队中的技术权威,需要同时具备技术的深度和广度,至少精通多门技术,且技术广度的要求高于技术深度的要求,这样才能更加深入的理解架构相关工作原理,也可以拉近和技术团队的距离,并形成影响力。

具体可以参考:想成为阿里160万年薪的P8架构师?你必须掌握如下技能体系!

3、 沟通能力

架构师参与项目开发的全过程,包括确认需求、系统分解、架构设计、技术选型、制定技术规格说明、系统实现、集成测试和部署各阶段,与相关部门、技术团队关于各个环节的工作沟通在所难免,这就决定了架构师需要具备较强的沟通能力。

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法