How Should I Ask For a Raise as a Software Engineer?
How Should I Ask For a Raise as a Software Engineer?

In this post I want to cover a super important topic. How you can ask about raising your salary as a programmer?

And just from the start I want to say something really realistic. It is much easier to change the job and get more money, than getting more money inside your current company. This may sound bad, but this is real life.

Getting more money

So, what are the basic requirements to get more money inside your current company? First of all you must do a decent job. What does it mean? You must do your features on time, fix bugs and be a really nice developer. Secondly, you must show, that you learn new things, that you help other people and you are a good person to work with. Which actually means if you are not doing your job, if you are a bad developer, if you are not there on time in the office and people are not satisfied with you (for example your team-lead or your product owner), than you won’t get more money.

It just doesn't work the other way around. These are basics and you must fulfill them. Nobody want to give more money to the person, if the person doesn't care about work, about making things better or at least doesn't do his own job on a good level. Most developers will fulfill these requirements, which means you are going to the job you are making your features, you are fixing bugs, you are helping other people and actually you are a good developer.

But now the question is why it is so difficult to get more money and why I am saying that going to other company is maybe a better solution. Because actually first of all your team lead or your product owner are not normally the people who will increase your salary. There are other people in the company like financial department or HR or maybe SEO of the company, who decides if the salary can be increased.

Which actually means your team lead can just go to the SEO or maybe HR department and say "Ok, we have this guy he is a really nice programmer, I want for him to increase salary". And actually it really depends if business has money at the moment to pay you more, if you really cost more money on the market or they can find somebody cheaper and so on and so on. Which actually means it simply not like going there and ask for more money and then company is giving you more money.

And the main problem is that people on the upper level decide if you get more money or not. Which actually means people with whom you are working directly like for example your team lead actually can’t do anything about you getting more money. Yes, he can just say that you are a good programmer, but this is it. People who decide if you will get more money actually does’t care about you and they even never saw you or maybe didn't work with you. Which actually means they can't really understand if your job is important, how important your role is and so on.

But of course it doesn't mean that it is completely not possible. But first of all what you must have is good relations with your team lead. Because typically your boss will go somewhere on the top level and say that you must get more money. And if you have bad relationships with your team lead or maybe with your project manager, then you can forget about getting more money. Because actually they don’t want to help you with your problem. Which actually means I highly recommend you to have good relationships with first of all your team lead, product manager and actually in your team at all. Because they can ask anybody in your team about you. And you must be helpful with other people. In this case typically they will say something good about you and your skills.

Reasons for a raise

The next question that you will get here is: "Why do we need to increase your salary?" And typically you can’t really ground this. Because actually you are just doing your work and you want more money, because maybe you saw that in other companies you can get more money. And actually lies the problem - a lot of companies want you to feel some strange forms like 5 papers maybe, where you are writing how good you are, how much new stuff you learned and so on and so on. This stuff really doesn't work. Or maybe they are saying "ok, you must paint some graphic about how good you are". This all stuff doesn't help at all. Sure you can do it, but typically you will get a super small increase of money and actually it won't solve your problem.

So, if you are getting some answers like "We will increase your salary, when you will learn this and that" or "When we will finish this project we will increase your salary" this just means that it won't work. Either they increase your salary in some define period of time like maybe two weeks, two months and so on or they are not doing it at all and you can go and find your (new) job. And actually regarding finding new job when you simply ask that you want more money, it actually doesn't work that good. When you are coming and saying "Ok, I was in the other company and I got there offer with 20% more money, then you can have some negotiations". Because they know "Ok, this guy will directly go to other company because they gave him more money". And now they are thinking "Ok, can we give just exactly the same amount of money for him to stay here".

This typically will work if you fulfill that basic requirements about being a good developer and doing your job. But here is the problem you should not lie that you went to other company and you got an offer. Because you can be in a situation that company will say, "Ok we don't care, then you can just leave the company". And then you will be in bad for you situation, which actually means I highly recommend you to go to other company, have an interview and get that offer. First of all you will have a written offer, that you can show in your company directly. Secondly, if things are going in the bad way and they are saying "Ok, we don’t care, leave the company", then you have another company to go. If you don't have another offer and you simply lied about having that offer, then you are in the bad position. Because actually you can't answer "I will just continue to work here then". This really doesn't work because now they know, that this guy wants to change the company, he wants more money, he doesn't really care about our company. Which actually means if you start this discussion, you must go until the end. It doesn't make any sense to go step back, it really won’t work.

Know your value

And here are main two important bonus points. First of all you must know your value, you must know how much money you can earn in the market. And obviously if you are a beginner, then it is difficult for you. But with time you can understand, on what level you are, what you need to learn and how much money you can get in the company. Which actually means if you are under payed and you have enough knowledge to change the job, then you must change it. It doesn't make any sense to stay in your current company. Maybe only for some knowledge.

Don't change jobs too often

And I highly recommend you to change jobs, but not do it too often. And typically it is normal to change the company once it 2 years. And not more often. Because in this case in your resume you are a reliable programmer, you are working quite long time in every single company. But you should not work longer than that. Why is that? Because actually especially in the beginning of your career you can get much more money, when you change your job. And secondly, you are changing your tech stack, you meet new people, so it is some fresh air for you. And obviously you are getting some new knowledge, because of new stack, new projects and all new stuff. I hope, that my recommendations will help you to increase your salary. And actually if you are interested how to know if the company, where you want to go is bad or not, then don’t forget to check this post also.