架构师之路:认证和产品沉浸

几乎每个开发人员都会问自己应该如何发展自己的技能以及选择什么发展方向:垂直 - 即成为一名经理,或水平 - 全栈。 与神话相反,对一款产品进行多年的研究并不是一种限制,而是一个有用的机会。 在这篇文章中,我们分享了后端开发人员 Alexey 的经验,他花了 6 年时间进行认证,并在这段时间里努力成为一名架构师。

架构师之路:认证和产品沉浸

谁是建筑师

IT 架构师(技术主管)是处理 IT 项目中的全局问题的高级开发人员。 他沉浸在客户的业务流程中,利用技术帮助解决客户的问题,并决定如何构建这个或那个信息系统。

这样的专业人士不仅需要了解各个学科领域,还需要了解整个过程:

  • 设置业务问题。
  • 开发,包括编程、准备、存储和数据处理。
  • 基础设施的部署和支持。
  • 测试。
  • 部署。
  • 分析和运营服务。

这意味着能够将自己置于开发生命周期中任何专家或团队的立场,从内部了解系统的当前状态,识别所犯的错误并制定目标。 有时您需要自己进行手术。

从开发人员到架构师的职业发展之路需要很长的时间——通常是几年。 为此,开发人员需要实践技能和理论知识,这可以通过国际认证来证实。

在一个项目上工作超过 5 年——例行公事还是成长机会?

几年前,我们开始为外国客户开发大型医疗 IT 系统。 这个大型项目存在一些问题:

  • 访问受限;
  • 不稳定的产品;
  • 令人难以置信的漫长的冲刺和漫长的批准。

“是时候提高你的技能了”“, - 主要开发人员之一 Alexey 做出这一决定是为了克服列出的困难并更好地了解系统。

Alexey 分享了他的经验,从哪里开始培训比较好,获得哪些证书很重要,如何以及为什么要这样做。

第一步:提高英语水平

编程语言是开发的基本组成部分,但用于通信的语言也同样重要。 尤其是在与说英语的客户沟通时!

来自实践

一个晴朗的日子,阿列克谢接到了客户那边一名员工的电话。 那时,我们的开发人员还不能拥有一堆证书——无论是在技术上,还是在管理上,还是在通信上。 也许它们没什么用——毕竟,你不需要额外的标志就可以成为一名称职的专家。 但问题还是出现了。

我们必须明白口语与书面语言截然不同。 如果您精通英语规范,但不练习听力和口语,那么我们有坏消息给您。 在这种情况下,与合作伙伴的电话交谈可能会陷入死胡同。

阿列克谢在电话中听到了一些熟悉的单词,但他同事的讲话速度太快,与音频课程中的经典发音不同,以至于她的问题的主要本质已经过去了。 出于礼貌和不愿让情况复杂化,阿列克谢很快就同意了所有的提议。

工作中还需要说有什么不愉快的发现吗? 我们的开发人员签署了一些协议,如果要约以可理解的语言提供,他绝对会故意拒绝。

在那一刻,我清楚地意识到,提高听力和口语技能是非常有必要的。 做到这一点的最佳方法是通过认证。

英语语言认证

为了改善我们医疗项目框架内的沟通,阿列克谢同时学习了多个项目。 结果,他通过了 FCE - First Certificate in English 认证。 这帮助我开始倾听客户并向他传达我的想法。

生活黑客:

避免基本的英语课程。 技能必须有针对性。 如果您需要英语进行商务交流,您应该学习它。 只是不要走极端,参加 CAE(高级英语证书)即可。 它的特点是复杂的词语和具体的表达方式,而这些在国际交流中几乎从未使用过。

架构师之路:认证和产品沉浸

第二步:整个技术堆栈的认证

最初,该项目基于 ORM 对象关系映射技术。 客户这边的开发团队为他们的创意感到自豪,因为一切都是使用先进的概念完成的,复杂而酷。

然而,生产中的问题(特别是 SQL 服务器不断冻结)并不少见。 问题的典型解决方案是重新启动服务。 客户给团队负责人打电话,说是时候重新启动了。 最后我们决定结束它。

客户想要计算出系统的性能 - 为此有必要引入分析并定期进行优化。 当时,也就是 2015 年左右,选择了 Ants Profiler 作为分析工具,但它的表现很差。 由于细节较少,很难获得有关关键代码块的信息。 Ants Profiler 开始以最详细的方式更改代码,从而使系统的功能面临风险 - 配置分析后,一切都会崩溃。 所以我们改变了我们的方法。

我们从分析统计数据开始

在分析销售统计数据时,我们发现服务器上 95% 的工作都具有 4 行的原始业务逻辑。 对于他们来说,一个 SQL 查询就足够了,而不是由具有 ORM 的业务逻辑块生成的一组完整的查询。

Alexey 提出并实现了一个存储过程,用于在没有 ORM 的情况下移动工作。 这个想法与通常的项目范式相矛盾,团队负责人对此持谨慎态度,但客户接受了一切并要求实施。 这并不奇怪,因为新方法可以将生产处理的延迟从四个小时减少到几分钟,平均减少 98 次。

尽管如此,我们还是有疑问:这是正确的决定还是个人喜好的问题? 一次意外事件动摇了人们对 C# 和 ORM 的信心,而这次意外展示了简单解决方案的全部威力。

案例二

该团队编写了一个查询来处理 ORM 范式中的数据,并根据所有规则进行编译,没有错误。 其处理时间为 2-3 分钟,这些参数似乎可以接受。 然而,使用简单选择器和视图的替代实现可以更快地提供结果 - 在 2 秒内。

很明显,是时候选择一位专家来接受整个项目堆栈的认证,以便了解所有细微差别并选择最佳方法。 阿列克谢承担了这个任务。

第一份证书

为了理解本质,Alexey 经历了 多项微软认证,涵盖了项目的整个技术栈:

  • TS:使用 Microsoft .NET Framework 4 进行 Windows 应用程序开发
  • TS:使用 Microsoft .NET Framework 4 C# 编程访问数据
  • TS:Microsoft .NET Framework 3.5 Windows 窗体应用程序开发
  • PRO:使用 Microsoft .NET Framework 3.5 设计和开发 Windows 应用程序
  • PRO:使用 Microsoft .NET Framework 设计和开发基于 Windows 的应用程序
  • TS:Microsoft .NET Framework 2.0 - 基于 Windows 的客户端开发

为了优化新项目的工作,团队得出以下结论:

  • 为了使系统正常工作,必须遵循编写代码的规则:不是缩进和注释,而是技术特征 - 数据库调用次数、服务器负载等等。
  • 应用相互冲突的概念可能会导致麻烦。 数据库的概念是集合论,而ORM是操作概念。
  • 破坏事物通常秩序的想法可能会在团队内部遇到阻力。 发展还与人际关系和表达观点的能力有关。
  • 认证拓宽了您的视野,让您了解什么可以使用,什么不能使用。

架构师之路:认证和产品沉浸

第三步:了解的不仅仅是代码

在开发大规模 IT 解决方案时,许多因素都很重要。 例如,并不是每个开发人员都会关注网络参数,但即使是其带宽也会影响业务问题的解决。

给出了理解这一点 98系列认证:

它们使您能够更广泛地看待事物,并摆脱有限的“仅代码”概念。 这些是基础知识,但它们对于更深层次地理解一切很重要。

系列 98 认证是简短的测试 - 30 分钟内 45 个问题。

第四步:流程管理

与诊所合作是一项比制作手机游戏更重要的任务。 在这里,您无法添加功能并将其投入生产 - 遵循客户的批准流程并进行大量编辑非常重要,因为人们的健康和生命受到威胁。

典型的敏捷在这个项目上并没有产生预期的结果,而且每次冲刺都持续了相当长的时间。 部署之间需要 6 个月到一年的时间。

此外,从技术上讲,不可能将十家诊所的服务流程归结为某种共同点。

为了在这种情况下更快地获得结果,开发人员需要个人责任和对流程的大规模愿景 - 这意味着持续的专注和高资质。

当专家沉浸在这个过程中时,他清楚地看到结果、原因和后果,整个画面。 这同时也是额外动力和意识的一个因素,提高解决问题和问题的能力。

凭借运行良好的基础设施、精心构建的架构和最佳代码,一个人可以承担许多流程。 然而,这并不意味着需要培养能够单独领导该项目的通用士兵。 沟通和团队合作至关重要。

在团队中,每个开发人员都明白他的同事取决于他的行为。 在开发阶段节省 5 分钟意味着可能需要额外 5 个小时的测试时间。 要理解这一点,建立沟通很重要。

在我们的项目中,Alexey 获得了掌握流程的帮助 EXIN 颁发的证书:

  • M_o_R 风险管理基础证书
  • 敏捷Scrum基金会
  • IT服务管理基础
  • EXIN商业信息管理基础
  • PRINCE2 项目管理基础证书
  • 测试工程师证书
  • 微软运营框架基金会
  • 敏捷服务项目

在 edX 上学习的课程有助于从统计和精益编程的角度看待系统,后来推动获得 建筑师证书:

  • 精益生产
  • 六个西格玛:分析,改进,控制
  • 六西格码:定义和度量

根据六西格码原理,统计控制以极高的概率确保高质量的结果。

提高水平后,开发人员通常会得出以下结论:

  • 不要努力工作,但要高效工作。
  • 不要因为追逐外在而让你的生活变得复杂:花哨的技术并不一定能更好地解决问题。
  • 与周期各个阶段的专家交朋友,找出他们的痛点。 架构师必须掌握以下流程:识别问题、设置问题、设计网络拓扑、开发、测试、支持、运营。
  • 检查里里外外的每一个功能。
  • 碰巧IT流程与业务流程不对应,必须处理这个问题。

架构师之路:认证和产品沉浸

第五步:通过大数据的视角理解架构

在项目期间,我们处理了相当大的数据库。 至少在某个时刻之前看起来是这样。 当 Alexey 开始在 edX 上研究大数据时,发现该项目上的 1,5 Tb 是一个小型数据库。 严重的规模 - 从 10 Tb 开始,并且需要其他方法。

认证的下一步是大数据课程。 他帮助理解数据流的组织并加快生产运营。 并且还要注意小工具,例如开始使用Excel来解决单个微任务。

证书:
微软专业计划:大数据证书

架构师之路:认证和产品沉浸

第六步:从开发人员到架构师

在收到所有列出的证书后,虽然还是一名开发人员,Alexey 开始明白收到的信息具有高度抽象性,这还不错。

对流程的大规模愿景可以提升架构师的水平,这是最高级别的认证之一。

为了寻求建筑师认证,阿列克谢来到了 认证软件架构师 - Microsoft 平台 由桑德布拉德和桑德布拉德制作。 这是微软认可的一个计划,其开发始于14年前,并与公司总部和瑞典办事处合作。 它涵盖了.NET Framework、需求收集、信息流管理和许多其他高级主题,被认为是架构师技能的有力证明。

该计划中有一些课程可供学习。 认证将知识系统化,让我们进入了一个新的发展阶段——从开发人员到架构师。

架构师之路:认证和产品沉浸

总结

正如 Alexey 指出的,在使用大型 IT 系统时,重要的是要记住,编程不是一种昂贵的娱乐,而是解决业务问题的工具。 当面临这样或那样的挑战时,你肯定需要写下商业价值,这样项目才不会走进死胡同。

架构师对编程及其基本组件有特殊的看法:

  • 创建和/或维护数据流
  • 从数据流中提取信息流
  • 从信息流中提取价值流
  • 价值流货币化

如果你通过架构师的眼光来看待一个项目,你需要从最后开始:制定价值,然后通过数据流走向它。

建筑师遵循开发规则,对项目具有全球视野。 通过练习和你自己的错误几乎不可能达到这一目标——或者更确切地说,有可能,但需要很长时间。 认证可以让您拓宽视野,了解每个问题的完整背景,熟悉数千名专业人士的经验,并培养有效解决问题的技能。

迄今为止,我们已经与上述医疗系统合作了五年多,并取得了显着的改进。 在此期间,Alexey 通过了 20 多项认证考试:

  1. TS:使用 Microsoft .NET Framework 4 进行 Windows 应用程序开发
  2. TS:使用 Microsoft .NET Framework 4 C# 编程访问数据
  3. TS:Microsoft .NET Framework 3.5 Windows 窗体应用程序开发
  4. PRO:使用 Microsoft .NET Framework 3.5 设计和开发 Windows 应用程序
  5. PRO:使用 Microsoft .NET Framework 设计和开发基于 Windows 的应用程序
  6. TS:Microsoft .NET Framework 2.0 - 基于 Windows 的客户端开发
  7. 98-361:软件开发基础知识
  8. 98-364:数据库基础知识
  9. M_o_R 风险管理基础证书
  10. 敏捷Scrum基金会
  11. IT服务管理基础
  12. EXIN商业信息管理基础
  13. PRINCE2 项目管理基础证书
  14. 测试工程师证书
  15. 微软运营框架基金会
  16. 敏捷服务项目
  17. 精益生产
  18. 六个西格玛:分析,改进,控制
  19. 六西格码:定义和度量
  20. 微软专业计划:大数据证书
  21. 认证软件架构师 - Microsoft 平台

架构师之路:认证和产品沉浸

通过所有考试后,Alexey 从首席开发人员晋升为项目架构师。 同时,认证已成为专业发展和在客户眼中建立声誉的有力工具。

“认证内存”有助于访问需要控制和细化的各个关键流程。 通常,IT 解决方案的欧洲客户高度重视经过认证的专家,并准备给予他们更多的行动自由。

感谢您的关注! 我们希望这篇文章对您有用。

来源: habr.com

添加评论