0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是架构师

工程师人生 来源:工程师吴畏 2019-04-03 17:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一 、什么是架构师

很多的创业公司,一人身兼数职的情形还是很常见的。至少,我是经历过的,一个人包办了所有的开发过程,连测试我都做了,绝对的一条龙,但是经常踩钢丝、骑独轮车总会有失足的时候,结果有一次,从我手里发出去的光盘母盘,含有病毒僵尸,以至于被迫收回已经推上市场的2万张光盘,从那之后,我的心脏就开始变得无比坚强,现在就是整个后台服务都瘫痪了,我也只是微微一笑。其实,一个人身兼架构师和程序员,甚至多种角色,没什么不妥,后面还会讲这个话题,这种现象不是中国特色,跟国外是完全接轨的。我曾经跟米国的一个工程师在msn中聊过类似的话题,发现他们的路子跟咱们没什么不同,在IT这个行业,我们跟世界的差距只有1天,他们刚弄出来的新东西,我们这里第2天保准见得到。

架构师这个称呼不是拍脑袋想出来的,是有国际标准(ISO/IEC 42010)可查的。架构师是软件开发活动中的众多角色之一,它可能是一个人、一个小组,也可能是一个团队。微软对架构师有一个分类参考,我们参考一下,他们把架构师分为4种:企业架构师EA(Enterprise Architect)、基础结构架构师IA(Infrastructure Architect)、特定技术架构TSA(Technology-Specific Architect)和解决方案架构师SA (Solution Architect)。微软的这个分类是按照架构师专注的领域不同而划分的。

EA的职责是决定整个公司的技术路线和技术发展方向。盖茨给自己的Title就是首席软件架构师,网易丁磊也喜欢这么称呼自己,实际上就是EA角色;IA的工作就是提炼和优化技术方面积累和沉淀形成的基础性的、公共的、可复用的框架和组件,这些都是一个技术型公司传承下来的最宝贵的财富之一;特定技术架构师TSA,他们主要从事类似安全架构、存储架构等专项技术的规划和设计工作;SA的工作则专于解决方案的规划和设计,“解决方案”这个词在中国已经到了严重泛滥的程度,大忽悠们最喜欢把它挂在嘴边。所谓解决方案,就是把产品、技术或理论,不断地进行组合,来创造出满足用户需求的选择。售前工程师一般都是带着它到客户那里去发挥的。

大公司会把各种类型的架构师分得很清楚,小公司一般就不那么讲究了,架构师多数是是IA+TSA+SA,一人包打天下,所以说大公司出专才,小公司出全才。

实际工作中,我们也经常会见到另一种比较简单的分类方式,把架构师分为软件架构师和系统架构师。软件架构师基本上是TSA+IA,这也是程序员最容易突破,最可能走上的一条道路,比如JAVA架构师、DotNet架构师、LAPM架构师等等,我后面所讲的内容都是与软件架构师的相关的话题。系统架构师实际上是SA+TSA,更着力于综合运用已有的产品和技术,来实现客户期望的需求。系统架构师要求通晓软、硬件两方面的知识,所以它的知识体系相对庞杂。关于系统架构师的话题,我们可以稍后再作讨论。

二 、架构师的职责

架构师需要参与项目开发的全部过程,包括需求分析、架构设计、系统实现、集成、测试和部署各个阶段,负责在整个项目中对技术活动和技术说明进行指导和协调。

架构师主要职责有4条:

1、确认需求

在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。

2、系统分解

依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。

软件架构师的功力基本体现于此,这是一项相对复杂的工作。

3、技术选型

架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择主要取决于软件架构。

Web Server运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?需要不需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估。

架构师对产品和技术的选型仅仅限于评估,没有决定权,最终的决定权归项目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认。

4、制定技术规格说明

架构师在项目开发过程中,是技术权威。他需要协调所有的开发人员,与开发人员一直保持沟通,始终保证开发者依照它的架构意图去实现各项功能。

架构师与开发者沟通的最重要的形式是技术规格说明书,它可以是UML视图、Word文档,Visio文件等各种表现形式。通过架构师提供的技术规格说明书,保证开发者可以从不同角度去观察、理解各自承担的子系统或者模块。

架构师不仅要保持与开发者的沟通,也需要与项目经理、需求分析员,甚至与最终用户保持沟通。所以,对于架构师来讲,不仅有技术方面的要求,还有人际交流方面的要求。

三 、架构师的误区

1、架构师就是项目经理

架构师不是项目经理。项目经理侧重于预算控制、时间进度控制、人员管理、与外部联系和协调等等工作,具备管理职能。一般小型项目中,常见项目经理兼架构师。

2、架构师负责需求分析

架构师不是需求分析员。需求分析人员的工作是收集需求和分析需求,并与最终用户、产品经理保持联系。架构师只对最终的需求审核和确认,提出需求不清和不完整的部分,他会跟需求分析员时刻保持联系。架构师是技术专家,不是业务专家。

3、架构师从来不写代码

这是一个尚存争论的问题。目前有两种观点:

观点1:架构师不写代码,写代码纯体力活,架构师写代码大材小用。架构师把UML的各种视图交给开发人员,如果有不明确的地方,可以与架构师随时沟通。

观点2:架构师本来自于程序员,只是比程序员站的层面更高,比程序员唯一多的是经验和知识,所以架构师也免不了写代码。

我个人觉得这两种说法是与架构师的出身和所处的环境有关。

架构师首先是一个技术角色,所以一定是来自于技术人员这个群体,比如系统架构师,多是来自于运维人员,可能本身代码写得并不多,或者说写不出来很漂亮的代码。软件架构师多是来自于程序员,有着程序员的血统和情怀,所以在项目开发过程中,可能会写一些核心代码。我们的理想是架构师不用写代码,但事实上有时候过于理想。架构师写不写代码,可能取决于公司的规模、文化、开发人员的素质等现实情况。另外,架构师也不是跟程序员界限分得那么清楚,按照能力也有高中低之分,写不写代码不是区分两者的根本标准。

四 、架构师的基本素质

周星驰有个片子《喜剧之王》,剧中的尹天仇整天揣着本《演员的自我修养》,一个好演员不仅需要天赋,也需要一定的理论指导,无师自通的人毕竟是少数。架构师的成长过程也是这样。从普通程序员到高级程序员,再到架构师,是一个经验积累和思想升华的过程。经验积累是一个方面,素质培养是另一个方面,两者相辅相成,所以我觉得有必要把架构师的所要具备的素质罗列一下,作为程序员努力的方向。

沟通能力

为了提高效率,架构师必须赢得团队成员、项目经理、客户或用户认同,这就需要架构师具有较强的沟通能力。沟通能力是人类最普遍性的素质要求,技术人员好像容易忽略,想成为架构师就不能忽略。千万不要抱着这样的观念:怀才跟怀孕似的,时间久了总会被人发现的。还是天桥上卖大力丸的哥们说得对:光说不练假把式,光练不说傻把式。看看你周围的头头脑脑们,哪一个不是此中高手,我们千万不要鄙视,认为这是阿谀奉承、投机钻营,凡事都要看到积极的一面,“沟通”的确是一种能力。我认为自己是一个略内向的人,因为我是农村出来的孩子,普通话都说不好,以前或多或少带有点自卑感,幻想着是金子总会发光,所以在职业生涯中吃了不少亏。现在,我深深懂得了沟通的重要性,我会很主动地跟同事们,跟老大们不定时地沟通,感觉工作起来顺畅多了。

这一条我认为最为重要,所以排在首位。我甚至认为下面几条都可以忽略,唯一这一条得牢记,而且要常常提醒自己。

领导能力

架构师能够推动整个团队的技术进展,能在压力下作出关键性的决策,并将其贯彻到底。架构师如何来保证这种执行力?这就需要架构师具有领导能力。

架构师的领导能力的取得跟项目经理不太一样。项目经理主要负责解决行政管理,这种能力与技术关系不大,他有人权和财权,再扯上一张“领导”的虎皮,采用“胡萝卜加大棒”的方式,基本上可以保证执行力。架构师在项目里面可能更多地使用非正式的领导力,也就是我们常说的影响力,里面包括个人魅力、技术能力、知识传递等等。

抽象思维和分析能力

架构师必须具备抽象思维和分析的能力,这是你进行系统分析和系统分解的基本素质。只有具备这样的能力,架构师才能看清系统的整体,掌控全局,这也是架构师大局观的形成基础。你如何具备这种能力呢?一是来自于经验,二是来自于学习。架构师不仅要具备在问题领域上的经验,也需要具备在软件工程领域内的经验。也就是说,架构师必须能够准确得理解需求,然后用软件工程的思想,把需求转化和分解成可用计算机语言实现的程度。经验的积累是需要一个时间过程的,这个过程谁也帮不了你,是需要你去经历的。但是,如果你有意识地去培养,不断吸取前人的经验的话,还是可以缩短这个周期的。这也是我写作此系列的始动力之一。

技术深度和广度

架构师最好精通1-2个技术,具备这种技术能力可以更加深入的理解有关架构的工作原理,也可以拉近和开发人员的距离,并形成团队中的影响力。

架构师的技术知识广度也很重要,需要了解尽可能多的技术,所谓见多识广,只有这样,才可能综合各种技术,选择更加适合项目的解决方案。有的人说,架构师技术广度的要求高于技术深度的要求,这是很有道理的。

总而言之,一句话:架构师是项目团队中的技术权威。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 架构师
    +关注

    关注

    0

    文章

    47

    浏览量

    4879
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    浮点指令扩展中16位指令的处理

    指令取代对应的宽指令由它们决定。 为了能在一系列的程序上得到良好的代码压缩效果, RISC-V 架构师精心挑选了 RVC扩展中的指令。同时,基于以下的三点观察,架构师们成功地将指令压缩到了 16 位
    发表于 10-20 11:02

    多核服务器的CPU亲和性配置与负载均衡优化

    某大厂的资深架构师小王最近遇到了一个头疼的问题:新采购的双路AMD EPYC 7763(128核心)服务器,在高并发场景下的性能表现竟然还不如之前的32核服务器。经过深入排查,发现问题出在CPU亲和性配置上。通过正确的配置,最终性能提升了300%!
    的头像 发表于 08-27 14:45 578次阅读

    百度AICA首席AI架构师培养计划第九期开课

    在北京奔驰,汽车车身喷漆完成并烘干后,需对漆面外观质量进行检查。由于缺陷尺寸微小、传统检测设备价格昂贵、人工检查受限等因素,缺陷的检出率无法得到有效保障。
    的头像 发表于 08-19 17:03 939次阅读

    RISC-V 发展现状及未来发展重点

    ,RISC-V 国际基金会首席架构师、SiFive 首席架构师、加州伯克利分校研究生院名誉教授 Krste Asanovic分享了当前 RISC-V 的发展现状和未来的重点方向。   当前,开放标准
    发表于 07-17 12:20 5057次阅读
    RISC-V 发展现状及未来发展重点

    Tenstorrent首席架构师练维汉:开放式芯粒架构(OCA),应对AI多样化需求爆发

    (电子发烧友网黄晶晶现场报道)2025年7月16-19日,第五届RISC-V中国峰会在上海张江科学会堂隆重举办。RISC-V中国峰会是全球三大RISC-V专业会展之一,也是中国规模最大的RISC-V年度活动。本届峰会设置1场主论坛、9场垂直领域分论坛、5场研习会、11项同期活动,以及4,500平方米未来科技展览区。吸引近2,000名国内外专业观众线下参与 (80%来自产业界),线上直播及回放覆盖超过50万人次行业人群,汇聚数百家企业、研究机构及开源技术社区参会。   在7月17日举
    的头像 发表于 07-17 11:45 2159次阅读
    Tenstorrent首席<b class='flag-5'>架构师</b>练维汉:开放式芯粒<b class='flag-5'>架构</b>(OCA),应对AI多样化需求爆发

    Tenstorrent 首席架构师:未来 RISC-V 会是计算机的主流

    强,适合定制化需求等。在 7 月 17 日第五届(2025)RISC-V 中国峰会的主论坛上,Tenstorrent 首席架构师 Wei-Han Lien 表示,Tenstorrent 投入了大量人力
    发表于 07-17 11:26 1391次阅读

    如何释放异构计算的潜能?Imagination与Baya Systems的系统架构实践启示

    报告作者:PallaviSharma,Imaginaiton产品管理总监Dr.EricNorige,BayaSystems首席软件架构师关注Imagination公众号,消息框发送【异构计算】,即可
    的头像 发表于 06-13 08:33 831次阅读
    如何释放异构计算的潜能?Imagination与Baya Systems的系统<b class='flag-5'>架构</b>实践启示

    华为推出面向AI WAN的智算IP广域网解决方案

    在由上海电信主办的“云网启智,畅想未来”的分论坛上,华为数据通信产品线城域路由器首席架构师任广涛分享了题为“面向AI WAN的智算IP广域网助力企业高效用算”的演讲。
    的头像 发表于 05-19 11:27 866次阅读

    华为AI WAN SPN打造行业数智化新体验

    近日,在云网智联大会 “确定性网络/广域高性能网络论坛”上,华为数据通信产品线SPN解决方案首席架构师魏家道发表《AI WAN SPN融合承载网络确定性承载技术》主题演讲——通过AI WAN SPN创新架构,从设备、联接到网络智能体运维多维度阐述AI赋能网络,打造行业数智
    的头像 发表于 05-07 09:53 734次阅读

    集成API设计+测试+文档管理,全新一站式解决方案SmartBear API Hub功能介绍

    SmartBear全新推出API Hub,助力高效应对API开发挑战! API Hub专为API开发者、架构师、产品经理和QA团队打造,将设计、测试、治理和文档集成到一个单一平台中,带来无缝的开发体验,可帮助简化工作流程,增强协作,并确保大规模应用时的安全与质量。
    的头像 发表于 04-08 17:52 635次阅读
    集成API设计+测试+文档管理,全新一站式解决方案SmartBear API Hub功能介绍

    恩智浦携手Wolfspeed打造的800V牵引逆变器参考设计

    为实现零排放的未来,汽车行业迫切需要重塑。汽车制造商必须加速推出差异化的电动车型。恩智浦携手Wolfspeed,共同推出一款经过全面验证的800V牵引逆变器参考设计,有效帮助电动汽车系统架构师克服诸多技术障碍。
    的头像 发表于 04-07 11:44 1485次阅读
    恩智浦携手Wolfspeed打造的800V牵引逆变器参考设计

    华为亮相“十五五”国家算力大通道规划布局专题研讨会

    面向人工智能创新发展的“十五五”国家算力大通道规划布局专题研讨会上,华为数据通信产品线解决方案首席架构师文慧智,发表了题为“人工智能与全国一体化算力网的技术思考”的演讲。
    的头像 发表于 02-24 17:11 891次阅读

    一个优秀的嵌入式软件“架构师” — AWFlow

    在大型项目的软件开发过程中,模块化开发面临着接口设计不合理、代码冲突以及模块间不兼容等问题,导致团队协作效率低下。为了解决这些问题,嵌入式软件“架构师”—AWFlow,应运而生!在大型项目
    的头像 发表于 02-10 16:44 773次阅读
    一个优秀的嵌入式软件“<b class='flag-5'>架构师</b>” — AWFlow

    英特尔前Xeon首席架构师加盟高通

    高通公司近日宣布,英特尔前Xeon服务器处理器首席架构师Sailesh Kottapalli已正式加入高通,并担任高级副总裁一职。此举被视为高通进军数据中心CPU市场的重要一步
    的头像 发表于 01-15 15:30 720次阅读

    奇异摩尔分享计算芯片Scale Up片间互联新途径

    开放数据中心委员会ODCC冬季全员会议于12月4日-6日在春暖花开的昆明举行。奇异摩尔首席系统架构师朱琛作为网络工作组ETH-X超节点项目的核心成员分享了AI Networking Scale Up卡间互联的新路径解决方案并展开了相关应用分析。
    的头像 发表于 12-09 09:36 2329次阅读
    奇异摩尔分享计算芯片Scale Up片间互联新途径