架构师的方式:认证和产品浸入

几乎每个开发人员都在问他应该如何发展自己的技能以及应该选择哪种增长方向:纵向(即成为经理)或横向(全栈)。 与神话相反,在一种产品上进行多年的工作不是一个限制,而是一个有用的机会。 在本文中,我们分享了后端开发人员Alexei的经验,他已经进行了6年的认证,并在此期间前往了建筑师。



谁是建筑师?


IT架构师(技术领导力)是一位高级开发人员,负责处理IT项目中的全球性问题。 他致力于客户的业务流程,并借助技术帮助解决他的问题,并确定如何安排该信息系统。

这样的专业人员不仅需要了解各个主题领域,而且还需要了解整个过程:

  • 设置业务任务。
  • 开发,包括数据的编程,准备,存储和处理。
  • 基础架构的部署和支持。
  • 测试。
  • 部署。
  • 分析和维护。

这意味着可以在开发生命周期中将自己置于任何专家或团队的位置,可以从内部了解系统的当前状态,识别所犯的错误,制定目标。 有时-亲自进行手术干预。

从开发人员到建筑师的专业发展道路需要很长时间-通常是几年。 为此,开发人员既需要实践技能也需要理论知识,这可以通过国际认证来确认。

一个项目超过5年-是日常工作还是增长机会?


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

  • 访问受限;
  • 不稳定的产品
  • 令人难以置信的冲刺和长时间的协调。

领先的开发人员之一Alexei做出了这个决定,以克服这些困难并更好地理解系统,“现在是升级资格的时候了。

Alexey分享了他如何开始培训,获得什么证书很重要,如何以及为什么进行培训的经验。

第一步:升级英文


编程语言是开发的基本组成部分,但交流语言同样重要。 特别是在与说英语的客户交流中!
从实践

晴天,来自客户的一名员工叫Alexey。 然后,我们的开发人员还无法拥有大量的证书-无论是技术,管理还是通讯。 也许它们不会有用-因为您可以成为一名称职的专家,而无需额外的权限。 但是问题仍然出现。

您必须了解口头语言与书面语言完全不同。 如果您精通英语,但是不练习听和说,那么对您来说,这是个坏消息。 在这种情况下,与合作伙伴的电话交谈可能会导致死胡同。

阿列克谢在接听电话时听到了一些熟悉的单词,但这位同事的讲话是如此之快,而且与音频课程中的经典发音不同,以至于她的问题的主要本质在某个地方消失了。 出于礼貌和不愿使局势复杂化,亚历克斯迅速同意了所有建议。

不用说,在工作过程中发现了不愉快的发现? 如果提案以明确的语言提出,我们的开发人员将接受他绝对会自觉拒绝的内容。

在那一刻,很明显,提高听,说技能是必要的。 最好的方法是通过认证。

英文认证


为了在我们的医学项目框架内改善交流,亚历克斯立即在几个程序中进行了研究。 结果,他通过了FCE认证-英文第一证书。 这有助于开始听到客户并将他们的想法传达给他。
Lifehack:

避免使用基本的英语培训课程。 技能必须有针对性。 如果您需要英语进行商务交流-您需要接受英语。 只是不要极端地接受CAE(高级英语证书)。 它的特点是复杂的单词,几乎是国际交流中从未使用过的特定表达方式。



第二步:整个技术体系的认证


最初,该项目基于对象关系映射ORM技术。 客户开发团队为自己的聪明才智感到自豪,因为所有事情都是使用高级概念完成的,既困难又酷。

尽管如此,产品上的问题(尤其是不断冻结的SQL Server)并不少见。 指出这一问题的典型解决方案是重新启动服务。 客户致电团队负责人,并说是时候重新启动了。 最后,我们决定结束它。

客户想要确定系统的性能-为此,有必要进行性能分析并定期进行优化。 那时,大约在2015年,Ants Profiler被选为剖析工具,但显示不佳。 很少细节,就很难获得有关关键代码块的信息。 在最大的细节上,Ants Profiler开始更改代码,以使系统的性能受到威胁-在配置了性能分析的地方,一切都掉了下来。 因此,我们改变了方法。

我们从分析统计开始

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

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

然而,我们仍然有疑问:这是正确的决定还是个人喜好问题? 无所不能的C#和ORM信念动摇了,这显示了简单解决方案的全部功能。
案例二

该团队提出了在ORM范式框架内处理数据的请求,该框架按照所有规则进行了编译,没有错误。 处理过程需要2-3分钟,这些参数似乎可以接受。 但是,使用最简单的选择和查看的替代实现可以更快地在2秒内提供结果。

显而易见,是时候该选择一位将在整个项目栈中获得认证的专家了,以了解所有细微差别并选择最佳方法。 该任务由Alexey承担。

第一证书

为了理解本质,Alex通过了多项Microsoft认证 ,涵盖了项目的整个技术体系:

  • TS:使用Microsoft .NET Framework 4进行Windows应用程序开发
  • TS:使用C#进行Microsoft .NET Framework 4编程访问数据
  • 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个小时的测试时间。 要了解这一点,建立沟通很重要。

在我们的项目中, EXIN证书有助于掌握Alexey的流程:

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

在edX,他们采取了一些课程,从统计学和精益编程的角度帮助研究了系统,后来提示他们获得架构师证书

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

根据六西格玛原理,统计控制以极高的概率提供定性结果。

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

  • 工作不是很多,但是效率很高。
  • 追求外部生活不会使生活复杂化:尖端技术不一定能更好地解决问题。
  • 在周期的各个阶段与专家交朋友,找出他们的痛苦。 架构师必须拥有以下过程:问题识别,问题陈述,网络拓扑设计,开发,测试,支持,操作。
  • 检查往返的每个功能。
  • 发生IT流程与业务流程不符的情况,因此必须予以解决。



第五步:通过大数据的角度了解架构


在该项目中,我们正在处理相当大的数据库。 至少在某种程度上看来。 Alex开始在edX上研究大数据时,发现该项目上的1.5 Tb是一个小数据库。 严重的氧化皮-从10 Tb起,并且在那里需要其他方法。

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

证书:
Microsoft专业计划:大数据证书



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


在获得所有这些证书之后,Alexei仍然是一名开发人员,他开始意识到所接收的信息具有很高的抽象度,而且还不错。

全面的流程愿景可以提高架构师的水平,这是最高级别的认证之一。

为了寻求架构师认证,Alex去了Sundblad&Sundblad的认证软件架构师-Microsoft平台 。 这是Microsoft认可的程序,其开发始于14年前,由公司负责人和瑞典办事处共同协作。 它涵盖了.NET Framework,需求收集,信息流管理和许多其他较高级别的问题,被认为是对架构师技能的有力证明。

该计划包括学习课程。 认证将知识系统化,并允许其进入新的开发阶段-从开发人员到架构师。



总结一下


正如Alexey所指出的,在使用大型IT系统的过程中,重要的是要记住编程不是昂贵的娱乐活动,而是解决业务问题的工具。 面对特殊的挑战,您必须明确规定业务价值,以使该项目不会陷入停顿。

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

  • 创建和/或支持数据流
  • 基于数据流检索信息流
  • 根据信息流检索值流
  • 价值流货币化

如果从架构师的角度看项目,则需要从头开始:制定值,然后通过数据流进行处理。

建筑师遵循对项目具有全局视野的设计规则。 通过练习和自己的错误来实现它几乎是不可能的-更准确地说,它是可能的,但是很长一段时间。 通过认证,您可以拓宽视野,了解每个问题的完整背景,熟悉成千上万的专业人员的经验,并掌握有效解决问题的技能。

今天,我们与上述医疗系统合作已超过五年,并已取得了重大进步。 在这段时间内,Alex通过了20多次认证考试:

  1. TS:使用Microsoft .NET Framework 4进行Windows应用程序开发
  2. TS:使用C#进行Microsoft .NET Framework 4编程访问数据
  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. Microsoft专业计划:大数据证书
  21. 认证软件架构师-Microsoft平台



通过所有考试后,Alex从领先的开发人员成长为项目架构师。 此外,认证已成为专业发展和在客户眼中树立声誉的有力工具。

“ Certification ram”帮助获得了需要监视和开发的各个关键过程的访问权限。 通常,IT解决方案的欧洲客户高度重视经过认证的专家,并愿意为他们提供更大的行动自由。

感谢您的关注! 希望本文对您有所帮助。

Source: https://habr.com/ru/post/zh-CN475464/


All Articles