一 什么是架构师
引用百度百科的解释。所谓架构师,通俗的说就是设计师或结构设计者。在软件工程领域中,软件架构师实际上就是软件项目的总体设计师,是软件组织新产品的开发与集成、新技术体系的构建者。
在刚刚工作,参与到软件这个行业时候,经常会听到一个段子。
甲:我已经应聘到一家软件公司了,很兴奋的是,今天上班的时候,全公司的人都来欢迎我。
乙:羡慕的不要不要的,都什么人来了
甲:CEO、COO、CTO、所有程序员,还有会计、司机都来了。
乙:哇靠,你太牛叉了
甲:没有没有,就他妈一个人!
乙:靠!!!
其实这个段子,在很多公司不断重现着,可能没有那么夸张而已。当人在一家角色不是很清晰的创业公司或者外包公司时,往往这种事情屡见不鲜。一个人,从需求、开发、测试、运维,身兼数职,变成了个全才。但是常在河边走,哪有不湿鞋,很多时候,就坑的不要不要的。慢慢的心脏强大,后来就微微一笑很倾城了。
对于架构师,是有着国际标准的。架构师,是软件开发活动中的众多角色之一,可能是一个人,也可能是一个团队。有兴趣的,可以去了解下国际标准。目前,架构师主要是着力于综合运用已有的产品和技术,来实现客户期望的需求。
二 架构师的职责
架构师需要参与项目开发的全部过程,包括需求分析、架构设计、系统实现、集成、测试和部署等各个阶段,负责在整个项目中对技术活动和技术说明进行指导和协调。
架构师主要职责有4条:
1、需求确认
在项目开发过程中,因为架构师需要充分理解需求,才能合理的按照系统设计,所以需要非常明确的需求反复确认。
2、系统分解
根据需求,需要由架构师对于复杂的系统模块,进行拆分,拆成能够理解、合理、符合公司技术团队水平实现的小模块。系统分解,是一项复杂的能力,需要综合各种去拆解。
3、技术选型
架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择主要取决于软件架构。
4、技术规范
对于需求的实现,由架构师把控技术环节的相关规范
三 架构师的误区
1、架构师就是项目经理
首先明确架构师不是项目经理,两者有明确的区分。但是不排除有些小项目中,常见项目经理兼架构师。
2、架构师负责需求分析
架构师不是需求分析员。架构师更重要的职责是拿到需求之后的事情。
3、架构师从来不写代码
架构师要保持技术的深度和广度,个人认为,代码必须要进行书写,永远不要放下
四 架构师的基本素质
沟通能力
领导能力
抽象思维和分析能力
技术深度和广度