优秀软件架构师成长之路

Posted rayylee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优秀软件架构师成长之路相关的知识,希望对你有一定的参考价值。

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

1. 在软件工程师职业发展的各个阶段中,架构师担任着怎样的定位?

• lv.1 程序员 
主要实现软件功能、编写代码、处理漏洞等。经过沉淀,程序员可以晋升为高级程序员,负责某些模块具体和复杂功能的设计和开发,并编写核心代码。

• lv.2 技术Leader 
这个阶段,可能负责一个小团队,关注技术管理,如交付效率和交付质量,同时关注任务评估,最大化利用资源。此外,他们还注重代码质量(如编码规范)、核心模块的架构设计、项目管理和团队管理等。

• lv.3 技术总监
负责一个技术方向或者产品线,需要搭建企业的某个技术平台,建立相应的研发体系,并领导技术团队进行持续交付,管理产品线,打造明星产品,并建立技术壁垒,形成技术竞争力。

• lv.4 架构师
注重架构设计,包括企业架构的实现和相关评审。架构师主要进行企业架构的规划和实现,并且根据业务规划和应用场景进行前瞻性的建模,同时识别非功能性需求,如性能、可扩展性、安全性、高可用及易部署性等,还需要进行架构治理,识别架构缺陷,提出重构建议并推动执行。	

• lv.5 CTO
企业内负责技术的最高管理者,负责提供技术产品战略规划,提升企业技术竞争力,并且通过技术赋能业务。他们有敏锐的商业洞察力,进行深入的产业研究,参与企业战略规划,并思考未来3~5年的技术发展趋势及技术发展给企业带来的机遇和挑战,为企业提前布局,同时建立企业的架构治理体系及进行组织文化建设。

2. 架构师的特质和需要具备的技能

架构师在程序员的职业生涯中处于非常高的位置,其也是整个企业数字化转型中的核心。

成为架构师没有捷径,除了一些架构师的特质和需要具备的技能,我们还可以在工作和学习过程中重点培养和关注以下几点。

3.架构师能力的培养

3.1 全局视野

架构师在做决策时,需要更多地跳出当前组织、局部领域,从全局视角、用户视角、业务视角、企业战略视角出发。具备全局视野是架构师的核心能力,比如在开展会员业务时,架构师不仅要做好会员的基础管理,还要关注与会员相关的交易、商品、店铺、导购等,了解整体链路,从更高层次看待问题,定义场景及进行架构规划。

3.2 开放心态

架构的本质是权衡和取舍,既需要更多的知识和输入,也需要和多种角色交流。在这个过程中,架构师的心态要更加开放,充分与人交流、沟通,既要关注当下痛点也要符合未来的发展,既要保留未来的可扩展性也要避免过度设计。其实,开放并不意味着一味地妥协,需要坚持基本的架构原则。

3.3 保持前瞻性

前瞻性指的是架构师需要尽可能多对未来考虑一些,如同下棋一样,往往棋手会多考虑几步棋。这就需要架构师多从不同领域、不同视角、不同的上下游和合作伙伴进行沟通,更多地了解业务战略和技术趋势,不断学习,关注业界动态,从实战角度,提高洞察能力,从架构设计层面更多地考虑扩展性及灵活性。

3.4 解决问题

架构师应该是问题的终结者,他们需要把解决复杂问题作为自己的使命,包括电商领域的高并发、高可用问题,业务角度的库存挤压和订单寻源问题等。这就要求架构师对于问题的发现、定义和分析等有清晰的脉络,并可以结合多方资源最终解决问题。

3.5 能拿结果

架构师并不是画几张图就可以了,而是需要将企业架构落到实处,帮助业务和技术人员拿到结果。在这个过程中,需要架构师具备很强的推动和沟通能力,有鲜明的观点,能说服他人。架构师需要换位思考,从对方的KPI角度出发,找到共识点,同时需要推动项目落地,在关键时刻“救火”。

4. 架构师的关注重点

在实践过程中,架构师需要充分分析周边的环境,建大图、定方向、找打法、冲业绩,以理论与实践相结合为原则,步步推进。

架构师一方面要协助企业领导做出正确决策,另一方面要推动项目落地,建议架构师重点关注以下实践能力。

•  业务方面 :业务愿景、关键指标、组织架构、业务现状、业务流程、风险控制等。

•  团队方面 :团队使命、价值观、人才梯度、角色分工、团队协作方式、组织文化等。

•  个人定位 :团队期望、架构目标、个人规划、能力匹配、资源匹配等。

•  技术功底 :保持编码、参与社区、团队CodeReview,技术是根本。

•  技术体系 :技术现状、技术风险、技术债务、技术趋势、云原生技术体系、研发体系、质量保障、稳定性体系等。

•  应用建模 :业务领域知识、领域建模、领域服务、服务管理等。

•  项目管理 :目标管理、里程碑、计划管理、风险预警、协同与沟通、项目复盘等。

5.有关技术管理的几点建议

一般架构师也会承担一定的组织管理工作,有些企业的架构师需要带技术团队,担任技术Leader的角色,这里就技术管理提出几点建议。

架构师的工作涉及团队建设,毕竟架构师一个人是很难完成架构设计和落地的。一个好的架构师就像一座灯塔,会照亮和影响整个团队。另外,架构师与团队成员之间的充分交流和对焦是非常重要的,通过交流可以达到目标的共识,有效地处理资源上的冲突等,这些都非常考验架构师的技术管理能力。

有关技术管理的几点建议如下所示:

  • 因材施教,根据不同人员的优势、劣势和意愿,合理安排工作,激发他们的主动性。
  • 打造良好的团队氛围,比如开展团建、下午茶、知识分享等活动。
  • 为团队提供清晰的业务大图和技术大图的解读。
  • 制定一致的工作原则,明确团队要什么、不要什么。
  • 鼓励创新、独立思考,勇于承担责任。
  • 勤与团队成员进行一对一的交流、KPI讨论和复盘,给出具体的建议和方向。
  • 做好招聘,注重Coding能力,注重技术、架构、业务三位一体,注重文化认同等。
  • 做好团队的目标管理,建议使用OKR来激发团队成员的主动性。
  • 鼓励团队多与周边团队(包括客户、上下游、业务方等)协同。
  • 建立团队文化:工程文化、DevOps文化、Ownership文化、客户第一文化等。

本文节选自王思轩博士的著作《数字化转型架构:方法论与云原生实践》一书。

以上是关于优秀软件架构师成长之路的主要内容,如果未能解决你的问题,请参考以下文章

怎样成长为优秀的软件架构师?

架构师成长之路:到底啥是架构设计?该如何理解架构设计?

程序员突破内卷大法:聊聊软件架构师成长之路(干货系列,说人话接地气)

架构设计杂谈001-软件开发人员的成长之路

架构师成长之路(内附推荐书籍)

软件架构师成长之路: Master Plan for becoming a Software Architect