Why do programmers always walk around looking so happy? The answer is simple and disarming: because they do the work they love and they have a ton of money.
Welcome to the world of programmers.
Programmer salary
I want to talk about programmers’ salaries. How things actually are with pay, where it’s better to work and where it’s not. If you’re not a programmer and try to figure this topic out on your own, you may end up with a set of very contradictory data.
The thing is, the main factor affecting a programmer’s salary is not their qualification, but their workplace. Sometimes, with the same qualifications, the difference between a good and a bad place can reach 2–10x(!)
At any specific moment in time, your qualification is constant. You can’t become twice as experienced in a month and earn twice as much. But you absolutely can change jobs in a month and earn twice as much. So let’s find out where it’s best to work.
Here are three factors that very strongly affect salary levels in companies:
1) Whether software development is the company’s core business.
2) Whether the company is oriented toward the international market or the domestic one.
3) Whether the owner of the firm is a Western company or a local one.
Note that the city you live in does not play the decisive role. That is, if you earn 10 times less living in Dresden than your acquaintance in New York, it means the factors listed above have come into play.
Specific numbers
It’s hard to give any specific numbers for the whole world. Let’s describe the situation in Eastern Europe, which is generally true for all countries where IT outsource/outstaff is more or less developed.
Here is how much a Kotlin Senior Developer with five years of work experience can earn, depending on the level of the company they work at:
| Level | Monthly salary | Description |
|---|---|---|
| 1 | $200 — $500 | At the very bottom are firms where IT is a non-core business area, the client is the domestic market, and the owner is the government. For example, an IT department in the tax service or another government organization. |
| 2 | $500 — $1500 | Below average are IT departments of various non-government structures: banks, etc. |
| 3 | $1,000 — $2,500 | Mid-level are firms that develop software. |
| 4 | $3,000 — $4,000 | Above average are firms that develop software and have Western clients. |
| 5 | $4,000 — $5,000 | At the very top are firms that develop software, have Western clients, and the owner is Western as well. There aren’t many of them. Open positions don’t appear often, and it’s not easy to get in. But they do exist. |
What’s the strangest thing about the situation that has developed?
Half of all programmers work in level 1 and 2 firms.
Want to know what the catch is?
There are hundreds of open programmer vacancies in level 3 and 4 firms. These companies are ready to offer higher salaries and usually much better working conditions.
A real-life situation: there are two Kotlin Juniors. One goes to work for $100 a month (in a level 1 firm), and the other for $1,000 a month (level 4). Why earn less?
What you can achieve if you don’t slack off
If you constantly work on self-development in programming, your salary, starting from today, will change approximately like this (+/− a few hundred dollars depending on the city where you work):
Plan
0–3 months (Student)
You know very little about programming. Maybe you studied it at school and/or university, but only very superficially.
Your task is to learn programming and study Kotlin.
Your goal is to get a job as a Kotlin Junior in a company of at least level 3.
In the first three months of the plan you don’t earn anything, because you’re simply learning programming. In the future, when you have a family and a bunch of loans, changing your specialization will be much harder. To fix a mistake, you will need to set aside money for a year of normal living. Don’t make stupid mistakes.
3–15 months (Kotlin Junior Developer)
You are already working as a programmer, and your experience grows every day. Don’t loaf around. You still have a lot to do before you can rest on your laurels.
Your task is to study the technologies you will need as a Middle developer. Which technologies exactly? The world changes. We’ll advise you now, and life will change everything. Find a few job postings on the internet and see what they require. Be sure to read Bruce Eckel’s book “Thinking in Kotlin”.
Your goal in the first year working as a Kotlin Junior is to grow to the Kotlin Middle level. No one says it’s very easy, but it’s quite possible for a determined person. This will immediately give a salary jump to about $1,500.
2nd year working as a programmer (Kotlin Middle Developer, level 1)
You worked hard last year, and now you are a Kotlin Middle Developer. With a $1,500 salary you can live comfortably. At work you are given serious tasks, and your experience grows by leaps and bounds. You will grow into a Kotlin Senior Developer in two to three years. There’s no point in rushing this process. You still won’t get a big salary increase.
Your task is to learn design patterns and read McConnell’s “Code Complete”. Improve the quality of your code and your teamwork skills. You can make it a rule to read one IT book every week. Then in a year you’ll be 50 books smarter than everyone else. Don’t put it off until later: you won’t have more free time. It’s quite likely you’ll start a family—or it will grow, if you already have one.
Your goal is to choose several technologies in which you will specialize as a Senior developer. You won’t be able to learn everything anyway. And being a guru in a narrow area is a good decision.
3rd year working as a programmer (Kotlin Middle Developer, level 2)
You are already an experienced Middle developer and are thinking about becoming a Senior Developer. It’s pleasant and prestigious. Your salary exceeds $2,000 (figures for Kyiv). From this point on, demand for professionals like you exceeds supply. You will always be able to get a job in a couple of days, and you’re unlikely to earn less than you do now. Unless, of course, you do something stupid.
Your task is to continue studying the technologies you chose. Work better. Not for the employer—for yourself. Ask to be put on projects with promising technologies (such as Big Data, at the time this article was written). You will spend 8 hours a day in the office anyway, so why not get a bit more money for it and, much more importantly, invaluable experience that you will still need.
Your goal is to change jobs. A good team exists everywhere. You will encounter new projects and technologies. Don’t get attached to your chair too early. If you are still working in a level 3 company, consider moving to level 4. Level 5, although very attractive, is not attainable yet.
4th year working as a programmer (Kotlin Senior Developer, level 1)
You have become a Senior developer. Congratulations. Maybe you became one undeservedly, and you feel it. Congratulations anyway. It doesn’t matter whether you deserve your position right now; the main thing is that you become worthy of it in the future. Agree, it’s better to get a good job first and grow into it in a year than to grow into a good position and then wait another year for it.
I hope you didn’t forget my advice and read one book a week—now any student would envy your capabilities. More precisely, they’d be ready to worship them. Think about it: you have a serious salary approaching $3,000. Most likely, you are still young. The whole world is at your feet.
Your task is to review your chosen technologies once again. Perhaps you need to change your specialization. The world has changed, technologies have changed, and you’ve gained more knowledge over the last two years. What you stop on now will be your choice for the next few years. It’s the perfect time to choose your favorite technologies.
Your goal is to choose a direction in which you could develop further. There are very many of them; no one can list all options, but you need to make a choice right now. If today you change your present a little, it will lead to big changes in your future.
5th year working as a programmer (Kotlin Senior Developer, level 2)
You have decided on your future and are working on making your dream come true. The right direction, combined with the desire to move forward, and the result won’t keep you waiting. Congratulations. We’re glad there is one more happy person.
There is one wise truth. People often overestimate what can be achieved in one year and underestimate what can be achieved in five years. Look back five years. That’s how it is.
Your task is not to make stupid decisions and not to give in to laziness.
Your goal is to choose a direction and keep moving. And you thought this was the end? Remember your graduation class. This is not the end—this is only the beginning.
Future specialization
You can develop as a technical specialist (top branch), as a manager (bottom branch), or as a hired professional/independent consultant (middle branch). It all depends on your preferences.
Programmer career
The programmer profession differs from other professions. Here there is no need to build a manager’s career to earn well. Situations are not uncommon where a senior programmer earns more than their manager-boss. The more experience you gain, the more your relationship with management moves from the “boss–worker” point to relationships like “movie star and their manager”. Overfed, self-aware programmers who know their worth pick and choose among projects and vacancies. Good for them.
So what does it take to become such a high-class and globally in-demand programmer? You must have extensive experience with the newest and most in-demand technologies. How do you achieve that? The answer is below.
After you get your first job as a programmer, two things start happening to you that, oddly enough, are not always obvious.
1. You start quickly gaining experience working on real projects. One year of work experience as a programmer can give you more knowledge and skills in your specialty than 5 years at university. Experience is such a significant indicator that in IT job postings they often write: “Kotlin programmer with three years of experience required”.
2. You study new technologies 8 hours a day, and you also get paid generously for it. The importance of this factor is hard to overestimate. In some cases, the acquired skills are so important that for the sake of getting them you could work for free—or even pay extra. If you choose the projects you agree to work on wisely, an incredible programming career awaits you.
So what should you choose?
Often, if you don’t know which technologies will be useful to you, you start choosing technologies by the principle “like it, don’t like it” or “fashionable, not fashionable”. Then it’s just luck. So it’s better to know in advance where you want to end up.
There are a lot of development paths for a programmer, so for simplicity we’ll highlight a few of them and describe our view of the situation. Don’t take this scheme as a rigid position; rather, as a simplified look at things to bring at least some clarity.
The two-hundred-year-old programmer.
If what you like most is programming, then your path is Senior Developer, then Tech Lead Developer and architect. You can also just work as a programmer for 50 years. Often, salaries of senior programmers and tech leads exceed the salaries of their managers. Don’t miss out.
Manager. You’re lucky—you’re not like everyone else.
You switched to the enemy’s side. Just kidding. If you have opened up considerable organizational skills, then your path is Team Lead and then Project Manager. This will give you a chance to become a director and will help when starting your own business. You want that, don’t you?
Steal a tractor.
If you’ve managed to start a family and have kids, then perhaps you want a quiet and comfortable life in a country with a stable economy. You’re thinking about relocation/immigration to Canada, the USA, Switzerland, or even Australia. You have excellent skills and an in-demand profession. You won’t have to start as a dishwasher. For example, as a Senior Kotlin Developer. And, likely, with a high salary. Not so bad.
See the whole world except Paris, and don’t die.
You don’t have a family yet, and you want to travel. Upwork is everything to you. Find a client, agree on rates—starting at $20/hour, grab a laptop and go. Your income should be enough to live comfortably in any country in the world. Why not start fulfilling your dream right now?