EPAM Anywhere: Advanced Software Engineer: Explore a New Career Path for Top Technologists
Career & Education / 6 min

Advanced Software Engineer: Explore a New Career Path for Top Technologists

a software engineer holds a cup in her hands that says like a bossa software engineer holds a cup in her hands that says like a boss

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 VellerPavel Veller

Pavel VellerCTO, Digital Engagement Practice

Why didn’t we have Advanced Engineers before?

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.

What are Advanced Engineers’ tasks?

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 VellerPavel Veller

Pavel VellerCTO, Digital Engagement Practice

What qualities should Advance Engineers have?

The top five characteristics of an Advanced Engineer:

  1. Technologist by heart who has hands-on expertise with deep technical knowledge of engineering and systems of different complexity levels as well as comprehensive knowledge of different cutting-edge technologies in different domains
  2. Has strong problem-solving skills with a focus on results
  3. Has systems engineering (to enable the realization of successful systems) and systems thinking skills (to decompose existing systems and recompose them in new ways with new approaches and technologies)
  4. Is being recognized as a top talent in the technical domain at a company, industry, and on a global level
  5. Is eager for quick constant learning and expertise sharing through training, mentoring, community talks, etc.

Why might a project need an Advanced Engineer?

Typical engagement models for Advanced Engineers:

  • The project entails building complex platforms and systems of different complexity levels where strong technology leadership is needed
  • The software is for our clients’ mission-critical systems and fundamental to their business success
  • The engagement is R&D-driven with many unknowns, such as cutting-edge technologies to be improved or developed
  • A technical advisory is expected to solve complex technical challenges and navigate from strategy to execution
  • To bring best-in-class Engineering skills to the Client team.

What is the difference between a Solution Architect and an Advanced Engineer?

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.

What is the difference between Lead Engineer and Advanced Engineer?

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.

Who can become an Advanced Engineer?

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.

How to grow in Advanced Engineering inside EPAM?

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.

  1. We recommend to start with learning what this role is actually about as individuals obtain 70% of their knowledge from day-to-day job-related experiences - there’re a lot of internal resources that provide you with comprehensive information.
    Next, a little theory: there is an ASE Library with books, podcasts, and other materials in advanced engineering that are recommended by advanced engineers.
  2. Join the Architecture Excellence Initiative (AEI) — a global community for architects, advanced engineers, delivery managers, and engineers focused on sharing the latest technology know-hows, project case studies, and accumulated experience of EPAMers.Here, you can get access to weekly webinars and roundtables with technology leaders, monthly latest tech news as well as join internal community group to chat informally, ask questions, and share ideas with other Advanced Software Engineers.
  3. Study at Solution Architecture School (SAS). The program is optional for Advanced Engineers, though it is recommended to enhance their knowledge in Solution Architecture basics, practice architecture competencies, train design skills and develop a wide vision in technologies and architecture patterns. The course lasts about 4 months and ends with a final project.
  4. Pass the ASE Onboarding (ASEO) program designed especially for newbies to examine ASE best practices, company tools, and useful sources that can help with day-to-day ASE activities. It consists of the ASE basics and the orientation webinar to make the onboarding for newbies smooth.
  5. The highest level of study is a Technology Mentoring Program (TMP), a 4-month practice-oriented educational program where mentors pass on their experience to help mentees achieve their practical goals, implement changes in their work, develop their growth mindset and grow up to CTO level.
  6. Current Advanced Engineers are also welcome to join the ASE Team (ASET). This is s a global core community of Advanced Software Engineers who develop ASE discipline, create best practices, coordinate ASE initiatives, propagate high engineering culture, make an impact on our clients and technology as well as serve as a role model for engineers.

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.

Written by

Veronika KobzevaVeronika Kobzeva

Veronika KobzevaProgram Manager, CTOO Technology Programs (SA/ASE/TC)

Are you a Software Engineer?

We're offering various remote positions for Software Developers. Browse through our open jobs and find the one that suits you best.

view jobs