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


架构师,是一个既须要掌控总体又须要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。架构师不是一我的,他须要创建高效的体系,带领团队去攻城略地,在规定的时间内完成项目。前端

首先要搞清楚架构师主要作些什么程序员

1 确认需求数据库

架构师要懂得用户需求,理解用户真正想要什么,这使得架构师必需要和分析人员不断沟通,反复确认需求规格说明书,以此来保证他精准清楚用户需求。编程

项目经理刘先生在受访时说:「架构师会与不少人沟通,例如开发人员,例如咱们项目经理,有时甚至是用户自己。架构设计的目的很明确,目的是什么呢?挖掘用户需求。」架构

2 系统分解测试

在架构师承认需求规格说明书后,架构师已明确用户需求是是什么,这时候便看架构师的分解能力了。职业规划

经过100offer入职的全栈技术架构师周先生从「纵向分解」和「横向分解」和咱们说明了系统分解是什么——spa

「通常分为纵向分解和横向分解,纵向分解是将整个系统分层,从而将总体系统分解成下一级的子系统与组件。横向分解是在系统分解成不一样的逻辑层或服务后,对逻辑层进行分块,肯定层与层之间的关系。」架构设计

3 技术选型设计

在系统分解后,架构师会最终造成软件总体架构,接下来,架构师的职责是技术选型。

「前端到底用瘦客户端仍是富客户端呢?数据库是用MySQL仍是MSSQL又或是Oracle呢?」架构师张先生在接受采访时说,「在了解用户需求后,分解完系统后,技术选型是很是重要的环节,提出各个方向,我再进行评估。不过,不少人都觉得架构师是有决定权的,其实不是,架构师没有拍版的权力,决定由项目经理来作。 」

架构师在技术选型阶段会提供参考信息给项目经理,项目经理再从预算、进度、人力、资源等各方面状况来权衡,最终确认。

4 制定技术规格说明

如前文调查显示,架构师在项目开发过程当中是「灵魂人物」,而且要具有协调组织能力和懂得人员分工。

在制定技术规格说明阶段,架构师要协调起全部的开发人员,架构师一般会用技术规格说明书与开发人员保持沟通,让开发人员能从各个视角去观测、理解他们负责的模块或者子系统,确保开发人员可以按照架构意图实现各项功能。

在了解架构师的职责后,再来看看架构师该具有什么能力才能成为一家公司中的「灵魂人物」。咱们先来看一下调查数据——


37%的受访人认为架构师的设计能力最重要,技术实力重要度排在第二占了24%,沟通能力则排在第三,占比14%,管理能力在大多数架构师眼中并非最重要的,仅占了7%。这次,咱们详细分析排在前三的能力。

1 设计能力-擅长整合分析

架构是过程,并不是结果。

架构是架构师洞察内在结构、原则、规律与逻辑的过程,架构师要作到清晰理解系统,以及简洁描述,这是分析整合的能力。

一个架构师必须具有极强的分析能力,要作到根据产品宗旨和目标,分析清楚产品定位以及产品业务,再整合利用现有的技术领域,找出最佳方案,实现产品概念。

2 技术实力-实现产品规划

架构师首先要将代码写的清晰易懂,要可以实现功能,作到没有Bug,这要求架构师必须具有至少熟练掌握一门语言。

这是最重要的,每一名出色的架构师,一定是一位优秀程序员。架构师并非纯粹的管理岗位,对那些爱写各式文档、画流程图、脱离代码、只说不作、高高在上的架构师,程序员们一般会称他们为——

PPT 架构师。

不懂编程的架构师的职业生涯一定是短暂的,不管如何都不可本末倒置,要想实现本身的职业规划,不能荒废本身自己的技能,技术是架构师赖以生存的最基本能力。

因此,不推荐不热爱编程的人去作架构师,对于团队工做和我的发展来讲,都会带来糟糕的后果。

3 沟通能力-可以横向沟通

架构师必须参与项目开发全过程,包括确认需求、系统分解、架构设计、技术选型、制定技术规格说明、系统实现、集成测试和部署各阶段,在这一系列过程当中,架构师会与各部门沟通交流。

一个产品会有多部门合做,架构师在其中的沟通极为重要,直接影响产品进度与质量。架构师不只要与开发人员沟通,也要和项目经理、分析人员甚至用户沟通,来实现产品的各类可能性。

因此,对于架构师来说,不只有技术方面的要求,还有可以横向沟通的要求

https://www.zhihu.com/question/19558112