JavaRush /Java Blog /Random EN /The programmer's path

The programmer's path

Published in the Random EN group
The programmer's path - 1A friend of mine often wondered why programmers were always so happy. The answer she came to was simple and discouraging: because they work at a job they love and have a lot of money. Welcome to the world of programmers.

Programmer salary

I want to talk about programmers’ salaries. What exactly is the situation with salaries, where is it better to go to work and where not. If you are not a programmer and try to understand this topic on your own, you may end up with a very contradictory set of data. The thing is that the main factor influencing a programmer’s salary is not his qualifications, but his place of work. Sometimes, with the same qualifications, the difference between a good and a bad place can reach 2-10 times (!) At any given moment in time, your qualifications are constant. You cannot become twice as experienced and earn twice as much in a month. But you can change jobs in a month and earn twice as much. One day, within two months, my salary tripled(!) - an unforgettable experience. Let's find out where is the best place to work. Here are three factors that greatly influence the level of salaries in companies:
  1. Is software development the main business of the company?
  2. Is the company focused on the international market or the domestic one?
  3. The owner of the company is a Western or domestic company.
Please note that the city you live in does not play a decisive role. Those. If you make 10 times less living in Dresden than someone you know in New York, then the factors listed above are at play.

Specific numbers

It is difficult to give any specific figures for the whole world. I will give a description of the situation for Eastern Europe, which is generally true for all countries where IT-outsource/outstaff is more or less developed. Below is a breakdown of programmers' salaries for Kyiv, which is a major IT outsourcing center in Eastern Europe. In St. Petersburg, salaries are 10% higher, in Moscow about 20%. I have not met a single million-plus city in Eastern Europe where salaries were 30% less than in Kyiv. Since you are all from different cities, I propose to increase the numbers I have given in accordance with the indicated scale:
Moscow +20%
Saint Petersburg +10%
Kyiv (3 million)
City with a population of one million or more -20%
A city with a population of less than a million -thirty%
Here's how much a Java Senior Developer with five years of experience can earn , depending on the level of the company they work for:
Level Salary per month Description
1 $200 - $500 At the bottom there are companies where IT is a non-core business area of ​​the company, the customer is the domestic market, and the owner is the state. For example, the IT department in a tax or other government organization.
2 $500 - $1500 Below average are the IT departments of various non-government structures: banks, etc.
3 $1,000 - $2,500 Middle level - these are companies that develop software
4 $3,000 - $4,000 Above average - these are companies that develop software, and their customers are from the West
5 $4,000 - $5,000 At the top are software development companies, their customers are from the West, and so is the owner. They are few. Job openings are rare, and getting there isn't easy. But they exist.
The programmer's path - 2 What's the strangest thing about this situation? Half of all programmers work in tier 1 and 2 firms. Want to know what the catch is? There are hundreds of open positions for programmers in tier 3 and 4 firms. These companies are willing to offer higher salaries and usually much better working conditions. I know two Java Juniors, one of whom went to work for $100 a month (at a level 1 company), and the second for $1,000 a month (level 4). Why get less? The demand for programmers exceeds the supply - do not go to work where they pay little! Conclusion 1: The average salary of Java programmers in Kiev is about $1,200 per month. Conclusion 2: Your average salary, after 5 years, if you do not go to work for companies of levels 1 and 2, but go to work for companies of levels 3 and 4, will be higher $3,000 per month. What can you achieve if you don't be stupid? If you constantly engage in self-development in the field of programming, then your salary, starting today, may look something like this. The programmer's path - 3

Plan

0-3 months (Student) You know very little about programming. Maybe they taught it at school and/or university, but very superficially. Your task is to learn programming and learn Java. Your goal is to get a job as a Java Junior in a company at least level 3. The first three months on the plan you do not receive anything, because... just learning programming. In the future, when you have a family and a lot of loans, changing your major will be much more difficult. To correct the mistake you will need to save money for a year of normal life. Don't make stupid mistakes. 3-15 months (Java Junior Developer) You are already working as a programmer, and your experience is growing every day. Don't be idle. You still have a lot to do before you can rest on your laurels. Your task is to study the technologies that you will need as a Middle developer. What technologies exactly? The world is changing. I’ll give you advice now, and life will change everything. Find a few jobs online and see what they require. Be sure to read Bruce Eckel's book, The Philosophy of Java. Your goal in your first year as a Java Junior is to reach the Java Middle level. Nobody says that it is very easy, but it is quite possible for a purposeful person. This will immediately give a jump in salary to one and a half thousand. 2nd year as a programmer (Java Middle Developer, level 1) You worked hard last year, and now you are a Java Middle Developer. With a salary of one and a half thousand you can live normally. At work you are given serious tasks, and your experience grows by leaps and bounds. You will reach the level of Java Senior Developer in two to three years. There is no point in speeding up this process. You still won’t get a strong increase in salary. Your task is to study design patterns, read McConnell's "Perfect Code". 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 will be 50 books smarter than others. Don't put it off until later: you won't have any more free time. It is likely that you will have a family, or expand if you already have one. Your goal is to choose a few technologies that you will specialize in as a Senior Developer. You still won't learn everything. And being a guru in a small area is a good decision. 3rd year of working as a programmer (Java Middle Developer, level 2) You are already an experienced Middle developer and are starting to think about becoming a Senior Developer. It's nice and prestigious. Your salary exceeds 2 thousand dollars (data for Kyiv). From now on, the demand for professionals like you exceeds the supply. You can always get a job in a couple of days, and you are unlikely to earn less than you do now. Unless, of course, you do something stupid. Your task is to continue studying the selected technologies. Do better. Not for the sake of the employer, for your own sake. Apply to 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 little more money for it and, more importantly, the valuable experience you'll need. Your goal is to change jobs. There are good people everywhere. You will encounter new projects and technologies. You should not grow to the chair ahead of time. If you are still working in a tier 3 company, consider moving to tier 4. The fifth level, although very attractive, is still unattainable. 4th year as a programmer(Java Senior Developer, level 1) You have become a Senior Developer. Congratulations. Perhaps you became one undeservedly, and you feel it. Still, congratulations. It doesn’t matter whether you are worthy of your position 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 to it a year later, than to grow to a good position and wait another year for it. I hope you haven’t forgotten my advice and read one book a week - now any student will envy your capabilities. Or rather, he is ready to pray for them. Think about it, you have a serious salary, approaching three thousand dollars. Most likely, you are still young. The whole world is under your feet. Your task is to review the technologies you have chosen again. Perhaps you need to change your specialization. The world has changed, technology has changed, and your knowledge has increased over the past two years. What you choose now will be your choice for the next few years. It's time to choose your favorite technologies. Your goal is to choose a direction in which you could develop further. There are a lot of them, no one will list all the options, but the choice needs to be made right now. If you change your present a little today, it will lead to big changes in your future. 5th year of working as a programmer (Java Senior Developer, level 2) You have decided on your future and are working to make your dreams come true. The right direction, combined with the desire to move forward, and the result will not keep you waiting. Congratulations. I am glad that I have become 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. The way it is. Your task is not to make stupid decisions and not to be led by laziness. Your goal is to choose a direction and move on. Did you think this was the end? Think back to your graduating class. This is not the end, this is just the beginning.

Future specialization

The programmer's path - 4You can develop as a technical specialist (top line), as a manager (bottom line), or as a hired professional/independent consultant (middle line). It all depends on your preferences.

Programming career

The profession of a programmer is different from other professions. There is no need to pursue a career as a manager to make good money. It is not uncommon for a senior programmer to earn more than his boss/manager. The more experience you gain, the more your relationship with your boss moves from boss-worker to movie-star-manager. Hungry programmers who know their worth are juggling both projects and vacancies. Let's be happy for our own. What does it take to become such a highly qualified and globally sought-after programmer? You must have extensive experience in the latest and most in-demand technologies. How to achieve this? The answer is below. After you get a job as a programmer for the first time, two things begin to happen to you that, oddly enough, are not always obvious.
  1. You begin to quickly gain experience working on real projects. One year of programming experience can give you more knowledge and skills in your field than 5 years of university. Experience is such a significant indicator that IT vacancies often say “a Java programmer with three years of experience is required.”

  2. You spend 8 hours a day studying new technologies, and you are also generously paid for it. The significance of this factor cannot be overestimated. In some cases, the acquired skills are so valuable that you can work for free or even pay extra to obtain them. If you wisely choose the projects you agree to work on, then a dizzying career as a programmer awaits you.
But what to choose? Often, if you don’t know which technologies will be useful to you, you start choosing technologies based on the principle of “like it, don’t like it” or “fashionable, not fashionable.” It depends on your luck. So, it is better to know in advance where you want to go. There are a lot of ways to develop a programmer, so for simplicity, I will highlight several of them and write my vision of the resulting situation. This diagram should not be taken as a rigid position, but rather as a simplified view of things, in order to bring at least some clarity.

Bicentennial Programmer

If programming is what you enjoy most , then your path is: Senior Developer, then Tech Lead Developer and Architect. You can also just work as a programmer for 50 years. Often, the salaries of senior programmers and technical leads exceed the salaries of their managers. Make no mistake.

Manager. You're lucky, you're not like everyone else

You have gone over to the enemy's side. Kidding. If you have developed remarkable 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 you start your own business. This is what you want, isn't it?

Steal a tractor

If you managed to start a family and children , then perhaps you want a quiet and comfortable life in a country with a stable economy. Are you thinking about moving/immigrating to Canada, USA, Switzerland or even Australia? You have excellent skills and a sought-after profession. You don't have to start as a dishwasher. And, for example, with Senior Java Developer. And probably for a bigger salary too. Not too bad.

See the whole world except Paris and not die

You don't have a family yet and you want to travel . Upwork is your everything. Find a customer, discuss rates with him - from $20/hour, take a laptop and go. Your salary should be enough to live normally in any country in the world. Why not start making your dreams come true now? Programming is comfortable.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION