JavaRush /Java Blog /Random EN /How to assess your value in the labor market: a guide for...

How to assess your value in the labor market: a guide for developers

Published in the Random EN group
How much salary to announce at the interview? Can I ask for a pay raise? All these questions rest on the fact that the developer does not know how much his work costs, or incorrectly estimates its cost. In this article, we will highlight the factors that influence the formation of a programmer's salary. We will analyze common ideas about what adds value to an IT specialist in the labor market, and also present an assessment of these factors by experienced developers - our graduates and an expert from EPAM. How to assess your value in the labor market: a guide for developers - 1

Seniority level

Trite, but work experience is the first thing recruiters look at. And 20 years ago, and now, and in the future, applicants with impressive experience can claim higher salaries than beginners. It's simple: only with experience a programmer acquires some valuable skills - writes readable and functional code, knows how to understand someone else's and confusing code, sees the task “in general”, and not just in details.

Technology stack

Programming languages ​​or specific technical solutions used by a software developer also affect salary. An entry-level programmer with little to no experience will cost less than a programming guru. Less common technologies, including Clojure, Rust, Elixir, or, conversely, technology stacks that are in demand now, such as Go or Swift, usually have a higher price. The highest paid programming languages ​​include Golang, Perl, Shell scripting, Node.js/JavaScript, Java , Typescript, Python, Ruby, Swift, C#, writes How I got the Job, based on data from the US Bureau of Labor Statistics. The technology stack also includes knowledge of additional frameworks and tools.

Programmer specialization

Developers who have mastered complex technologies receive higher salaries than their peers in the market. For example, a machine learning specialist in the US can earn about $110,000 per year (about $9,000 per month). In Ukraine, a machine learning specialist can earn from 5 to 7 thousand dollars a month, in Russia - about 3-4 thousand dollars. If a product idea has convoluted logic, it means that it is harder to develop, test, and deploy. Whether it's technological complexity or design complexity, hourly rates will rise in proportion to the number of features.

soft skills

Undoubtedly, technical skills are key in the development world, but in today's technological society, soft skills are valued more than ever before. Developers who have improved their communication, adaptive and social skills and have a significant set of technical skills tend to earn more than those who only have technical skills.

Country of residence and employment

The cost of hiring a programmer in Ukraine or Russia will differ from the cost of hiring the same developer in the US. According to Devox Software research , the hourly rate of a programmer is significantly lower in Europe, Africa and South America compared to Canada and the United States.

Insights from developers, CodeGym graduates: what affects the salary level

On the importance of experience

CodeGym graduates participated in our job evaluation survey - almost all of them have been working in IT for several years. First, let's talk about the correlation of work experience and wages. One way or another, most developers believe that work experience affects the level of wages. We were asked to rate how important experience is for salary growth from 0 to 9. About 27% of programmers voted for a rating of 7, about 17% for a rating of 6. Almost 12% more rated the importance of experience at 5 points. This result means that the seniority factor is important, but not decisive in determining the salary level for the developer. How to assess your value in the labor market: a guide for developers - 2

On the balance of hard and soft skills

As for technical skills , which affect the salary level of a Java developer, here the respondents highlighted the knowledge of such technologies and tools:
  • Java Spring (Boot, Data, Security especially),
  • Hibernate,
  • Setting up and working with NoSQL and SQL,
  • DBMS ( Database Management System - ed.),
  • full stack development (AngularJS, ReactJS),
  • threads,
  • soap,
  • git,
  • docker,
  • Kubernetes,
  • Cloud (AWS/GCP/Azure).
“Googling helps a lot at the start, but the deeper you go, the more you need to know. A deep understanding of the tools used makes it possible to select and implement the right solution as quickly as possible. This increases the “personal weight” of a specialist, notes Evgeny.
Among the “soft” skills that affect the level of salary, programmers highlight responsibility, sociability, flexibility, perseverance, and stress resistance.
“The ability to interact with the team and with managers is very important. The ability to briefly and clearly convey one’s thoughts, the ability to value one’s own and other people’s time, the ability to listen and agree, ”says Vladimir.
“Getting the right message across to the right person is very valuable,” adds Daniel.
Among the factors that also affect the level of salary, developers highlight networking (the ability to establish contacts with colleagues and future employers), continuous improvement in development, a successful job change, and the speed of learning.
“But the most important tool is a sober assessment of one’s skills and firm confidence in oneself and one’s abilities!” Artem notes.

How to keep track of how your salary matches the work you do

We also asked developers how they keep track of whether their salary matches the level of complexity of work and experience. Here are the sources for tracking:
  1. Interviews (periodically go to them);
  2. Friends, acquaintances in IT;
  3. Job search sites and specialized developer resources; (LinkedIn, Dou, Habr, Djinni).

On salary satisfaction

Finally, we asked the programmers if they are now satisfied with their salary. 63% answered that they were satisfied, almost 30% were dissatisfied, another 7% fell into the “Other” category.
“At the moment I am balancing between skill development and salary, so I have to get less, doing more complex and interesting projects. Although you can get 1.5-2 times more by drinking some kind of web trash, ”says Mikhail.
How to assess your value in the labor market: a guide for developers - 3

Expert opinion

How to assess your value in the labor market: a guide for developers - 4The cost of a specialist in the market is a peculiar wording. Definitely, it includes hard skills (that is, direct knowledge of technologies) and the ability to apply them. The latter is important, as I have often seen excellent theorists with many different certifications who did real work not as efficiently as expected from them. And if the technological skills themselves are easy enough to check during an interview (at EPAM we use our own interview platform for this, on which candidates write code), then resourcefulness and efficiency are more difficult. And yet it is possible: keep in mind that some companies ask for recommendations from past employers (by the way, there is no such practice in EPAM), and there is also word of mouth. A professional reputation can be both your plus and minus. Certainly, knowledge of English is required. In EPAM Ukraine, for example, we practically do not consider candidates without this skill. The required level of English proficiency depends on the vacancy for which the candidate is applying and his immediate tasks. In general, it is desirable for engineers to know the language at least B1 level, for business analysts - at least B2. It happens that specialists with a very basic knowledge of English have experience working with a foreign customer, but objectively it is always difficult. But knowledge of other foreign languages ​​is required not so often. There are situations when we need a business analyst with knowledge of French or a tester with knowledge of Swedish, but these are rare cases. Important for the success of a specialist and soft skills - or soft skills. Almost the main one is the ability to communicate with clients and colleagues correctly and politely. This is especially felt in a multinational company: it is still useful to understand that it is correct to write “could you” in correspondence, but “can you” is already rude (and this is just one of the examples that brings us back to the question of English). As for clients, in EPAM, engineers have to communicate with a variety of customer representatives: these are technical people, and managers, and heads of the service station or CEO level of the company. Obviously, you need to be able to communicate with them - and do it in different ways! If you explain to a business representative that delivery times are sagging because the team has built an object-oriented class model incorrectly, then they will look at you like an alien. In this case, it is more important to orient when the problem will be solved. Or let's say you start working on a project for a large enterprise-company from the insurance industry with a 150-year history. Such a client should not immediately impose the latest Agile developments and CI / CD processes, because in terms of its culture, dynamics, it is different. This understanding of the customer context comes with experience, the ability to work with different clients and business representatives. You also need to be able to prioritize and understand the business. Lack of the latter is a common problem among engineers. Most tech graduates are willing to immerse themselves in code and work hard to make it perfect, but they often don't see the big picture: what the client needs and how users will use the product. Such shortsightedness of an engineer can lead to a decent amount of money thrown away. Remember that the industry does not stand still and IT specialists, like doctors, must constantly learn. Read books, articles, participation in conferences (including as a speaker), pet-projects, high-quality GitHub - all this can become your additional plus at the interview. I also recommend looking towards full-stack. This is exactly what customers are asking for right now. Moreover, full-stack is understood in different ways: for some it is a specialist who can do both back-end and front-end, and for someone it is an engineer who writes code and tests. One way or another, the wider your expertise, the better. I also recommend looking towards full-stack. This is exactly what customers are asking for right now. Moreover, full-stack is understood in different ways: for some it is a specialist who can do both back-end and front-end, and for someone it is an engineer who writes code and tests. One way or another, the wider your expertise, the better. I also recommend looking towards full-stack. This is exactly what customers are asking for right now. Moreover, full-stack is understood in different ways: for some it is a specialist who can do both back-end and front-end, and for someone it is an engineer who writes code and tests. One way or another, the wider your expertise, the better. Do you agree with the factors that affect the salary level of a developer? Or maybe something else can influence the value of an IT specialist in the market? We are waiting for your comments ;) How to assess your value in the labor market: a guide for developers - 5
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION