超越无限。高级软件工程师的历史

如果您想象一条典型的开发人员职业道路,那是什么样的?专家可能会经历从初级到主管或总监的所有阶段。然后什么?我们已经在博客中谈论了很多,在EPAM中,工程师有条件地采用两种方法-去解决方案架构师(SA)或成为经理(交付,资源,项目)。但是对于某些人,他们都不满意。结果,事实证明,才华横溢的开发人员被困在一个位置,并且无论他们如何进一步发展和深化技术,他们的才华仍然未被人注意到。去年,该公司在职业发展道路图上开辟了一条新道路-高级软件工程师(ASE)。







当然,ASE在IT中并不是一个新词。在一些使用分级系统的公司(包括食品杂货公司)中,您可以找到这样的角色(通​​常称为Principal Developer)。为了更好地了解ASE是谁,他们做什么以及公司为什么需要它们,我问了“高级”第一波工程师这对ASE意味着什么。我会按顺序告诉你一切。



谁是ASE?



首先,这是一位具有深厚的独特专业知识的工程师,尽管他可以使用任何技术快速进入一个项目,但是可以说,这是一位多技能或跨堆栈的工程师。现在,将其称为T形模型是一种时尚,这是工程师具有某种深层区域的一种方法,但是没有什么可以阻止他理解它,例如,帮助团队修复前端的小错误。



康斯坦丁·佩里科夫(Konstantin Perikov)在EPAM工作了3年,开发信息检索系统-构建各种搜索引擎,并与开源引擎(Lucene,Solr,ElasticSearch)配合使用。他是最早在企业搜索中获得高级工程师身份的人之一。



图片 « Chief , , — . — SA, . 2019 ASE, , , , , ( ) SA. , , , , - Open Source .

ASE SA — , . , . ».


图片 , Senior Solution Architect, 8 EPAM, .

« Software Engineering , , - () Software Engineer Solution Architect, « ». Software Engineer ( Junior to Distinguished) . , , CTO EPAM ASE, : ‘known to others’ (. – ). , , . , Java-, , , . - , ; — .

高级工程师不必在每次会议上都担任演讲者,他只比其他人知道更多,并且做其他人没有的事情。”


为什么选择ASE?



主要解决复杂的工程问题。市场变化,决策变化,它们变得更加复杂。除了深厚的技术技能外,ASE还具有先进的问题解决能力。而且,ASE不仅能够解决问题,而且能够预测并防止其发生。一种技术专家预测器。



这不仅适用于解决点问题,还适用于全局规划。这就意味着拥有大量的专业知识应该可以使人们得出结论,技术的发展方向,明年的趋势,将来可以为客户提供的解决方案。



德米特里禁忌: « , , . , EPAM , , — Chief? , , -, ».



ASE?



在EPAM中,开发了一个能力矩阵,该矩阵阐明了各个级别工程师的要求。



首先,对ASE提出了很高的技术要求。 ASE是一名技术专家,在多个领域具有深厚的实践和理论知识,并且在不同的编程语言和环境以及不同的业务领域具有丰富的经验。这就是他每天遇到的事情-使用EngX(出色的工程技术)编写代码并使其异常干净),换句话说,就是最佳的工程实践和编码,测试等方法。同时,他能够检查体系结构或仅充当项目的技术顾问。关键在于专注于构建最终产品或系统,并了解其操作生命周期的各个方面(性能,安全性,可伸缩性等)。



图片ASE开发工作组的成员之一Denis Chichmarev: “总的来说,这些是解决无法“ google”的问题的技能,知识和经验。解决以前没有人解决过的问题需要大量的理论知识和实践经验。”



可以理解的是,高级工程师不应该领导团队,而是要成为强大的技术领导者,而不仅仅是指出问题的最终正确解决方案,而是要向团队成员解释并领导这一决定。换句话说,经验丰富的工程师是独立的部门,重要的是他们知道如何与团队合作并帮助团队变得更好。



康斯坦丁·佩里科夫(Konstantin Perikov):« ASE, (Public influence). ASE — , ( ), . , , . , .

— , - .
. ».



ASE?



要获得高级工程师的身份,您需要通过评估-这是收集您的成就(同事评估的一种作品集)并与其他专家进行面谈,技术讨论的过程。该委员会既评估技术技能的深度,又评估“公众影响力”,也就是说,它不仅考虑工程师在项目上的优点,而且还考虑外部专业环境下的优点。



评估的重要部分是测试任务。此阶段的目的是测试技术技能的深度,在短时间内找到问题解决方案的能力,并开发解决方案原型。在与候选人的会议上,将详细讨论架构,方法,技术细微差别。现成的开源解决方案也可以充当测试项目。通过面试编码会议测试实用的编程技能。



所有这些要求也适用于外部候选人。



ASE将在哪里进一步发展?



: « , . , , , — .. , , .



, () — ASE (), , , , reference , .



, ASE».




: « ASE . , ++, . , , . , . , , , , .

, ASE, — , , ».




  • Advanced Software Engineer — . , , , « », — .
  • Advanced Software Engineer — , , , , . Hands-on experience !
  • Advanced Software Engineer — , . , , — , .



All Articles