首页 > 编程知识 正文

如何成为架构师,人才盘点能力模型图

时间:2023-05-04 08:25:17 阅读:24140 作者:1517

成为优秀的架构师是大多数初中级工程师的阶段性目标。 优秀的架构师往往是编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力、团队管理能力

这些能力的关系大致如下图所示。编程能力、调试能力和编译部署能力属于最基础的能力。不能精通掌握这三种能力,很难在性能优化能力和业务架构能力方面有所成就具备一定的性能优化能力和业务体系结构能力,在网上运输能力和项目管理能力方面具有优势。 团队管理能力是最好的能力,对项目管理能力的依赖度很高。

编程能力是工程师最基础的能力和必备的技能。 其本质是翻译能力,将业务需求翻译成机器能理解的语言。

有很多书可以提高编程能力。 熟悉面向对象和设计模式是高效编程的基础。 初级工程师应该写很多代码,仔细看代码。 让axdqyg制作代码审查也是提高编程水平的捷径。

调试能力程序代码是系统的静态格式,调试的目的是确认程序的运行时状态,验证和优化系统。 本质上,工程师们可以通过继续调试来持续增强根据静态代码预测运行状态的能力。 所以调试能力也是提高工程师编程能力的重要手段。 很久以前,有“调试能力有多少,编程能力就有多高”的传说。 但是,现在很多编辑器都很强大,调试能力阈值大幅下降。

调试能力是项目能否按时、高质量提交的关键。 即使是有点复杂的项目,大多数工程师也不能一次准确完成。 大型项目通过不断调试进行优化和纠错。 所以调试能力是不可缺少的能力。

多写程序、解决错误、多教axdqyg是提高调试能力的重要手段。

编译部署功能并在线部署可执行文件是系统在线化的最后一部分。 随着SOA体系结构的普及和业务复杂性的增加,本地编译和运行无法完全模拟系统的在线运行,因为大多数系统都是完整业务的一部分。 为了快速验证所编写程序的正确性,必须进行编译并在线部署。 因此,编译部署能力是必需的技能。

运行许多根错的子系统是一大挑战。 由于SOA体系结构的普及以及大量编译和部署工具的发展,编译部署的门槛大大降低了。 在基于APP应用层进行开发的公司中,很少扮演编译工程师的角色。 但是,对于初级工程师来说,部署编译仍然不是一件容易的事。

使用量是衡量性能优化功能系统成功的重要指标之一。 随着使用量的增加和业务复杂性的增加,大多数系统最终都会面临性能问题。性能优化能力是一个综合能力因为:

影响系统性能的因素有很多,包括数据结构、操作系统、虚拟机、CPU、存储和网络。 为了调整系统的性能,架构师需要掌握所有相关的技术。 熟悉性能优化意味着深入了解可用性、可靠性、一致性、可维护性和可扩展性等本质。 性能优化与业务密切相关,最终的手段往往是权衡的结果。 所以,性能的优化必须熟悉妥协的艺术。 可以说,性能优化能力是工程师们成长过程中各种技能开始融会贯通的一个标志对此,请参考以前的博客文章《一般性能优化战略总结》。 市场上还有很多与性能优化相关的书籍,仅供参考。 多阅读有关优化开源框架性能的文档和代码也是一种好方法。 解决在线性能问题也是提高性能优化的关键。 如果有机会,学习axdqyg并分析性能优化解决方案的案例也是快速提高性能优化能力的手段。

如果说线上运维能力、性能优化能力体现了架构师的静态思维能力,那么线上运维能力面临的考验就是动态反应能力。 残酷的现实是,无论程序多么完美,bug都是永远存在的。 同时,许多架构师需要负责职务越高、责任越大、非常重要的在线系统。 网上运输能力是优秀架构师的必备技能,因为如果不能提前预防和快速解决网络故障,损失可能难以想象。

为了快速响应在线故障,标准化的监控、上报、升级和基本的响应机制当然很重要。通过所观察到的现象,快速定位、缓解以及解决相关症状也相当关键这要求设计人员对故障系统的业务、技术具有全面的解读能力。 解决在线故障的架构师就像加入F1的驱动程序。 赛车手必须了解自己、赛车、对手、伙伴、天气、地点等所有因素,迅速做出决策,不断调整。 架构师必须了解、快速决策、快速协调所有技术细节、业务细节、处理规范、伙伴等诸多因素。

网上运输本质上是一个强化学习的过程。 很多能力可以通过读书、查阅资料来达到,但提高网上运输能力需要很多实践。

业务架构能力工程师抱怨产品经理的故事屡见不鲜。 抱怨最多的主要原因来自需求的频繁变更。 需求变更主要有两个来源。 第一个原因是市场改变或战略调整,第二个原因是虚拟需求。 第一个原因是工程师和产品经理都只能无奈地接受。 优秀的架构师必须有减少第二个原因导致的需求变化的概率。

虚拟需求的产生有两个理由:

第一个原因是需求传达变形。 从信息论的角度来说,一切交流都是编码和解码的过程。 典型的需求需要经过至少三次编码和解码过程,从用户到产品经理,最后到开发工程师。 每次信息传递都会产生损失和噪音,因此开发的产品可能完全不符合需求。 又来了

,需求方和产品经理在需求可行性、系统可靠性,开发成本控制方面的把控比较弱,也会导致需求变形。第二个原因就是需求方完全没有想好自己的需求。

优秀的架构师应该具备辨别真伪需求的能力。应该花时间去了解客户的真实业务场景,具备较强的业务抽象能力,洞悉客户的真实需求。系统的真正实施方是工程师,在明确客户真实需求后,高明的架构师应该具备准确判断项目对可行性、可靠性、可用性等方面的要求,并能具备成本意识。最后,由于需求与在线系统的紧耦合关系,掌握在线系统的各种细节也是成功的业务架构的关键。随着级别的提升,工程师所面对的需求会越来越抽象。承接抽象需求,提供抽象架构是架构师走向卓越的必经之途

市场上有一些关于如何成为架构师的书,大家可以参考。但是架构能力的提升,实践可能是更重要的方式。业务架构师应该关注客户的痛点而不是PRD文档,应该深入关注真实业务。掌握现存系统的大量技术和业务细节也是业务架构师的必备知识

项目管理能力

作为工业时代的产物,分工合作融入在互联网项目基因里面。架构师也需要负责几个重大项目才能给自己正名。以架构师角色去管理项目,业务架构能力当然是必备技能。此外,人员管理和成本控制意识也非常重要。

项目管理还意味着要有一个大心脏。重大项目涉及技术攻关、人员变动、需求更改等众多可变因素。面临各种变化,还要在确保目标顺利达成,需要较强的抗压能力

人员管理需要注意的方面包括:知人善用,优化关系,简化沟通,坚持真理。

知人善用意味着架构师需要了解每个参与者的硬技能和软素质。同时,关注团队成员在项目过程中的表现,按能分配。优化关系意味着管理团队的情绪,毕竟项目的核心是团队,有士气的团队才能高效达成目标。简化沟通意味着快速决策,该妥协的时候妥协,权责分明。坚持真理意味着顶住压力,在原则性问题上绝不退步。

成本控制意味着对项目进行精细化管理,需要遵循如下几个原则:

以终为始、确定里程碑。为了达成目标,所有的计划必须以终为始来制定。将大项目分解成几个小阶段,控制每个阶段的里程碑可以大大降低项目失败的风险。把控关键路径和关键项目。按照关键路径管理理论(CPM)的要求,架构师需要确定每个子项目的关键路径,确定其最早和最晚启动时间。同时,架构师需要关注那些可能会导致项目整体延期的关键节点,并集中力量攻破。掌控团队成员的张弛度。大项目持续时间会比较长,也包含不同工种。项目实施是一个不断变化的动态过程,在这个过程中不是整个周期都很紧张,不是所有的工种都一样忙。优秀的架构师必须要具备精细阅读整体项目以及快速反应和实时调整的能力。这不仅仅可以大大降低项目成本,还可以提高产出质量和团队满意度。总体来说,“前紧后松”是项目管理的一个重要原则。

项目管理方面的书籍很多。但是,提高业务架构能力同样重要。积极参与大项目并观察别人管理项目的方式也是非常重要的提升手段。

团队管理能力

不想做CTO的工程师不是一个好的架构师。走向技术管理应该是工程师的一个主流职业规划。团队管理的一个核心能力就是规划能力,这包括项目规划和人员规划。良好的规划需要遵循如下原则:

规划是利益的博弈。良好的规划上面对得起老板,中间对得起自己,下面对得起团队。在三者利益者寻找平衡点,实现多方共赢考验着管理者的智慧和精细拿捏的能力。任何规划都比没有规划好。没有规划的团队就是没头的苍蝇,不符合所有人的利益。规划不是本本主义。市场在变,团队在变,规划也不应该一成不变。客户至上的是项目规划的出发点。就人员规划而言,规划需要考量团队成员的能力、绩效、成长等多方面的因素。

市场上有很多规划管理方面的书籍,值得阅读。最优化理论虽然是技术书籍,但它是规划的理论基础,所以不妨多看看翻阅一下。从自我规划开始,多多学习别人的规划也是规划能力提升的重要手段。

总结

因为受邀去做一个关于“一边工作,一边学习”的分享,作者花了一段时间去思考和汇总学习方法论,接着每天不断地采集谣言并尝试解惑,再根据个人经验绘制出优秀架构师的能力模型,最后汇集成文。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。