如何才能成为一名优秀的架构师

zqlian zqlian     2023-01-01     293

关键词:

对于工作多年的程序员而言,日后的职业发展无非是继续专精技术、转型管理和晋升架构师三种选择。那么程序员如何才能晋升为优秀的高薪架构师?

 
 
优秀架构师需要具备怎样的素质
 
担任全栈技术架构师三年的刘先生表示:「架构师虽然经常需要做一些分工的工作,涉及到一些管理层面,但在我看来,它并不算完全的管理,更考验沟通能力和他的设计能力。」
 
企业无论是招哪一类架构师,都会要求他们具有多年从业经验,有过项目开发经历,精通多门编程语言且熟悉数据库。总结出架构师的主要职责为以下四点——
 
1 确认需求
 
架构师要懂得用户需求,理解用户真正想要什么,这使得架构师必须要和分析人员不断沟通,反复确认需求规格说明书,以此来保证他精准清楚用户需求。
 
项目经理刘先生在受访时说:「架构师会与很多人沟通,例如开发人员,例如我们项目经理,有时甚至是用户本身。架构设计的目的很明确,目的是什么呢?挖掘用户需求。」
 
2 系统分解
 
在架构师认可需求规格说明书后,架构师已明确用户需求是是什么,这时候便看架构师的分解能力了。通过100offer入职的全栈技术架构师周先生从「纵向分解」和「横向分解」和我们说明了系统分解是什么——
 
「一般分为纵向分解和横向分解,纵向分解是将整个系统分层,从而将整体系统分解成下一级的子系统与组件。横向分解是在系统分解成不同的逻辑层或服务后,对逻辑层进行分块,确定层与层之间的关系。」
 
3 技术选型
 
在系统分解后,架构师会最终形成软件整体架构,接下来,架构师的职责是技术选型。
 
「前端到底用瘦客户端还是富客户端呢?数据库是用MySQL还是MSSQL又或是Oracle呢?」架构师张先生在接受采访时说,「在了解用户需求后,分解完系统后,技术选型是非常重要的环节,提出各个方向,我再进行评估。不过,很多人都以为架构师是有决定权的,其实不是,架构师没有拍版的权力,决定由项目经理来做。 」
 
架构师在技术选型阶段会提供参考信息给项目经理,项目经理再从预算、进度、人力、资源等各方面情况来权衡,最终确认。
 
4 制定技术规格说明
 
架构师在项目开发过程中是「灵魂人物」,并且要具备协调组织能力和懂得人员分工。
 
在制定技术规格说明阶段,架构师要协调起所有的开发人员,架构师通常会用技术规格说明书与开发人员保持沟通,让开发人员能从各个视角去观测、理解他们负责的模块或者子系统,确保开发人员能够按照架构意图实现各项功能。
 
在了解架构师的职责后,再来看看架构师该具备什么能力才能成为一家公司中的「灵魂人物」。我们先来看一下调查数据——
 
37%的受访人认为架构师的设计能力最重要,技术实力重要度排在第二占了24%,沟通能力则排在第三,占比14%,管理能力在大多数架构师眼中并不是最重要的,仅占了7%。此次,我们详细分析排在前三的能力。
 
 
1 设计能力-擅长整合分析
 
架构是过程,并非结果。
 
架构是架构师洞察内在结构、原则、规律与逻辑的过程,架构师要做到清晰理解系统,以及简洁描述,这是分析整合的能力。
 
一个架构师必须具备极强的分析能力,要做到根据产品宗旨和目标,分析清楚产品定位以及产品业务,再整合利用现有的技术领域,找出最佳方案,实现产品概念。
 
2 技术实力-实现产品规划
 
架构师首先要将代码写的清晰易懂,要能够实现功能,做到没有Bug,这要求架构师必须具备至少熟练掌握一门语言。
 
这是最重要的,每一名出色的架构师,必定是一位优秀程序员。架构师并不是纯粹的管理岗位,对那些爱写各式文档、画流程图、脱离代码、只说不做、高高在上的架构师,程序员们通常会称他们为——PPT 架构师。
 
不懂编程的架构师的职业生涯必定是短暂的,无论如何都不可本末倒置,要想实现自己的职业规划,不能荒废自己本身的技能,技术是架构师赖以生存的最基本能力。
 
所以,不推荐不热爱编程的人去做架构师,对于团队工作和个人发展来说,都会带来糟糕的后果。
 
3 沟通能力-能够横向沟通
 
架构师必须参与项目开发全过程,包括确认需求、系统分解、架构设计、技术选型、制定技术规格说明、系统实现、集成测试和部署各阶段,在这一系列过程中,架构师会与各部门沟通交流。
 
一个产品会有多部门合作,架构师在其中的沟通极为重要,直接影响产品进度与质量。架构师不仅要与开发人员沟通,也要和项目经理、分析人员甚至用户沟通,来实现产品的各种可能性。
 
所以,对于架构师来讲,不仅有技术方面的要求,还有能够横向沟通的要求。
 
架构师的发展现状
 
成为一名架构师是程序员的职业发展道路之一,架构师的工作前景也是程序员们所关心的事情,100offer采访了数名架构师,做出「架构师的发展现状」的相关分析。首先,我们来看一看架构师们想去怎样规模的公司——
 
可以发现,初创公司并不受到架构师们的青睐,架构师们更偏向进入具有一定规模已有成熟产业线的公司进行发展。
 
接下来,我们收集了100offer上近一年来架构师所收到的面试邀请数——
 
 
能够看出,最近一年来,企业对架构师的需求量是在逐步上升的。在了解企业需要后,我们再来看一看架构师的收入——
 
以上数据是两年来通过100offer入职的架构师年薪,20万以下和60万以上各占3%,20万至30万、30万至40万各占22%,40万至50万占比最大,高达34%,从现状年薪来看,架构师属于高薪职业。
 
 
高薪职业往往都担着巨大压力,对于架构师而言,他们在工作中面临的最大困难又是什么呢——
 
协调人际利益占了35%,管理分工占了26%,这些与「人」相关的内容成为架构师在工作中面临的最大困难。对于能成为架构师的人来说,只要不是PPT架构师,基本都具备了对架构师而言最重要的设计能力和编程能力,所以最重要的有时并不是最困难的。
 
他们必须思考清楚用户最需要的是什么,同时协调好项目内部人员的利益关系,对于很多不擅于打交道的程序员而言,协调和管理的确成为了他们最头疼的问题。
 
受访的架构师们表示,面对协调和管理所带来的困扰时,不能着急,协调人员之间的利益、管理和分配工作量本身就是一件需要大量实践才能有成效的事情,成功的架构师们往往会选择从减压做起,而协调与管理,在他们看来,是一件水到渠成的事。
 
无论是企业需求,还是薪资水准,从现状而言,架构师的各方面待遇都是较好的,同样,多部门协调和多线部署也给他们带来了巨大压力。不难看出,国内架构师的发展现状是较为乐观的,架构师无论是地位、薪酬还是未来发展,都具有着优势。
 
不是每一位程序员都必须转管理层成为CTO甚至CEO,也不是每一名程序员都必须要成为架构师,每名程序员都有着不同的发展方向。
 
从程序员到架构师,是很大的职业转变,也是不少程序员的职场规划路线。
 
本次受访的架构师,大多数都是在工作十年后再从程序员转型为架构师,几乎所有高薪架构师,都懂得多门主流编程语言如C++、Java、python等,才能在架构系统时没有局限性,也可以使用如MySQL、sqlserver、sybase、jracle、infomix等多种数据库,他们还了解文件系统特性,如NFS、GFS,NTDFS、XFS等,甚至做过几年windows开发,是这些经历,才造就了一名优秀的架构师。

如何成长为一名架构师

如何成长为一名架构师本文将从多个方面讲述如何成为一名优秀的架构师,以及一个架构师应该具备什么样的技术要和职业素养。我在这里整理了个脑图,方便系统性的查阅。一、职责在工作中,需要清楚的自己定位... 查看详情

一名工作8年的java架构师分享经验之如何成为一名架构师

...过的类实现原理是什么。HTTP协议TCP协议一致性Hash算法JVM如何加载字节码文件类加载器如何卸载字节码IO和NIO的区别,NIO优点Java线程池的实现原理,keepAliveTime等参数 查看详情

10年经验总结,华为fellow教你如何成为一名优秀的架构师?

...文分享自华为云社区《10年经验总结,华为fellow教你如何成为一名优秀的架构师?》,作者:技术火炬手。在《云享人物·大咖面对面》第四期的采访中,华为云首席架构师顾炯炯基于10多年架构设计的经验ÿ... 查看详情

如何成为一名架构师,架构师成长之路(转)

转自http://blog.csdn.net/fei33423/article/details/61934514如何成为一名架构师,架构师成长之路原创 2017年03月13日22:50:343116大量阅读别人的系统实现文章(架构=模块图+模块流程图(启动和主流程,可以用拟物tag)或者模块时序图)动态+静态.对... 查看详情

怎样成为一名架构师

怎样成为一名架构师今天听了一节如何成为合格的架构师视频课,现在总结下:一、架构师要具备什么素质1、要有良好的沟通协调能力,能够促进团队共同合作。2、技术前瞻性,需要洞察新技术并加以分析,如果新技术适用,... 查看详情

如何成为一名linux系统运维架构师

参考技术A如何成为一名Linux系统运维架构师架构师呀那么先从运维工程师做起吧,要学习网络方面的知识,数据在网络中怎么传递,linux的基本操作,各项服务的配置和原理,计算机硬件的知识也要了解有了这些基础了之后会接... 查看详情

如何成为一个优秀的java架构师

所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面,实在是一言难尽... 查看详情

android架构师成长之路,如何成为一名android架构师?

最近网上有篇热帖引起了互联网圈内程序员的议论。其实倒挂的现象确实存在,一般有两种情况:一种是应届生倒挂,这个一般可以归因于每一年大厂对外录取新同学的基本薪资可能有所变化。而一年的时间,也... 查看详情

我问chatgpt:怎样成为优秀的架构师?看它怎么回答的……

要成为一名优秀的架构师,需要以下几个方面的努力:1.系统的学习计算机科学和工程相关的知识,如计算机网络,数据结构,算法,操作系统等。2.实践和经验积累。参与许多实际的项目,不断积累经验,提高解决问题的能力... 查看详情

想要成为一名架构师,需要具备哪些能力呢?

正所谓,不想成为架构师的程序员不是好程序员。架构师是IT架构中的灵魂人物,不仅如此,架构师的薪资待遇远高于程序员。那么,想要成为一名架构师需要具备哪些能力呢?在具体分析架构师该具备的素质... 查看详情

人工智能aiai写作:《怎样成为一个优秀的架构师》

怎样成为一个优秀的架构师?分别从技术、业务、项目管理等方面详细说明,细化到3级目录,不少于3000字。用markdown格式。文章目录AI写作:《怎样成为一个优秀的架构师》架构师的技术要求熟悉基本的计算机科学原理熟悉各种... 查看详情

java架构师之路:从java码农到年薪八十万的架构师,最牛java架构师进阶路线

...构师,资深架构师大牛给予Java技术提升学习路线建议,如何成为一名资深Java架构师? 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术、转型管理和晋升架构师三种选择。架构师在一家公司有多重要、优秀... 查看详情

优秀软件架构师成长之路(代码片段)

成为一名优秀架构师,是很多程序员努力的方向。相关的讨论也从没停过,除了大家说烂了的那些架构师的特质和需要具备的技能外,还有很多是我们可以在工作和学习过程中重点培养和关注的能力。1.在软件工程师... 查看详情

如何成长为一名架构师

如何成长为一名架构师本文将从多个方面讲述如何成为一名优秀的架构师,以及一个架构师应该具备什么样的技术要和职业素养。我在这里整理了个脑图,方便系统性的查阅。一、职责在工作中,需要清楚的自己定位... 查看详情

想成为一名架构师,应该掌握哪些技术呢?

要成为一名架构师,首先应该掌握哪些技术呢?1.面向对象OOP的理解,我是说理解,我不希望你告诉我百度里的概念!2.常用的数据结构,对于常见的数据结构,算法,应该知道一些!3.WEB服务,对于分布式,大一点的项目都会遇... 查看详情

如何从一名java初级程序员成长为一名合格的架构师.或许这里有你想知道的答案(代码片段)

怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师。那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老... 查看详情

如何从一名java初级程序员成长为一名合格的架构师.或许这里有你想知道的答案(代码片段)

怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师。那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老... 查看详情

如何从苦逼码农成为一个优秀的java架构师,程序员的架构之路

和大家介绍下我目前所从事的工作。我目前从事分布式服务架构的设计与开发工作,在阿里的大数据平台上进行应用程序开发。我们整个系统架构采用了“前后端分离”的思想,前端关注数据展现,后端关注数据生产,通过REST... 查看详情