Why do programmers always look so happy? The answer is simple and disconcerting: because they work at a job they love, and they have a ton of money.
Welcome to the world of programmers.
Programmer salary
I want to talk about programmers’ salaries: what the salary situation actually looks like, where it’s better to work, and where it’s not. If you’re not a programmer and try to figure this 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 qualification, the difference between a good and a bad place can reach 2–10x(!)
At any given 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 have a very strong impact on 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 company is a Western company or a local one.
Note that the city you live in does not play a 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 provide 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 Go Senior Developer with five years of experience can earn, depending on the level of the company they work for:
| Level | Monthly salary | Description |
|---|---|---|
| 1 | $200 — $500 | At the very bottom are organizations where IT is a non-core line of business, the customer is the domestic market, and the owner is the state. For example, an IT department in a tax office or another government organization. |
| 2 | $500 — $1500 | Below average are IT departments of various non-government organizations: banks, etc. |
| 3 | $1,000 — $2,500 | The middle level is companies that do software development. |
| 4 | $3,000 — $4,000 | Above average is companies that do software development and have customers in the West. |
| 5 | $4,000 — $5,000 | At the very top are companies that do software development, have customers in the West, and the owner is Western as well. There are few of them. Open positions do not appear often, and getting in is not easy. But they exist. |
What’s the strangest thing about the situation that has developed?
Half of all programmers work at level 1 and 2 companies.
Want to know what the catch is?
There are hundreds of open programmer positions at level 3 and 4 companies. These companies are ready to offer higher salaries and usually much better working conditions.
A real-life situation: there are two Go Juniors. One of them goes to work for $100 a month (at a level 1 company), and the other for $1,000 a month (level 4). Why earn less?
What you can achieve if you don’t waste time
If you constantly focus on self-development in programming, your salary, starting from today, will change approximately like this (+/− a few hundred dollars depending on the city you work in):
Plan
0–3 months (Student)
You know very little about programming. Maybe you studied it in school and/or university, but very superficially.
Your task is to learn programming and study Go.
Your goal is to get a job as a Go Junior in a company of at least level 3.
In the first three months on 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’ll need to set aside money for a year of normal living. Don’t make stupid mistakes.
3–15 months (Go Junior Developer)
You are already working as a programmer, and your experience grows every day. Don’t slack off. 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 can advise you now, and life will change everything. Find a few job postings online and see what they require.
Your goal in the first year working as a Go Junior is to grow to the Go Middle level. No one says it’s very easy, but it’s quite possible for a determined person. This will immediately boost your salary to around $1,500.
Year 2 as a programmer (Go Middle Developer, level 1)
You worked hard last year, and now you are a Go Middle Developer. With a salary of $1,500 you can live comfortably. At work you get serious tasks, and your experience grows by leaps and bounds. You will grow into a Go Senior Developer in two to three years. There is no point in speeding up this process. You still won’t get a huge salary increase.
Your task is to learn design patterns and read McConnell’s “Code Complete”. Improve your code quality and your teamwork skills. You can make it a rule to read one IT book every week. Then after a year you will be 50 books smarter than everyone else. Don’t put this off for later: you won’t have more free time. It’s quite likely you’ll have 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 can’t learn everything anyway. And being a guru in a narrow area is a good choice.
Year 3 as a programmer (Go 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 (data for Kyiv). From this point on, demand for professionals like you exceeds supply. You will always be able to find 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’ve chosen. Work better. Not for your employer—for yourself. Ask to join projects with promising technologies (such as Big Data at the time of writing this article). You’ll be spending 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, think about moving to level 4. Level 5, while very attractive, is not attainable yet.
Year 4 as a programmer (Go Senior Developer, level 1)
You became a Senior developer. Congratulations. Perhaps 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. Rather, 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 the technologies you chose 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 decide to stop on now will become your choice for the next several years. It’s time to choose the technologies you love.
Your goal is to choose a direction in which you could continue developing. There are many of them; no one can list all options, but you need to make the choice right now. If today you change your present a little, it will lead to big changes in your future.
Year 5 as a programmer (Go Senior Developer, level 2)
You have decided on your future and are working on making your dream real. The right direction combined with the desire to move forward—and the result won’t be long in coming. Congratulations. We are glad that there is now 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. Did you think this was the end? Remember your graduation year. This isn’t the end; it’s 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.
A programmer’s career
The programmer profession differs from other professions. Here, there’s no need to build a manager career to earn well. It’s not uncommon for a senior programmer to earn more than their manager boss. The more experience you gain, the more your relationship with management shifts from “boss–worker” to something like “movie star and their manager”. Overfed programmers who know their worth pick and choose both projects and job openings. Good for us.
So what does it take to become such a high-class, globally in-demand programmer? You must have extensive experience with the newest and most in-demand technologies. How to achieve this? The answer is below.
After you get your first programming job, two things start happening to you that, oddly enough, are not always obvious.
1. You start quickly gaining experience in real projects. One year of work experience as a programmer can give you more knowledge and skills in your specialty than 5 years of university. Experience is such a significant indicator that in IT job postings they often write, “Go programmer with three years of experience required”.
2. You spend 8 hours a day learning new technologies, and you’re also paid generously for it. The importance of this factor is hard to overstate. In some cases, the skills you gain are so important that it can be worth working for free to get them—or even paying extra. If you choose the projects you agree to work on wisely, a dizzying programmer career awaits you.
But what should you choose?
Often, if you don’t know which technologies will be useful to you, you start choosing based on “like/dislike” or “trendy/not trendy”. Then it’s just luck. So it’s better to know in advance where you want to end up.
There are many 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 stance—rather as a simplified view intended to bring at least some clarity.
The 200-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 simply work as a programmer for 50 years. Often, senior programmers’ and tech leads’ salaries exceed their managers’ salaries. Don’t miss out.
Manager. You’re lucky—you’re not like everyone else.
You switched to the enemy’s side. Kidding. If you have strong organizational skills, then your path is Team Lead and then Project Manager. This gives you a chance to become a director and will help if you start your own business. That’s what you want, right?
Steal a tractor.
If you already have a family and children, then perhaps you want a quiet, 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 great skills and an in-demand profession. You won’t have to start as a dishwasher. You can start, for example, as a Senior Go Developer. And likely with a big salary, too. 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 for you. Find a client, negotiate rates—from $20/hour—grab a laptop and go. Your income should be enough to live comfortably in any country in the world. Why not start making your dream come true right now?
GO TO FULL VERSION