Hello, Habr! We continue our series of analytical articles on the IT salary and job market. And today the next step is an ML engineer, or a machine learning specialist, especially since Skillfactory launches a new stream of an advanced course on March 23 Machine Learning and Deep Learning…
Machine Learning Engineer is the # 1 specialty in the development and design of complex systems, which in December 2020 occupied 38.54% of industry vacancies and approximately 9% of all vacancies in the Russian IT market. So let’s figure out how much machine learning specialists actually get, how to get into ML and where you can develop. Go!
Earlier in our blog there were already similar materials about data scientists and data analysts, if you are interested in these specialties – we recommend that you familiarize yourself.
Who is an ML engineer
Machine Learning Engineer is an artificial intelligence expert. It is he who develops the algorithms by which the computer “thinks”.
Machine learning automates human labor. ML is needed to create neural networks that analyze anything: from chess combinations to maximum personalization of advertising on social networks. ML allows you to create forecasting programs that perform much better than humans.
Also, a machine learning specialist creates bots that communicate with customers. So they are the ones who need to say thank you for “Bot, call the operator.” Alice, Siri and Oleg’s voice assistant, by the way, are also the brainchild of ML engineers.
The Machine Learning Engineer profession is a subsection of Data Science. And the activity of an ML engineer is more focused on practical tasks. It solves business problems using machine learning algorithms. He can use existing developments or write new ones every time – it doesn’t matter. The only goal is to perform the task in a high-quality manner with the least expenditure of resources.
What employers require from ML-Engineer
The skill pool is quite large. We analyzed over 350 vacancies and noticed that in most of them the competencies of a Data Science and ML specialist are clearly separated. But the requirements for vacancies are still very similar.
The fact is that large companies that use or plan to use artificial intelligence algorithms in their projects are specifically looking for machine learning specialists.
Employers in most cases know why they need an ML specialist and what competencies he should have. Here are the ones that come across in vacancies most often:
High math skills. Linear algebra, probability theory, applied statistics – you need to know all this at a very high level. In ML, Bayesian networks, Markov decision-making process, hidden Markov models, conditional probabilities are used quite often. You also need to be well versed in analysis of variance and be able to test statistical hypotheses.
The basis of programming. Python is mentioned in the absolute majority of vacancies – about 92% of all, but employers also require knowledge of R, Java, C ++, Scala. It also requires skills in using libraries like pandas, OpenCV, Numpy, Eigen, NLTK, Spacy, scikit-learn or others.
Data modeling. Another basic skill that is required in most jobs. The effectiveness of machine learning depends on your data modeling skills. Basically, you need to know the modeling patterns, iterative learning algorithms and strategies for evaluating the accuracy of the models.
SQL. 73% of vacancies require knowledge of SQL, but there are a lot of vacancies that require skills in NoSQL DBMS.
English language. Without exception, all international teams require an English level not lower than Intermediate, and better – Upper Intermediate. This is not necessary for projects on the Russian market, but it almost always stands out as an additional plus.
Flexible project development methodologies. About a third of vacancies mention Agile, Scrum, Kanban, and other agile methodologies. Experience with them is considered a plus, but not required.
In general, the requirements for the vacancy of an ML engineer and a data scientist overlap quite a lot. Small and medium-sized businesses make little or no difference between the two and often search for “Data Scientist / ML-Engineer” right away.
Soft skills predictable. They copy the requirements from the Data Scientist and Data Analyst vacancies with minimal discrepancies:
analytical mindset, logic;
attention to details.
But there are still some interesting observations. In general, softskills are mentioned twice as few companies as, for example, in Data Analyst vacancies. Hard skills play a key role here. Personal skills and character traits are secondary.
Salaries and vacancies in Russia and beyond
Let’s get to the fun part. As of 03/04/2021 and data from hh.ru, there are 1,052 vacancies in Russia that contain references to ML or machine learning.
But more than half of them are the intersection of a Python developer with ML skills and a data scientist who should at least in general terms understand how machine learning works.
There are just over 500 vacancies directly related to machine learning. In 2020, the demand for the specialty has more than doubled and continues to grow.
Most of the vacancies are open in Moscow – 55%. Approximately 17.5% are allocated for St. Petersburg. Approximately 24.5% are scattered across other large cities in Russia with a population of over 500,000. The number of vacancies in settlements less than 200,000 inhabitants does not exceed 2%.
In general, locations and demand are correlated with the Data Science and Data Analyst industries. The main employer is Moscow companies and international brands that have an office in Moscow.
The main problem is that 80% of companies do not indicate the salary fork or at least the approximate level that the applicant can expect.
We analyzed 200 vacancies for open salary offers. The results are pretty good. The median runs along the point of 165,000 rubles. This is the level of the monthly salary that a specialist with 1-2 years of experience in ML can really count on.
A junior ML-engineer or a specialist who wants to get into machine learning from related industries can expect a payment of 80 thousand rubles or more.
An experienced senior can earn from 200,000 rubles. And this is far from the limit. In large international companies, ML departments are growing very quickly today, and a top-level specialist can count on a salary of 330,000 rubles.
In the regions, the situation is much worse. About half of the vacancies generally mix ML, DS and DA specialists into one. In the rest, machine learning skills are an additional competence, not a core one.
Even if the company understands why it needs ML, then the salaries in the regions are not very good. There are offers for Juns from 25,000 rubles, and above 80,000 is already considered an excellent salary for the pros.
But in the international market, everything is fine with machine learning specialists.
According to salary.com, the annual salary for an ML engineer in the United States is $ 120,000 at the median. This is $ 10,000 per month or, in terms of wood, 730,000 rubles.
Glassdoor, for example, considers the profession of a machine learning specialist one of the most secure today. And he predicts an even greater increase in demand for it in the next few years.
With the remote, everything is not very rosy. Most companies are looking to hire a full-time ML engineer in the office. Even in a pandemic, jobs that allow remote work are very few.
Where to come and where to grow a machine learning specialist
ML engineer is not a very beginner friendly specialty. You can get into it “from scratch”, but this requires at least a strong mathematical base. Ideally a higher education in mathematics or economics. And even in this case, you need to be prepared for difficulties – you will have to study a lot of things.
For successful promotion and growth, you need to understand how the entire Data Science field works. Therefore, the ideal launching pad for the transition to ML is the data scientist and data analyst.
Also, Python developers can switch to machine learning. To do this, you will need to understand the basic ML libraries.
A machine learning specialist is a rather narrow specialty and in most cases is the final stage of a specialist’s development. But if desired, an ML engineer can always switch to data analytics, data science or full stack development. With his experience and skills in any of these positions, he will be torn away with arms and legs. Try, learn – and you will succeed.
ML Engineer is a versatile specialist, like a Swiss knife. For those wishing to become such specialists, we have a special advanced course Machine Learning and Deep Learning And the promo code HABR will give you a 50% discount.
find outhow to level up in other specialties or master them from scratch:
Other professions and courses