EPAM Advanced Software Engineering was announced in 2019 to recognize mature star technologists who want to advance their strong engineering capabilities and continue to grow in the managerial track.
Technology has been changing for as long as I've been working with it. And the pace of change has been actively accelerating. Advanced engineering as a concept seems to be the next logical step in the evolution of EPAM’s engineering DNA. Up until recently, our engineers did not have a managerial career track, and now they will. And it makes me very happy.
Pavel VellerCTO, Digital Engagement Practice
We always had them, we just didn’t have a name for them. Before, the advanced engineer role was played by an entire team, a single Chief Engineer, or sometimes a Solution Architect. That person could be both a developer and an architect.
In fact, there are lots of Chief Engineers or Solution Architects who, with their skills, knowledge, and functions, are like informal Advanced Engineers. Now, they can make it official and grow further thanks to a separate career track and new opportunities in complex new engineering engagements.
Advanced Engineers analyze the client’s business goals, study the requirements of a product, and make decisions regarding its technological strategy. Having extensive cross-stack development experience in different domains and a variety of programming languages, they analyze problem causes, create detailed technical designs, and turn them into prototypes through code that should work effectively and meet the client’s requirements. They can go beyond expectations, considering any unexpected further changes (they should see any technical risks ahead of time and mitigate them). Then, Advanced Engineers validate the qualitative implementation of a technical solution together with a team.
Advanced Engineers participate in presales, consult clients, and conduct audits of the code of existing technology solutions to evaluate their effectiveness.
At the same time, Advanced Engineers are expected to proactively propagate High Engineering Culture, bring in emerging technology, share their best engineering practices, contribute to EPAM’s image for our clients, and be a role model for our Engineers.
Just keep solving technical problems with beautiful, correct, fast, maintainable, readable code – and enjoy the process while doing it.
Pavel VellerCTO, Digital Engagement Practice
The top five characteristics of an Advanced Engineer:
Typical engagement models for Advanced Engineers:
It’s more about the focus – the focus on WHAT an engineer does and wants to do in their future career: client-facing solution consulting and architecture vs. day-to-day hands-on expert-level problem-solving. So, the start for an Advanced Engineer or Solution Architect (SA) could look similar, and a strong technologist is likely capable of doing either of the two disciplines. But the difference becomes evident as they progress through their careers:
a) The SA focuses on identifying the most suitable technological solution for the business needs and has a wide vision of technology. The SA is a business-client-facing person who can gently guide clients through the IT mumbo-jumbo and make them understand complex things in a simple way.
b) The ASE focuses more on the technical side of such solutions, such as by creating detailed designs and implementations. The ASE, as a deep technical expert with day-to-day hands-on practice, is able to validate high-level architecture applicability and communicate with similar experts from the client’s side.
This part is also about the focus, but this time on HOW an engineer works and wants to work in their future career:
a) The Lead Engineer (D4) focuses on the application level or a subsystem of a larger system and generally implements the solution components.
b) The ASE is able to deal with complex engineering problems, which usually include a large number of different components, large data volumes, and high load. This includes technical design and the ability to use/implement/troubleshoot any of the system's components and the system as a whole. ASEs contribute to the development of core components of those domains on all levels.
All else equal and over the long term, any Software Engineer who wants to keep doing engineering in practice has a chance to become an Advanced Engineer in the future.
As for who is ready to become an Advanced Engineer in the short term: usually, they are very experienced Lead Engineers with extensive practice in developing any complex systems.
Solution Architects (who at the beginning of their career often play the ASE’s role on the project) may also switch their career path to Advanced Software Engineering if they feel more technical than business-oriented.
We at EPAM invest a lot of effort into developing a continuous learning culture for ASE talents in order to stay ahead of rapid evolution in the tech industry. Potential and current Advanced Software Engineers can accelerate their competencies through the continuous learning path in Advanced Software Engineering, following the 70-20-10 rule and consisting of programs, professional communities, and self-study sources.
Apply for our Software Developer jobs and join our Advanced Software Engineering team!
Thanks to Denis Chichmaryov, Dzmitry Tabolich, Dzmitry Zhyuliuk, Kiryl Sultanau for their contribution to this guide.
Veronika KobzevaProgram Manager, CTOO Technology Programs (SA/ASE/TC)
We're offering various remote positions for Software Developers. Browse through our open jobs and find the one that suits you best.