Advertisement

从工程师到系统架构设计师【成长之路】

阅读量:

成为系统架构设计师的关键是要培养自己的 判断力、执行力和创新力。

判断力的本质在于能够准确识别系统的关键组成部分及其相互作用机制;在面对复杂系统时, 人们通常能够清晰地识别出系统存在的潜在风险与敏感节点;这种能力不仅体现在对现有系统状态的评估上, 更能在预测与应对各种潜在挑战时发挥重要作用

二、执行力是能够使用合适的方案解决复杂度问题;

三、创新力是能够创造新的解决方案解决复杂度问题。

因此成为系统架构设计师者需不断修炼自身之内在修养,并非一蹴而就之事而是需要持续的努力与自我提升的过程这些内在修养主要源自个人的经验积累开阔的眼界以及深入的思维能力因此若想从一名普通的工程师成长为专业的体系架构师就需要遵循三条基本原则:一是要不断积聚专业领域的实战经验二是要有广纳百川的开放心态三是要有独到的见解与创新能力

从工程师到架构设计师的成长过程:

1.工程师阶段【技术青铜】

为了提升自身技术能力成为一名专业工程师, 该人员需参与相关领域的实践工作一至三年时间

其主要特征在于"在指导者的帮助下编写代码";其中的"指导者"通常是"高级工程师"或"技术专家"。

资深技术人员系统地进行需求分析、深入讨论并制定详细的设计方案;技术员负责代码编写

完成任务时, 高级工程师或技术专家会负责被指导完成编码工作. 工程师阶段应该由其承担起作为'基石'的角色

技能积累阶段主要以积累和掌握基础知识为主, 包括学习与应用编程语言, 掌握基础数据结构的概念与操作, 熟悉开发所使用的软硬件环境配置, 学习操作系统的使用与管理技巧以及相关的数值计算等核心内容

据库以及相关软件开发流程等。

2.高级工程师阶段【技术钻石】

完成从工程师到高级工程师的晋升通常需要3至5年的时间。其主要特点体现在能够自主开展项目开发工作,同时具备完整的需求分析和制定能力

该系统实现了分析、方案设计和编码实现的全过程自动化,在需求分析与方案设计部分已涵盖了'判断'与'选择'的关键环节,并对后续的'编码实现'阶段进行了优化整合。

范围相对来说有限一些,在现有架构下进行设计。高级工程师主要需要积累方案设计经验

验”,简单来说就是业务当前用到的相关技术的设计经验。

在高级工程师阶段相比工程师阶段有两个 典型的差异 :对比而言,在专业深度上和应用范围上有着显著的区别。

How (方式、方法), 那么对于高级工程师而言, 掌握'Why'显得尤为重要。比如Java中的各种数据结构实现的核心原理, 了解这些核心原理有助于全面把握其优缺点及适用场景, 因此在具体方案设计时能够合理地选择最适合的技术。A: 理论基础...

三套典型的数据库表设计范式、遵循基于面向对象的设计模式体系、遵循SOLID软件架构原则以及构建现代缓存系统的整体架构理论(包含关键组件如缓存穿透机制、缓存雪崩问题解决方案以及热点数据优先处理策略)

3.技术专家阶段--【技术星耀】

成为技术专家可能需要4至8年时间。其典型特征是成为某一领域内的专家。简单来说就是说只要掌握某一领域的问题和技术专家就可以解决这些问题。例如:Java开发专家、嵌入式开发专家等。需要注意的是这里的"领域"不宜过于狭窄例如可以说"Java开发专家"但不能说"Java多线程专家"或"Java JDBC专家"因为这些领域太具体了。相比之下高级工程师与技术专家的主要区别在于:高级工程师主要是在现有的架构框架下完成设计 **而技术专家则会根据具体需求对架构进行修改、扩展和优化。因此要从高级工程师成长为技术专家最核心的步骤就是拓展自己的技术深度因为一个特定领域的专业知识必然涉及大量相关的技术点。拓展技术深度并不意味着仅仅了解一些技术术语而是要深入理解每个:

(1)、技术的原理(2) 、优缺点以及(3)、应用场景

4.系统架构设计师(初级)--【技术王者】

大约需时5至8年才能成长为初级架构设计师。其核心能力体现在能够自主构建整个系统的架构设计。

"构建一个新系统的开发过程"可以从零开始逐步发展至一整套完整体系的构建过程,也可以通过升级现有系统的现有架构,完成从1.0版本到2.0版本的整体转型过程。初级 architect designer主要负责那些系统复杂度较低的项目,例如后端管理系统,某个业务模块内部的小型子系统等。 初级 architect designer与 technical expert之间的 主要区别在于:前者遵循科学的设计理念,严格遵循完善的架构设计方法论来进行规划与实施,而后者则更多依赖于个人经验和对以往项目的总结来完成相关工作 。 简而言之,即使面对同样的设计方案,初级 architect designer能够清晰地阐述其背后的设计理念与决策依据,而 technical expert则往往是因为自身曾经历过类似的设计过程,或者观察到他人采用过类似的方案才得以选择当前的设计方案作为实施手段。 在实际工作中,两者之间的界限并不十分明显:许多 technical expert实际上已经具备了初级 architect designer的工作能力,因为当处理的是中等复杂度的项目时,整个系统的规划难度相对较小,采用不同的备用方案最终都可以较为理想地实现目标。

在职业生涯中不断积累经验成为了一位初级架构设计师,在这过程中核心在于建立一套系统的架构设计思维体系

形成自己的架构设计方法论的主要手段有:

(1)、系统化掌握架构设计的方法论,并非仅仅局限于订阅付费内容或阅读电子资源;而应深入探究成熟开源项目的架构实现;

(2)基于架构设计方法论框架,在深入梳理和归纳团队及公司各系统架构设计的优缺点后, 进一步探讨其重构方案

5.系统架构设计师(中级)--【技术天才】

成长成为中级架构设计师约需8至10年其核心能力表现为 "能够完成复杂系统的架构设计"

规划涵盖高性能、高可用性以及具有可扩展性和海量存储能力的复杂系统如前所述,在设计过程中预期将吸引100位开发者参与

涉及相关的业务系统等。 中级架构设计师与初级架构设计师的主要区别在于其工作内容在系统复杂程度上的差异,并且中级 architect主要负责协调团队资源。

构造设计师面对的系统的复杂性相较于初级架构设计师要更高一些。例如,在开源项目中, 初级架构设计师可能会引入一些尚未完全成熟的先进技术.

通过参与某个开源项目即可完成架构设计;而中级架构设计师可能会发现其实没有哪个开源项目是合适的。

比较合适的是,并非总是能够自行构建一个全新的系统或平台。然而实际上许多开源项目的产生往往都是由于这一机制

成为中级架构设计师需具备深入的技术理解与系统性的理论学习的积累

6.系统架构设计师(高级)--【技术天才中的王者】

成为一名高级架构设计师通常需要至少10年以上的积累。
其核心特征就是能够"创造新的体系结构"。
如Google的分布式存储框架、MapReduce计算模型以及列式数据库等都是开创性的。
基于成熟的虚拟化技术背景,在Docker的帮助下实现了容器化的革命。
相较于中级 architect的核心能力...

最后,“10000小时定律”

总体而言,在专业领域内提升技能或知识是一个长期且系统的过程。广为人知的是"10000小时定律"其核心观点是通过持续不断的实践和积累来实现职业 mastery。

领域顶尖的专业人才对专业技能的要求非常高,在长期坚持的训练过程中需要投入大约1万小时的时间。学习小提琴、足球、国际象棋以及围棋等都是很好的实践案例。

各个领域全部均遵循这一规律,在技术人员的成长过程中也同样地也在基本上遵循这一规律。系统架构设计师

的技术成长其实是技术人员对技术的热忱以及持续投入精力的关键因素之一

和总结等。

依照标准要求,请问您目前的技术段位处于哪一个区间?关于2024年的发展目标又有何规划呢?希望本文能够为您提供技术方向与发展目标的深入探讨!

全部评论 (0)

还没有任何评论哟~