What triggered the program
- Firstly, we have sandbox and internal projects that can be developed further.
- Secondly, these projects can help us test whether a specific idea or technology is viable.
- Finally, and most importantly, our engineers want to develop in cross-stack – and it’s essential to let them try different technologies and stacks and grow in them.
We put all this together and created a cascade mentoring program with a focus on hands-on experience. It’s based on an internal project with a clear concept and is coordinated by a project manager and delivery manager, product owner, and solution architect. The development team – the mentees themselves – contribute to the delivery, solving engineering problems and studying the discipline along the way.
Hands-on advanced JS education
At the same time, Program organizers give as many non-coding activities as possible. Mentees collaborate with other teams, write support requests, figure out how to solve non-standard situations, and so on.
This run of the Full-Stack Mentoring Program for JS covered:
- How to build a project from scratch according to business needs and how to deal with FRs and NFRs
- Leadership, management and overall soft skills
- Approaches to modern application development in the Agile way
- Serverless Architecture
- Microservices architecture
- AWS Cloud infrastructure and services
- Serverless Framework
- Performance, Logging, Monitoring and other DevSecOps practices
- CI/CD practices
Having skills in front-end and back-end does not mean you’re already full-stack – there is much more to it than that. The Full-Stack Cascade Mentoring Program for JS gives EPAMers not only technical knowledge, but also teaches teamwork and soft skills. Besides, the project delivery involves DevSecOps, CI/CD processes, testing, and many other things.
The Project Manager and Delivery Manager define the overall flow and set the product goal that the team should achieve during the Program (3-3.5 months). Mentees do not receive any scores – success is evaluated according to the project milestones that the team reaches together.
During their education, mentees consider all aspects of solution development, including project setup, architecture, testing, deployment, integration, and further improvements. Thanks to strong engagement in the project and its idea, they develop product and engineering thinking and contribute creative ideas – making learning even more meaningful.
All participants of the mentoring program have performed a phenomenal number of tasks, worked and collaborated with great enthusiasm,” shares Sergey. “They were overcoming challenges together, sharing ideas on stand-ups, and conducting demo sessions. This is something that you’ll definitely face in production.
What mentees get as a result
Due to the ‘real-life’ format, engineers need to devote quite a lot of time and effort to the Full-Stack Program for JS. But these efforts are feasible: provided high involvement, mentees can accelerate their growth and successfully apply their full-stack experience in projects that EPAM offers.
Throughout the entire Program we, as mentors, ‘invested’ a lot in the mentees, giving them as much valuable information as possible and guiding when necessary,” comments Eldar. “As they matured professionally, they started to proactively share knowledge with each other – through code reviews, demos, during stand-ups, and virtual meetings. It all helped mentees to become self-reliant engineers and problem-solvers.
The participants are on a genuine engineering and problem-solving path. In the Full-Stack Mentoring Program for JS, mentees master not only a new technology stack - they also master a pack of must-have skills: communication, accountability, responsibility, leadership, and teamwork.
All mentees went through a final interview with mentors, similar to a customer interview, and received detailed feedback on their progress. This will help engineers to evaluate the knowledge they gained and define Personal Career Development Plans with their Skill Managers.
I’ve received not only AWS knowledge, but also learned about testing best practices, architecture types (Monolith, SOA, Microservices), Gitlab CI/CD process, deployment practices.
I think this type of program has several benefits over a regular one. It's based on real tasks and we had a chance to collaborate and work together, rather than have sessions with a mentor only. Now I have a better understanding of technologies that can be used for creating real applications as well as ways to implement them.
I appreciate the opportunity to manage a team and play the Lead role – now I have a much better understanding of what problems you have to solve and what issues you might come across while leading the team. I think this experience is impossible to gain in a classroom. I enjoyed the practical nature of the Program; I get a much better understanding when I “get my hands dirty” with new technologies. It took a lot of effort from my side, but it was totally worth it!
Closeness to a real project helps to dive deeper into the technology and architecture. Also, it provides knowledge of the new domain area and business needs. Now I have a better understanding of the available technologies and approaches to developing applications.
The program takes quite a lot of time and requires extra effort to get the maximum value. But surely, it's worth it. I’m sure that it’s a great opportunity for developers to improve their soft and hard skills, understand who a full-stack is and get motivated for future growth. Surely, passing the Full-Stack Program for JS is a huge step forward in one’s career path!
The Full-Stack Cascade Mentoring Program for advanced JS engineers is technical at its core, but it also provides space to improve managerial skills. Such mentoring programs cultivate managerial capabilities and help software engineers advance professionally across multiple stacks.