当前位置:龙泉人才网 - 人才百科 -

架构师(关于架构师的一切)

  • 人才百科
  • 2023-12-09 07:00
  • 龙泉小编

关于架构师的一切

架构师的分类和职责是什么?

架构师应具备哪些技能?

架构师要不要写代码?

系统架构师与产品经理的关系及区别是什么?

系统架构师与项目经理的关系及区别是什么?

系统架构师与系统分析师的关系及区别是什么?

架构师是程序员职业的顶级职位之一。程序员的顶级职位还包括CTOCIO等,但CTOCIO往往更偏向管理方向了,与具体的架构工作没有太多关系。

架构师一般可以通过自身技能的积累、学习和实践,就可以达到。

想要成为架构师,首先要明白架构师的分类,具体的职能是什么,需要哪些技能。

现代架构师按职责做了细分:

企业架构师EA(Enterprise Architect)

基础结构架构师IA(Infrastructure Architect)

特定技术架构TSA(Technology-Specific Architect)

解决方案架构师SA (Solution Architect)

架构师的主要工作:

企业架构师的职责是决定整个公司的技术路线和技术发展方向。职责与CIOCTO类似。

基础结构架构师的工作就是提炼和优化技术方面积累和沉淀形成的基础性的、公共的、可复用的框架和组件,这些都是一个技术型公司传承下来的最宝贵的财富之一。

特定技术架构师特定技术架构,他们主要从事类似安全架构、存储架构等专项技术的规划和设计工作。

解决方案架构师的工作则专于解决方案的规划和设计,“解决方案”这个词在中国已经到了严重泛滥的程度,大忽悠们最喜欢把它挂在嘴边。所谓解决方案,就是把产品、技术或理论,不断地进行组合,来创造出满足用户需求的选择。售前工程师一般都是带着它到客户那里去发挥的。

一般情况我们把架构师分为软件架构师和系统架构师。软件架构师基本上是特定技术架构+基础结构架构师,这也是程序员最容易突破,最可能走上的一条道路,比如JAVA架构师、DotNet架构师、LAPM架构师等等。系统架构师实际上是解决方案架构师+特定技术架构,更着力于综合运用已有的产品和技术,来实现客户期望的需求。系统架构师要求通晓软、硬件两方面的知识,所以它的知识体系相对庞杂。

系统架构师:实际上是解决方案架构师+特定技术架构,从系统的维度,负责整体系统的架构设计,主要是基础服务和各系统间协调上,着眼全局不太注重某个应用本身架构,比如关注服务器负载,可靠性,伸缩,扩展,数据库切分,缓存应用等方面的基础架构设计。更着力于综合运用已有的产品和技术,来实现客户期望的需求。系统架构师要求通晓软、硬件两方面的知识,所以它的知识体系相对庞杂。系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。

应用架构师:从应用程序的维度,负责某个应用的技术架构,主要偏业务系统,关注理解业务,梳理模型,设计模式,接口,数据交互等方面。

业务架构师:从业务流程的维度,关注某一个行业、业务的领域分析,获取领域模型,最终获得系统的模型。也可以叫业务领域专家、行业专家、产品咨询师、资深顾问。

我们通常所说的架构师是系统架构师和应用架构师的结合。

当然架构师也可以从开发语言、职责上划分,比如前端架构师、后端架构师、Java架构师、.Net架构师、LAMP架构师等。

架构师需要哪些技能?

有一张具体的分层图可以概要:

首要的和最基础的是技术能力,这是架构师的基石。

其次是人际关系技能,包括领导力、政治、亲和力、沟通能力、谈判能力等。

个人技能:包括专注力、热爱事业、自我管理及其他的软技能等。

业务技能。既懂业务又懂技术的人才是目前IT行业最稀缺的人才。要想更上一层,就需要对业务有更深刻的理解。

系统架构设计师综合的知识能力包括9个方面,即:

1、战略规划能力。

2、业务流程建模能力。

3、信息数据结构能力。

4、技术架构选择和实现能力。

5、应用系统架构的解决和实现能力。

6、基础IT知识及基础设施、资源调配能力。

7、信息安全技术支持与管理保障能力。

8、IT审计、治理与基本需求分析、获取能力。

9、面向软件系统可靠性与系统生命周期的质量保障服务能力。

架构师到底要不要写代码?

我的建议:

架构师必须要写代码,架构师是高级的程序员。好的系统架构师一定是一个优秀的程序员,必须要懂技术之间的差别、技术的发展趋势、采用该技术的当前成本和后继成本、该技术与具体应用的偶合程度、自己可以调配的资源状况、研发中可能会遇到的风险,如何回避风险。虽然系统架构师的主要工作是针对不同的情况筛选出最优的技术解决方案,不是沉在具体实现细节上。但架构师必须具备良好的技术能力、人际关系能力、个人能力和业务能力。技术能力是架构师的基石,编码能力也是技术能力的主要体现之一。因此系统架构师必须要写代码。

系统架构师与产品经理的关系及区别是什么?

产品经理通常是指负责产品设计的“专人”。一个优秀的理想的产品经理,应同时具备较高的商业素质和较强的技术背景。产品经理要有深厚的领域经验,也就是说,对该软件系统要应用到的业务领域非常之熟悉。比如,开发房地产销售软件的产品经理,应该对房地产公司的标准销售流程了如指掌,甚至比大多数销售人员还要清楚。如果开发的是通用产品,他/她还具备对市场、潜在客户需求的深刻洞察力。那么,系统架构师与产品经理有什么不同呢?我们不应该把二者混为一谈,这是不少论述和实践常犯的错误。产品经理虽然要有一定技术背景,但仍应属于“商业人士(business people)”,而系统架构师则肯定是一个技术专家。二者看待问题的立场、角度和出发点完全不同。

系统架构师与项目经理的关系及区别是什么?

项目经理是指对项目控制/管理,关注项目本身的进度、质量,分配、调动、协调、管理好人、财、物等资源的负责人。对于软件项目经理来讲,包括项目计划、进度跟踪/监控、质量保证、配置/发布/版本/变更管理、人员绩效评估等方面。优秀的项目经理需要的素质,并不仅在于会使用几种软件或是了解若干抽象的方法论原则,更重要的在于从大量项目实践中获得的宝贵经验,以及交流、协调、激励的能力,甚至还应具备某种个性魅力或领袖气质(Charisma)。 

由此可见,项目经理和系统架构师在职责上有很大差异。混同这两个角色,往往也会导致低效、无序的开发。特别是,从性格因素上讲,单纯的技术人员倾向于忽视“人”的因素,而这正是管理活动的一个主要方面。另外,专职的项目经理能够应付开发过程中大量的偶发事件和杂务,对于一个规模稍大的项目,这些杂务本身就能占用一个全职工作者的几乎全部时间。

在一个项目中,系统架构师和项目经理是推动项目发展的重要力量。项目经理的主要职责是与内外部沟通和管理资源(包括人)。系统构架师提出系统的总体构架,给出开发指导。一个项目中,项目经理的角色什么?如果他既是管理人员又是设计人员,则必须比别人强,能够有让别人服的东西。如果他只是项目管理人员,系统构架师有专门人员,就可以不用精通或者说了解IT各个方面的知识,如果了解更好。另外,如果在一个项目没有人在技术构架上和开发指导上负全部责任,而是每个人都负责一快的架构、分析、设计、代码和实施等,最后肯定会失去管理。

系统架构师与系统分析师的关系及区别是什么?

系统分析师(System analyst)是指对系统开发中进行业务需求分析、系统需求分析、可行性分析、业务建模和指导项目开发的人。系统分析师所面临的往往是有许多不确定性的事件,需要对这些不确定性的事件进行分析、总结,使之得出一个相对可靠的确定性结论或实施方案模型。一般意思上讲,系统分析师的水平将影响系统开发的质量,甚至成败。但在一个完善的系统开发队伍中,还需要有业务专家,技术专家和其他辅助人员。对于大型企业或者项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。

系统分析师对业务系统进行分析、建模,他的任务、目标是明确的。系统架构师协同系统分析师的工作,建议系统分析师按什么标准,什么工具,什么模式,什么技术去思考系统。同时,系统架构师应该对系统分析师所提出的问题,碰到的难题及时地提出解决的方法。系统架构师在项目中担任技术骨干的角色,负责技术实施中的重点技术问题攻关。同时,又是系统分析师的技术顾问,为整个项目的技术框架与技术细节的展开和落实提供强有力的技术保障。

免责声明:本文内容来源于网络或用户投稿,龙泉人才网仅提供信息存储空间服务,不承担相关法律责任。若收录文章侵犯到您的权益/违法违规的内容,可请联系我们删除。
https://www.lqrc.cn/a/rencai/86985.html

  • 关注微信

猜你喜欢

微信公众号