This today article will be a bit different from the earlier ones. In the previous articles I always try to give some suggestions to solve some problems, but now I would like write about something what I never understood why? Of course I have some ideas how can you as a developer handle the situation but I will write about that an article later.
During my working years I understood a lot of mysterious things how they are working, even if I really did not understand them at the beginning, but there is something what I couldn’t understand and that is the following: why are companies letting to have such a big fluctuation in their teams?
There are many reasons for changing company: no more technical challenges, boring projects, bad working environment, bad connection with the team or with your boss, but there is one reason which is coming up almost always when someone is changing company: the salary. Most of the developers are changing their job to reach a higher salary, but of course in most of the cases it is not the official reason, but it is almost always in the background.
Nowadays there’s a high competition on the market of software developers. Most of the developers has already a salary above the average, but most of the developers are still not satisfied with their salary. At most of the companies you can reach around 4-8% increment per year up to country and company. But if you are changing company you can reach much more. When I left my first company I got more than 50% more at second one. I think no one would tell no for this opportunity. In my view that’s one of the biggest reason for developers are changing companies often.
On the other hand I can see that loosing a developer is a big loose for the company even from financial point of view. The developer will need a replacement, who has similar skills and knowledge. That means normally months of recruitment and interviews with multiple candidates. After finding the right candidate it takes weeks/months to do a rump up for the projects. At this phase support of other colleagues will be needed for sure and sometimes external trainings are necessary as well. And after several months they have a developer who has still less knowledge/experience with the project, but already can work on that.
Let’s make an example:
George is Java developer, with 3 years experience of bank security, he is working since two years on the project and has already a good knowledge base. George is asking his boss to increase his salary by 20%. Based on the salary rules of the company his boss can only give him 8% in that year. After this decision Georg is deciding to change to an other company where he will work on a similar project for a higher salary and resigns from his current company.
The company needs a replacement of George, so they start to recruit someone with similar skills and for the same salary as George had. They are paying the amount of 2 months salary for the recruitment company and George boss himself is taking part on 3 interviews to find the right person. After 2 months they are finding John who is a Java developer with 2 years of experience, but he is having much less experience with bank security. He is joining the company for 10% more as George’s previous year salary was. Since John has a notice period at his earlier company he can start only 2 months later. During his first working months he needs to take part on a bank security training, it costs a half month salary. Additionally he need to do a ramp up for the project, it costs him time and the senior developers who are working on the project needs to support him. John is doing well, after one month he can overtake tasks from the project, but of course he has still less experience than George had, so he needs frequent support from the others.
Let’s see the numbers:
To get a replacement for George, who can overtake his tasks took 5 months (2 month of recruiting, 2 month of waiting for his notice period, 1 months ramp up). That’s causing a late delivery of the project.
The costs during these 5 months where the following:
- 2 months salary for the recruitment company
- 0,5 month salary for the bank security training
- 1,1 month salary: John’s salary for the ramp up month (he’s salary is 10% more than George’s last year salary)
- Ca. 0,5 month salary: The time of the boss to take part on the 3 interviews and to deal with the recruiting company, the time of the senior developers on the project to support John’s ramp up, time of the HR department for administration, time of the IT for installing John’s new computer with the working environment
That’s altogether costs: 4,1 month salary and the company is getting no added value from that (no work on the project).
The costs for John for his first project year is (12*1,1+4,1)= 17,3 times George’s last year salary.
If George would get his requested 20% of salary increment there would have been no need for John, for the next one year it would have cost (12*1,2)=14,4 times George’s last year salary.
That means with the decision of not increasing George’s salary by 20% the company paid 2,9 month salary more in that year. Did it really worth to the company? I don’t think so…
And now you could tell that it worth on long-term, but after one year John is requesting for a higher salary and the story is starting from the beginning... And I think it was still a lucky situation where the company found a correct replacement quite fast. And it could be even worse: the new colleague is leaving the company after 2 month, because it’s not meeting with his expectations, our simply he can not take over the tasks.
I know, some parts of the example is simplified, but I think it is representing the situation well. Why are companies doing it? I don’t understand. Do you have any idea?
Next week I’m collecting you some tips how to make sure your boss about increasing your salary!
All the best!