Growing difficulties. Why your company should think about data-driven approach and how we apply it in EPAM
Today EPAM is a community of more than 40,000 experts around the world. At this scale, non-trivial approaches are needed to work well with large amounts of data and correctly estimate resources. Some of these approaches are shared by Evgeny Mospan, Senior Solution Architect and Head of the Java Competence Center.
More than a year ago, Evgeny and his colleagues began working on a technological radar on their own stack. Soon, experts found it worthwhile to team up with colleagues from different locations and teams and create a larger, global product together. Evgeny shares the best practices and lessons learned on the way of introducing data-driven approaches to management in this material. If your company is planning active growth, it will be useful.
Why is it important
While your team is relatively small, the issue of organizing data is not so urgent. Project appears – and you know right away whether you have the necessary expertise and people or not, whether there will be risks with it. In a medium-sized company, unnecessary complications can also be avoided: a sensible hierarchical structure will allow you to effectively solve an issue with a fairly narrow circle of people. But if you move to the 1000+ people in a team league, then a data-driven approach becomes necessary. It will allow you to rely on specific data that is in the company, and not the opinion of people.
To implement a data-driven approach, you need to define master data – the most important characteristics around which various business scenarios will be built. Moreover, they can relate not only to the staffing of projects, but, for example, to the training of employees (for example, if the analysis shows that over the past year your engineers were regularly denied positions on projects due to poor knowledge of Spring, then you can plan a program to train these skills ). Options – weight.
EPAM, like any large company, has a lot of data about teams, requests and people on projects. These are descriptions of client needs, and a list of positions, and a list of technologies that were used, and combinations of skills that were required in different roles, and a list of candidates, and much more. At the same time, we receive data from the market in a separate stream: new experts join the team and bring information about the skills they have.
Our presale specialists and other experts who work with potential clients have to maneuver among these data sets in order to understand which technologies are in demand, which ones are gaining popularity, which ones are represented by a large expertise in the company, and which ones will require hiring people from outside. Most often, these are huge amounts of scattered data.
Ideally, when it comes to a project, create a position on it not with the help of a verbal description, but collect a list of skills from conditional blocks of information. And a person who comes to a company can also create his own profile in internal systems, fixing skills in the form of prepared blocks of information.
it – By no means all scenarios for using data in our company. And naturally, in this case, everyone looks at the data from their side. This leads to the fact that they begin to call the same thing in different words. Or vice versa. Therefore, having many convenient and useful internal platforms in EPAM that support various processes, we decided to systematize the information. This way we can avoid confusion and make optimal use of the resources and opportunities that exist in the company and in the market. It is important to be able to compare skills, combine them into semantic subset blocks and use them in analytics. One of the scenarios and the most obvious advantages of this approach: a project manager who needs an engineer with a dozen skills on a project will be able to understand whether there are specialists with such experience in the company, how many there are, and if they do not exist, whether they exist in principle. Based on this, the manager will decide to create one or two positions, look for a candidate within the company or enter the market with a vacancy.
How do we do it
To apply mathematical models in daily work and effectively implement data-driven approach, you need to form the correct set of both master and transactional data. The task of the experts of the Java Competence Center was to update the master data describing skills (skills in technologies) within the Java ecosystem, as well as to form expert assessments of their relevance, degree of implementation.
erhenium on real projects, the availability of open information for training, the degree of support for these technologies by vendors and the community. In the lastinand based on this information, it will be easier to answer the business questions described above.
We used a graph model to build connections between skills. They had to be combined by competencies, grouped into subsets in order to compare comparable technologies in the future (after all, one cannot put a framework for creating web applications with an IoT framework in the same row). For this, the developed internal product EPAM based on ArangoDB was used, which allows maintaining master data. This product has been integrated into the operating systems that consume this information as a master data source so that the user can correctly fill in the stuffing position or personal data in the internal system.
To put it simply, our work consists of four stages:
Formation of master data
Use of this data
Building a mathematical model for Machine Learning.
Now we – in the third stage. He – the most important. We make samples using various criteria, we study different systems that our specialists use in their daily operational work. The peculiarity is that each – our own master data, which we want to unify so that there are no discrepancies during the search. We need a single place where the Java skill is defined in the skill taxonomy in the graph tree and all other systems refer to it. In fact, my colleagues from different countries and teams and I create the primary source of all data.
What else is Java Competency Center doing at the company: refreshing memory
About the structure, capabilities and main tasks we told earlier… Today the Competence Center has several key vectors of work:
For example, in our luggage of tasks there is a global modular mentoring program for Java engineers of different levels. It helps their managers determine where developers need to grow in order to reach the next professional level. Both the manager and the engineer himself can enter the program, view the modules and determine what knowledge gaps need to be filled. In the same way, you can quickly prepare people for a new project where knowledge of new technologies is required. Each module is teaching materials, homework, quizzes for testing knowledge. Now the program is working in Ukraine, Belarus and Kazakhstan, soon we are planning to launch it in the Czech Republic, Poland, Hungary and other countries of EPAM presence.
In 2020, as part of the Java Competency Center, we started several working groups in different directions. So we studied the applicability of Kotlin as a language for back-end development in company projects and its attractiveness from a business point of view. EPAM also entered into a partnership with Azul – the company that supplies OpenJDK, provides the Zulu Enterprise product, which is cheaper than its counterpart from Oracle, and other services. Our experts studied the possibilities of modernization virtual machines of potential customers Azul and the peculiarities of their migration to Java 8 and 11. Another promising partnership of EPAM – with Lightbend, a company that develops Scala technologies on the Java stack. Today, EPAM engineers have access to Lightbend training materials, which allows them to acquire new skills that are relevant to the market, as well as undergo certification.
Online coffee point. Our Java events
At EPAM we believe in the power of communities, therefore we develop a global platform Community-Z… On it you can find a community for your technology. Of course, there is also in the direction of Java. Experts from the Competence Center build horizontal links between different cities and countries and involve not only colleagues, but also the wider community in their work.
The pandemic has made this format of communication a kind of replacement for conversations at coffee points. Of course, speaking at our webinars is not only an opportunity to share experiences, but also to improve your public speaking skills. From internal events to global conferences like Zed Conferences. At the last one, by the way, we just talked about the work of our Center. Her record can be found here…
By the way, soon we are going to spend Java Z-Day, to which we invite everyone.