how and why

how and why

Twelve years ago, through the training center, as a junior software testing engineer, I came to the Russian division of EPAM, which now bears the name RNT Group and is part of Rexsoft. During the entire time of working in the company, I tried a dozen different projects (Western and Russian) with different domains and different technologies in roles from junior to test manager. There were banks, exchanges, mortgages, e-commerce and telecom. There were both old legacy platforms and modern highly loaded solutions with microservice architecture. It so happened that all this time I was engaged in corporate training in one way or another: I participated in some internal trainings and joined initiatives with universities. In the last four years, this has become my main task. First in one office, and now in general for the entire company.

Actually, I would like to share my thoughts about training and development of personnel in IT. I will try to break the material into several blocks and show the general picture: what we chose, and what difficulties arose in the process.

In order to more or less understand how things are going in the industry, you will need objective statistics. The GTCI (The Global Talent Competitiveness Index) talent competitiveness rating, which is published annually by the Insead business school and the Adecco Group company, will help us with this. This is not an advertisement, it’s just that if we find any numbers, authoritative sources and scientific publications will cite it.

In a nutshell: the final figure is a “talent index”, it was calculated on the basis of six criteria, which are combined into a single rating. For each country consider:

  • market and regulatory conditions in the labor market;

  • chances for career growth;

  • opportunities for employers to attract talent from around the world;

  • opportunities to retain qualified personnel;

  • production skills of employees and global knowledge (to what extent the level of education and skills is sufficient for innovative production and innovative entrepreneurial activity).

If you look at the statistics for several years, Russia is on average in about fiftieth place, and this indicator somehow has not changed radically in the last ten years.



Number of participants
















The champions of the ranking show that to attract talent, governments must invest in education and knowledge centers, cut red tape and simplify labor laws. Employers should encourage talented employees.

There are many parameters in this study, but I am most interested in this one: prevalence of trainings in firms — corporate training, all kinds of training centers, corporate universities and others.






















Apparently, the statistics are collected a year late (I can’t explain it otherwise). A tenfold drop and then, two years later, a double increase. It seems to be an interesting dynamic.

Let’s try to move from general statistics to a more substantive conversation – to IT companies. For an IT specialist, training is not a unique request, but has long been part of the basic benefits package. At a time when the IT market has firmly established itself as a candidate’s market, the annoying question-meme “Who do you see yourself in 3-5 years?” for several years now, it has turned into a not always question from the candidate: “And who will I become, working in this company, in five years? What will I do? What skills will I be able to upgrade? How much will I be worth on the labor market in the same 3-5 years?”.

When entering IT or changing jobs, a seasoned candidate expects that it is not only about the industry where the products of the future are made, but also that his particular future will be more attractive than the present.

Experienced and tired senior leaders, of course, have a desire to find an honorable retirement when you are simply paid a lot of money and you do the same tasks with the same technologies without much change, but this approach is not shared by everyone. And starting a career with this is a very dubious story.

I’ll note right away: what I’m talking about may be true primarily for fairly large, growing companies. If the company is small or not growing, then the desire to raise new seniors will cause a reasonable question: “Where did your seniors go?” Why do you need so many of them? Answer: “To do more projects and more complex projects!”

Companies have several options for solving this task (they may overlap). Three come to mind, but there are probably more:

  • Just squeeze money or consider that it doesn’t matter. (Say: “We already pay you a lot. Do your work, what else do you need?”) If you want to learn, buy the courses yourself.

  • Outsource the solution of this task. Organizationally, it is easiest to pay a certain number of subscriptions or licenses for educational content of varying quality and to appoint someone to monitor the statistics.

  • Build some solution at home of varying degrees of complexity.

There are pros and cons to each of these options, and I’ll come back to them sometime next time.

More and more companies are realizing that they need to somehow manage it. And this process, if you break it down into three stages, looks something like this:

The requirements for specialists are about competency matrices, which my colleague Zurab recently wrote about. It would be good to have a tool that would allow a more or less objective assessment of the candidate’s level. A large checklist with all schools and the expected level of their mastery (both technical and software; both necessary theory and practice). Having such a list at hand, it is clear to the candidate what they want from him, and the interviewer makes a decision not only based on his own experience for the needs of the project, but also based on an agreed, common concept for the entire company. Such a document is good to have for each practice (Java, testing, JS, DevOps, etc.) and for each level/grade (jun, middle, senior, etc.). And this same document will be one of the main ones when choosing study programs. Does it say that a middle tester should be able to work with a database, test APIs, know testing theory and work with different types of requirements? Here are four squares-modules in the training program.

Understanding needs is purpose and planning. Why am I going to invest effort and money in this? How many middle-javists do I have now, and how many of them in about a year, according to the company’s expectations, will grow into seniors? Or maybe I don’t need seniors, but a certain technology or certification, and should a certain number of employees be certified? Or are we planning to move from an old stack to a newer one and I need to retrain some engineers from legacy Oracle to Postgre? Is there a big project on the horizon, but frontends without a base in Vue.js are not even ready to be considered there?

And so in every direction. When trying to systematize needs, it will turn out that some requests can be combined. A general CI course for Java devs, netizens, and frontenders? A general program with soft skills? A general training program for leaders or some methodology training?

Having formed expectations for the quality of training (what the employee will learn) and understanding the quantitative indicators (how much is planned to be trained), you can move on to the actual training.

Let’s move from the general picture to examples again.

We need to train seven front-end developers. It so happened that they used to have Angular, and now they have to learn React in a fairly short period of time. Again, for the sake of simplicity, let’s assume that they are missing five topics from the competency matrix: TypeScript, Webpack, React core concepts, Redux, and Server-Side-Rendering. Let’s say we have motivated guys (we didn’t drive them there from under a stick), they have a physical and sufficient technical base at this time. Obviously, there will be theory and quite a bit of practice involved in such a request. It would be nice to have some program, code review feedback and a mentor if we want to do this fairly quickly and efficiently. If we leave the process to its own devices and self-study, out of seven of our candidates, perhaps two will fall into the deadline with an acceptable result.

So, you need either a fairly expensive program in one of the online schools, or an equally (or even more) expensive solution. Or somehow get: a learning platform (LMS), content (lectures, additional materials, homework, etc.), a qualified mentor, and some service that organizes this whole process, checks that no one is lost and does not fall behind, and collects feedback communication And if you plan to invest in studies long-term, then you will have to do it according to each program and each direction.

And to understand whether it worked or not – control. It can also vary depending on needs and resources.

  • You can stop at the fact that the employee passed the course and did the homework included in the course, and if at the end there is also an educational project, that’s fine.

  • You can have a big graduation interview with practice.

  • Collect feedback from the employee. How was working with the mentor? Was it comfortable? How to submit the material? What was difficult inexplicably outdated?

  • Later, you can request feedback from the project (leads and project manager). Does the employee put into practice what he has learned? Is this enough to complete project tasks, or does the course need to be modified in some way?

  • If one of the goals was to upgrade to a certain grade, conduct an assessment of the employee’s competencies – an assessment for obtaining this grade (which can also be done in different ways).

And after the retrospective, we go to the next round: goals again, assessment of needs and resources, planning, training and control.

We followed the path of an in-house solution and set up an LMS and a separate local corporate “YouTube” (at that moment we were worried that there would simply be no access to the big “YouTube”, and the video content had to be stored somewhere). We have developed and continue to develop programs for training juniors and developing employees both by titles/grades and by some highly specialized technologies or groups of skills. Where we do not have enough expertise, we look for external providers, but we cover most of the needs ourselves.

We continue to interact with universities, which is also very important if we want to grow at the expense of juniors. One of the largest community-networks that unites representatives of all practices in the company, just a network of mentors, lecturers and training coordinators. This role is performed by practicing engineers, not by some external teachers or lecturers. There is a culture of continuity. If at some point you were taught, it is quite normal, if time and energy allow, to teach someone yourself. We have launched a small, but quite cheerful service that coordinates, supports and develops this process. There are professional communities – communities from almost every field. Within the company, meetups and tech talks are held, podcasts are recorded and news digests with fresh educational activities are published.

Of course, there were difficulties: both technical and organizational. And not to say that there are always enough resources, rather the opposite. There are a dozen interesting projects and ideas in the backlog, and objectively we can now hire no more than three, and the current processes must be maintained.

This is probably the end of this article, and in future publications I will try to dwell in more detail on the processes, tools, and results. If you are interested in any topics, write in the comments. There is nothing better than feedback from your audience – just like in educational processes.

Thank you for your attention and see you soon!

Related posts