To infinity and beyond. History of Advanced Software Engineer

If you imagine a typical developer career path, what is it like? Probably, a specialist will pass all stages from Junior to Lead or Chief. And then what? We have already said a lot in our blog that in EPAM an engineer has two paths - go to Solution Architect (SA) or become a manager (Delivery, Resource, Project). But for some, none of them satisfied. As a result, it turned out that talented developers were stuck in one position, and no matter how they developed further and deepened into technology, their talent remained unnoticed. Last year, the company opened a new path on the career path map - Advanced Software Engineer (ASE).







Of course, the role of ASE is not a new word in IT. In some companies, including grocery companies, where a grading system is used, you can find such a role (usually called Principal Developer). To better understand who ASE is, what they do, and why the company needs them, I asked the "advanced" first wave engineers what it means to be ASE. I'll tell you everything in order.



Who is ASE?



First of all, this is an engineer who has some deep unique expertise, while he can quite quickly enter a project with any technology, we can say that this is a Multi-skill or Cross-stack engineer. Now it is fashionable to call it a T-shape model, an approach when an engineer has some kind of deep area, but nothing prevents him from understanding it and helping the team fix a small bug on the frontend, for example.



Konstantin Perikov has been working at EPAM for 3 years, develops information retrieval systems - building various search engines, works with Open Source engines: Lucene, Solr, ElasticSearch. He was among the first to receive Advanced Engineer status in Enterprise Search.



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

ASE SA — , . , . ».


image , Senior Solution Architect, 8 EPAM, .

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

An Advanced Engineer doesn't have to be a speaker at every conference, he just knows more than others and does things that no one else can do. "


Why ASE?



Mainly to solve complex engineering problems. The market changes, decisions change, they become more complex. In addition to deep technical skills, ASE has advanced problem solving abilities. Moreover, ASE is able not only to solve the problem, but to predict and prevent its occurrence. A sort of technical guru-predictor.



This applies not only to solving point problems, but also to global planning. The implication is that having a great deal of expertise should allow a person to draw conclusions, where the technology is heading, what trends will be next year, what solution can be offered to customers in the future.



Dmitry Tabolich: « , , . , EPAM , , — Chief? , , -, ».



ASE?



Within EPAM, a competency matrix has been developed, which spells out the requirements for engineers at each level.



First of all, high technical requirements are imposed on ASE. ASE is a technical expert with deep practical and theoretical knowledge in several areas and diverse experience with different programming languages ​​and environments and in different business areas. This is what he comes across every day - writes code and does it exceptionally clean, using EngX ( Engineering Excellence) or, in other words, best engineering practices and approaches to coding, testing, etc. At the same time, he is able to check the architecture or simply act as a technical consultant on the project. The key is to focus on building the final product or system and understanding aspects of the life cycle of their operation (performance, safety, scalability, etc.).



imageDenis Chichmarev, one of the members of the ASE development working group: “In general, these are skills, knowledge and experience in solving problems that you cannot“ google ”. It takes a lot of theoretical knowledge and practical experience to solve problems that nobody has solved before. "



It is understood that an Advanced engineer should not so much lead as be able to lead a team of engineers, be a strong technical leader, not just point to the final correct solution to a problem, but explain and lead the team members to this decision. In other words, experienced engineers are independent units, and it is important that they know how to work with the team and help the team become better.



Konstantin Perikov:« ASE, (Public influence). ASE — , ( ), . , , . , .

— , - .
. ».



ASE?



To obtain the status of an advanced engineer, you need to pass an assessment - this is the process of collecting your achievements (a kind of portfolio that colleagues evaluate) and interviewing other specialists, a technical discussion. The commission assesses both the depth of technical skills and “public influence”, that is, it looks at the merits of an engineer not only on projects, but also in the external professional environment.



An important part of the assessment is the test task. The purpose of this stage is to test the depth of technical skills, the ability to find a solution to a problem in a short time, and develop a solution prototype. At the session with the candidate, architecture, approaches, technical nuances are discussed in detail. A ready-made Open Source solution can also act as a test project. Practical programming skills are tested through interview coding sessions.



All these requirements apply to external candidates as well.



Where will ASE develop further?



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



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



, ASE».




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

, ASE, — , , ».




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



All Articles