In this article, we will consider which way you need to go, how much time, effort and money you need to spend in order from scratch to reach the level when they will start sending you invitations to work abroad on very tasty conditions.
Hello, my name is Alexander Zelenin. I am a programmer with over 15 years of experience. During this time, I managed to work in positions from web developer to CTO, in companies of different levels (from 5 people to 2000+, startups, corporations), in different countries and cities. I also interviewed more than a thousand people for all the time, taught educational courses, mentored, and so on.
*This article is solely my opinion. It does not pretend to be complete, absolute correctness, absence of errors, inaccuracies. Use common sense in any decisions and be personally responsible for them.
- Is a relevant higher education required?
Not. It does not directly affect the job available, wages, or opportunities. The diploma helps a little with the visa process, but has never been a stopper. Throughout my career, I was asked for a diploma only when everything was already signed and it was necessary to arrange residence in the country. The employer has always found ways to resolve this issue.
- But, nevertheless, is it easier with higher education?
Yes, since many of the topics were touched upon in one way or another during the training. Even if everything is forgotten, then it will be faster to restore knowledge. Then if it is - good, no - well, fig with him.
- I'm an introvert. Programmer is the coolest option for introverts, right?
How to say. Until a certain moment, it may be yes, but after a couple of years, communication skills will be required for growth. You can address these issues as needed.
- Difficult to study?
Yes very. Of course, this is all individual, and for someone it is very easy (to me personally, it all seemed very easy, but the path was long), but, basically, everyone who retrained says that it is very difficult.
The main problem is that you start in a new field for yourself (especially when you were an expert in another) from the very bottom. The constant feeling that you are dumb, you don't know enough, you decide slowly, and so on. This is a serious challenge. Much more serious than meets the eye.
- Is it worth it at all?
It depends on your vision of the world, current conditions and a bunch of other factors specific to you.
A high-level professional can look forward to the following (at the time of this writing):
- For the Russian Federation: a salary in the region of 200,000 rubles white, voluntary medical insurance (for a family), cookies, free schedule, payment for education / kindergarten for children, trips to specialized conferences, high stability, interesting tasks, a complete package for moving (apartment for a month, tickets, transportation of goods, assistance with finding accommodation, etc.)
- For Europe: the salary is around 5,000 euros, and in principle everything that is higher. The relocation package often also includes a one-time payment in the region of € 7,000. Often, the local pension begins to drip and there is an opportunity to obtain a residence permit / citizenship later
- USA / Canada / Switzerland / Middle East: salary in the region of $ 10,000, and all the goodies are higher
- What does "high-level specialist" mean?
It is customary to conventionally divide specialists into 3 levels. Requirements are often very different, but in general they are as follows:
- Junior - can effectively solve problems, but the help of more experienced colleagues is required when faced with uncertainties (the task is not clear, it is not clear how to solve it, it is not clear who to ask, and so on)
- Middle is an independent unit that can solve a problem very well, and collect all information itself from the necessary sources
- Senior is an expert who knows not only the software part well, but also understands the business in which he works and can offer solutions at completely different levels
- Okay, and how long does it take to study for each level?
The very first stage is perhaps the most difficult psychologically. On Junior you will need about 1500 hours of net time (this is half a year, 8 hours every day).
After that you will work as a junior for about 1.5 years.
After that, the middle is still two years old.
If you haven't changed the subject area, then welcome to seniors (4-5 years in total).
- Wait, wait ... I've seen courses, there are 3 times a week for 2 hours and in two months they promise me a salary of 100,000 a month!
Well, if they promise, then it will be so (no).
I have taught several of these courses solely for personal interest. Even having increased the workload on students by the hour by 2.5 times (5 hours each), by the end of the second month, a good “overview” of technologies was obtained.
There is almost no competitiveness after such courses. This does not count towards “experience”. Well that is you can write at least 5 years of experience in your resume, but this will not give you experience.
- Okay, okay, is there any benefit from paid courses?
In general, there is, if you do not sit and wait for the weather by the sea, but actively use the opportunity to communicate with a mentor and provided that in addition to these courses (which are like 6 hours a week), you also invest your 34 hours on top.
- What courses would you recommend?
Free. I'm serious. The main value of the courses is communication with a mentor. This is where their benefits end. The problem with many such platforms is that: there are a lot of participants on them and the attention of the mentor is scattered, mentors are not qualified.
Often platforms offer some mere pennies for their implementation, which almost immediately excludes the appearance of good specialists who are ready to lead them (except for ideological ones, which are few and you will find figs).
- Uh, so how to study then?
- .
, , . ? , , ( ). .
— . , . , . ( ) , . - ,
, - Make a plan and set deadlines A
mentor will help you make a plan. It’s unreal on your own, because you don’t know what you don’t know
- Mentor, mentor ... what, absolutely nothing without him?
You can do without it. But then you have to read, do a lot more, try to navigate in everything and constantly double-check yourself.
I had occasion to communicate with people who have 10+ years of experience, and in terms of knowledge they do not even reach the Juns. How this comes out is a difficult question. Capturing the moment of stagnation is not easy.
You can monitor the market, see what technologies they are looking for, see different fresh solutions, and so on.
And then find a mentor. Even if you are already a senior, it is always cool to get advice from a more experienced professional.
— , , «» , 8 . ? 4 ?
Caught up. That's a very difficult question. According to previous experience, reducing the number of hours increases the duration of training disproportionately (i.e. 4 hours will not be the expected year, but, say, 1.5-2). Also, depending on the current work, the assimilation of complex material may simply not go and that's it, that is, it may not work to combine. It all depends, everything is individual.
One of the ways is to accumulate funds and devote six months to such a transition. This can be very difficult when there is already a family or other requirements in the form of mortgages and the like. And it can also turn out that it is difficult to find a job on the fly or any unforeseen circumstances such as coronavirus.
Another way is ... well, figure it out in full. What do you want? :-D
- My friend completed the courses in two months and began to receive $ 5000 per month immediately after
Several options: either he is lying, or he is a genius (in this case, the course has nothing to do with it, coincidentally), or he was lucky (an acquaintance hired in a cunning way, etc.), or this is something super highly specialized and he found a loophole ... Let him tell you how. It also happens when a startup does not know where to spend money from an investor and clearly overpays. In the first company with adequate development, the picture will be completely different.
- Where to look for work?
In capitals or, at least, million-plus cities. If you are not in Moscow, Kiev, Minsk or wherever you are - get ready to move. Local markets are too small and cannot provide enough vacancies (especially for beginners), opportunities for growth are small, and so on. In general, deleting the entire article and leaving only this recommendation will be one of the best career decisions (!, But it may not be the best for your other factors).
There are exceptions when some large companies have development offices in smaller cities. If you aim at such a company, or there is one in your city, it is advisable to compare all the options with each other in advance.
- Is it possible to get a job right away?
It is possible, it will be more difficult, first of all, for you. Not because the work itself is different, but because the answers to questions will be delayed, it will not be possible for a person to come up and show with a finger where what and why. Yes, there are a bunch of tools now (TV, chats, Skype, boards are different), but in terms of comfort and communication speed, it is different. If you aim at a distance, then you need to be ready to figure x2 from the norm in order to at least keep up with an adequate pace.
- I'm 45. Will they take me Juniur without live experience?
Yes, they will. Age will even play a plus for you, because a lot of experience from life is well transferred to technology. With a high probability, you will go through the path to the seigneur much faster, thanks to everyday experience (which begins to play a greater role from the “middle” stage than technical skills). With relocations to some countries it may be more difficult if the age is large and there is no tower, but this is also all solvable.
- What language to learn?
Depends on what you want to do. If you don't want to play the lottery and go down the safe path, Java is your choice. In any case, it will allow you to go all the way without a strong technological change and with very good pay.
If you have a friend who promises to set you up as a PHP developer in six months, this might also be a good candidate. Because the language is not important.
- I thought you were joking about English. Need to teach him?
Not at the start. Despite the fact that a lot of documentation, information and articles are in English, all this can be absorbed through translators. You will need English when you decide to move. A good time to start studying might be a couple of months after hiring as a Junior. And yes, you will definitely need to communicate with native speakers - be prepared to invest in this as well.
About the translator, a mini-example: just recently I had to deal with a library for which the actual documentation exists only in Chinese (MyBatis-Plus) - Google translate helped me figure out what's what without much adventure.
- Wait, you said the language is not important ... what?
This is not entirely true. It is important, of course, but after a certain stage (senior) you will not care what language you write in. The concepts on which the program is built are transferred from language to language and it is their study that takes much more time.
Relatively speaking, it can be imagined that a professional writer decided to write a story in a language other than his own - the story will not be so expressive and beautiful, but the story itself will be cool, because he already knows how to write a cool story. Language is only a communication tool.
- Okay, can you give me a plan for what to do?
- Decide what you really need. Is it worth it?
- Decide what you want to do. Ideally, make a list of companies you would like to work for. Ideally, choose where you want to be in six months, two and five.
- , . , .
- , ( 2 3)
- , . . . . .
- . 1 , easy .
- . , . - - , .
- .
Regardless of the language, the list of topics that I recommend to include in the plan: version control (git, github), structures and algorithms (know all common ones, big O, know that “there is something like that” and be able to find quickly), IDE ( why, how to set it up), debugging and profiling (how to find errors, breakpoints, etc.), testing (writing at least the simplest tests and understanding what to include in them), databases (relational, network, document-oriented), documenting (how write, why), planning and prioritization (how long it will take, what to do and when), learn Style Gudie according to your language, linux (basic understanding of what is there, why and where, the ability to run your code there), package managers (how to use, why how to maintain), semantic versioning (why is it, how to follow), frameworks (in the desired language,at least for acquaintance a few), tools for assembly and automation, cryptography (basic what exists, not how to do it), authorization and authentication (what is what and what exists for this).
How deep to dig into each topic depends on the conditions, what you decided to study, and so on. For some topics, 15 minutes is enough, for some you can allocate a month or two out of half a year.
- I saw that a company that is interesting to me trains from scratch and hires. What's the catch?
In a low salary for the first year or two. But in general, this is a pretty cool option, since with proper motivation, this is a guaranteed job, live experience and motivated mentors who will teach you exactly what the company needs. In theory, this could reduce variation after or lengthen the growth period, but this is highly dependent on specific companies and offerings. If a company from your list of interests has similar internships from scratch, it is worth taking a closer look at them.
- Tin, everything is complicated.
Yes and no. The hardest part is at the start. Further, many concepts are remembered and do not need to be kept in mind. A lot of things google in 10 seconds, provided that you know what to google.