在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
架构师对于许多程序员来讲,是职业发展的终极目标。但是对于架构师这一岗位,大家真正了解多少呢?关于架构师的工作职责包括很多方面,比如产品实现、模块分解、代码重构、技术选型和性能优化等等。大家只有对架构师的工作职责有一个系统全面的把握和理解,才能有可能成为一名优秀的架构师。下面我们从架构师的工作职责出发,来帮助大家进一步理解架构师这一重要角色。
1、架构师的日常工作内容:
(1)开会沟通讨论:这个会可能是需求会,也有可能是设计评审会等。因为架构师需要针对软件需求中的业务场景和流程,功能性需求进行功能性架构设计。因此,沟通和讨论要占工作的很大一部分。
(2)技术架构设计:当然如果不是资深架构或技术总监,那么未必会设计一套全新的架构,往往是在现有基础上改进,比如做扩容,分库分表,上新的日志监控系统。这方面,架构师往往会做个案例,比如在一台linux上搭个日志系统,把步骤写清楚,让开发依样画葫芦。对于资深架构而言,可能得重头开始设计,或者作出调整技术组件等的决定,这一般也先在部分系统或部分机器上做试验。
(3)解决技术问题:这些问题未必是架构级别的,但只要是高级开发解决不了的问题,架构一般都得上,谁让架构是大牛呢?如果是架构组件方的问题,比如配置或部署方面的问题,更是架构师职责以内的工作内容。
2、架构师的主要工作职责:
(1)产品实现:在接到产品设计需求之后,架构师要依据对原定架构意图的理解去实现各项功能。
(2)模块分解:在项目开发过程中,架构师要将完整的系统拆分为子系统和组件等模块,形成不同的逻辑层或服务,确定各层的接口、层与层相互之间的关系,对整个系统分层进行“纵向”分解,对同一逻辑层分块进行“横向”分解。
(3)代码重构:重构是对一个项目系统内部的结构性调整,在系统原有的功能的前提下,提高程序的可理解性,可行性,降低修改这个系统的成本,从而提升程序的运行性能。
(4)技术选型:通过模块分解,最终形成了软件的整体架构,依据整体架构需要进行技术选型。
(5)性能优化:在整个项目研发过程中,架构师还需要做好系统的性能优化。当然前期不用考虑性能优化,可以多做一些编码级别的优化。还有做好日志的监控以及各种异常的处理。
3、架构师的核心能力:
(1)编码能力:架构师要和开发团队一起,进行编码,可能架构师不一定细究到任何细节,常见的实践是,系统最困难最核心最关键的部分往往由架构师亲自操刀。因此编码能力对于软件架构师来说是必备的,如果不是写过N年代码的优秀程序员,一定不是好的架构师。
(2)理解业务:架构师需要理解业务的基础上,转换可被研发理解的实现方案,因此业务理解能力是架构师的必备技能。通常来说一个资深的业务架构师,对业务有足够的敏感度和深入的认知和积累,能够清楚地知道自己的设计能给公司带来多大的业务影响,应该能大概预判业务未来的发展趋势,以便在系统的可扩展性上留好一定的空间。
(3)架构能力:架构是软件架构师洞察内在结构、原则、规律与逻辑的过程,架构师要做到清晰理解系统,以及简洁描述,这也可以说是分析整合的能力。
(4)风险评估:架构师与技术高手的区别在于,架构师不仅局限于如何调用、如何并发等架构细节,还跳出三界,考虑未来问题和潜在风险的应对之道。
(5)领导统筹:架构师参与项目开发的全过程中,需要经历确认需求、系统分解、架构设计、技术选型、制定技术规格说明、系统实现、集成测试和部署各个阶段,架构师与各部门沟通交流的领导能力就显得尤为重要。
如理解架构师的工作职责?简单来讲,就是既要掌控整个项目的研发又要解决一些具体的技术问题。因此,毫不夸张地说,架构师是一个项目开发过程的灵魂人物。架构师的能力要求使得成为架构师的道路十分困难,因此除了在日常的工作中不断积累经验,还有额外抽出时间来学习,毕竟高级开发的职位做的再好也不能成为架构师。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
未来高薪职业有哪些?选择什么职业发展前景好?
未来高薪职业有哪些?选择什么职业发展前景好?互联网行业正在改变着越来越多的传统行业对人才的需求巨大,使得这两年互联网企业的涨薪速度曲线几近陡直。在一线城市以BAT为代表互联网企业给应届毕业生的起薪并不高,但只要工作拼命能力出众在入职后2~3年里就很容易拿到10万元以上的年薪。接下来我们一起看下未来高薪职业以及这些职业发展前景如何。
8801
2019-08-05 14:53:58
少儿编程教师适合哪些人做?需要具备什么能力?
少儿编程教师适合哪些人做?需要具备什么能力?严格上来讲只要是对孩子有爱心,愿意从事少儿教育行业,就适合做少儿编程教师。可能一般人会认为,少儿编程教师需要具备极强的编程能力。其实不然,少儿编程教师只需要基本掌握编程语言就行了,难度要求并不大,因为对孩子的培训主要是集中在编程思维的养成上,而不是真的教孩子编写代码。
15590
2019-09-19 19:13:55
互联网行业四大高薪岗位分析
众所周知,互联网行业一直都是高薪岗位的代名词,但是许多人对于互联网有哪些岗位还依旧搞不清楚。因此,本文将为大家好好总结一下互联网行业的四大核心岗位,即技术、设计、运营和产品。具体内容包括这些岗位的入门门槛、工作内容、薪资待遇以及发展前景。大家可以在充分了解这些高薪岗位的基础上,选择最适合自己发展的岗位。
7188
2020-04-08 15:32:31
程序员如何提升自己的核心竞争力?
在全民开始学习编程的热潮中,编程越来越成为一项普遍的技能。而且在最近经济形势不容乐观的那前提下,许多程序员在工作中承受着越来越大的压力和危机的同时,也不免开始担心自己的职业发展。那么在当下想要成为别人不可替代的存在,程序员应该如何提升自己的核心竞争力呢?
5807
2020-04-22 11:15:40
为什么移动设备的开源解决方案这么少?
众所周知,我们如今处在一个开源的时代。无论是从 Web 技术和编程语言,还是操作系统,我们可以找到任何东西的开源来实现类似效果。但移动设备明显是一个例外,它的开源解决方案很少。一位从事开源技术的微软软件工程师也曾指出:开源面对移动设备时,显得心有余而力不足。
3434
2021-11-03 18:45:55