Hi, Habr!
At leisure, reading an interesting
article about becoming a programmer, I thought that in general we are going through the same minefield with a rake on a career path. It begins with a hatred of the education system, which supposedly “must” do seniors of us and ending with the realization that the heavy burden of learning falls only on our shoulders, but often this awareness comes late.

I must admit that all these difficulties in most cases weed out a lot of people who are not ready to change themselves and constantly learn, and those who want to get into IT only because of the mountains of gold that promise clever articles using examples of prominent personalities of our time risk breaking the reefs of reality .
')
I think each of us at least once thought about himself that he is not smart enough or good for this profession, that it’s not all at all. Or, on the contrary, that he is incredibly exceptional, that his knowledge is at such a high level that it is unlikely that anyone will be able to compete with him, let alone teach something, is familiar? If so, then breathe with relief - you are on the right track. All these are typical emotions for a novice programmer, but you shouldn’t relax, the most difficult thing ahead.
I want to show you the main points in the way of becoming a programmer on the example of my history and my mistakes, most importantly, no matter how badly you evaluate yourself, this does not mean giving up. The meaning of this story may seem trivial, and the conclusions would seem to lie on the surface, but often many need a little push to understand the obvious facts.
Misconception the first - consider yourself the smartest.
Probably worth starting with school time. I, like most teenagers, did not consider studying something interesting, it was much more interesting to play computer games. I was fascinated by the stories, inspired by the beauty of the virtual worlds, I liked to feel in the center of events. Over time, thoughts began to appear in my head about how cool it was to make games and that I must be their developer. I started learning a little programming. And after the first method, which added two numbers, I already went with a raised nose and thoughts about how I understand programming, I am a programmer, and our informatics teachers do not understand anything in this life, teaching us what a computer is and everything conjunctions and disjunctions. It was the first and most stupid mistake, but more about it.
I studied so-so, so after grade 9, I can be said that I was kicked out of school. I couldn’t go anywhere with my certificate and had to go where I was taken, but they took me to some low-level school (VET). I still thought that I was a cool programmer and all this education did not give up to me. After six months, I began to realize that something was wrong here and I did not want to be surrounded by the not very developed society, with which I was rewarded by my irresponsibility to myself. I decided to go back to school and yet I was definitely kicked out of the 10th grade. At this stage of life, I realized that you should rely only on yourself, neither friends, nor family, no one will invest knowledge in you if you yourself do not want to learn.
The next stage of life was a technical school or college, somehow. In short, omitting the process of crawling on my knees and finding a place to go to me, I put a lot of effort into doing with my certificate in a normal place and entered. Already then I understood that in order to achieve something you need to learn, and I devoted myself to education and a little programming. But again he quickly became disillusioned and, returning again to his first mistake, asserted that the education system does not give anything, that I am smarter here than people who teach something. But nevertheless, common sense remained in me and I did not give up training and continued to make efforts for my development, because it is difficult to give up what you put a lot of your efforts into. I am sure that if they simply paid for me and I didn’t put an effort myself, I wouldn’t have such an opinion.
Fallacy second - excessive understating of their knowledge
During my studies there were interesting championships in sports programming, in which I decided to take part, which in the future became very useful for me. Now my self-love and maximalism changed to a terribly low self-esteem, I insisted that I did not know anything, I did not understand anything, it was difficult and it was not mine, but the excitement of competition made me grit my teeth and try to change something. Good motivation made it possible not to give up the desire to study programming, and the reward in the form of a prize place is to understand that all this is not in vain. It was the first step to the right path.
It is important to understand that for any person who studies a new type of activity for himself, at first it seems that he conquers mountains, development is so rapid that the volume of information overwhelms his head, a sense of enlightenment begins and comparing how much the skill has improved during this time admire. Then the motivational mood gives way to depression with the feeling that nothing happens, the skill does not move anywhere, because if you compare the results of development, it will seem that it slows down more and more. This is the so-called pit, which lurks anyone who has decided to become a professional in any activity. Remember that if you have reached this point - you are already on the right track, this feeling will often arise in the future, the main thing is not to let yourself be broken and give up everything.
By the time of graduation, I already realized that our education is not so useless, it gives you the opportunity to choose the direction for your development, but you are responsible for it. I had a clear goal, I liked to do some projects, I had a small store of knowledge and motivation to go further.
Here, it must be noted lies a very dangerous gulf. Having coped with all past difficulties, it seems that this is what I have been striving for so long. I know what I want, I understand where I need to develop, I have a goal and I am ready to enter adult life, get a first job, yes, it will not be a dream job, but I will be engaged in a business that inspires me.
The bottom line is that the first job, and indeed, any job plunges into the wrong world you dreamed of. It turns out the top, which you have overcome, is only the first step to what seemed already very near.
Why it happens?
When you get your first job, you suddenly realize that your knowledge is sorely lacking. In part, this is true, and you may feel that programming is not yours. But earlier we already faced this feeling and learned to overcome it. Having mastered, you understand that there is a worse problem here.
Professional attenuation
This stage in my career was the most painful.
The first work turned out to be completely different from what I imagined. Those projects that I developed in my spare time, which inspired me and brought great pleasure. had nothing to do with work. Everything that I set myself up for and what I dreamed of just flew into the reefs of reality. This is a very breaking factor, I was a lot upset and thought that everything was wrong or something was wrong with me. Boring tasks and routine work just finished. I wanted to develop, offered new ideas, new tools, but for the most part - it was not needed by the business, everything that already exists - brings money, which means it is good. Not to mention what you can read in smart articles and books: programming is a highly paid hobby that you enjoy, and you also get paid for it. Perhaps in some particular way it is, but it’s a hard way to find yourself and what you’re really interested in, including the right job.
I will note that this stage eliminates even more people who have hardly overcome past obstacles and simply did not get what they dreamed of. You must understand that working as a programmer is not your favorite hobby, at least at the beginning of your career. This is the same work that rarely gives pleasure, but brings money. It is very important how you set yourself up to overcome this difficulty. It is very easy to surrender here and then the whole attitude to work will turn into a simple need to earn numbers on the card, professional development will stop, and this is not permissible in a programmer’s career. You need to overcome yourself and set up correctly, understand that work is a tool whose behavior depends only on you. Appreciate all the experience that can be acquired when the time comes, the experience will be enough to go to the best place, so further and further you will eventually see the same horizon that you dreamed of as a student. But remember that everything depends on you.
In today's realities, programming skills alone are not enough, you need to be able to interact with people, to understand. How is the business in which you work and how exactly do you bring him money? It is much easier to tighten the “team” person in programming than to develop communication skills. Therefore, pay attention to any experience that you can get, but do not forget that all this knowledge should complement each other.
Summarizing the story to the end, I will give a fixing example. My first job could not boast of any technology or development vector, which I wanted. But one day we were reached by new-fashioned development methodologies according to the principles of Agile, which the leaders wanted under the pretext that this would increase the rate of development, and therefore the company's profit. This allowed to look at the whole process from its inception stage to the full functioning of the newly created team. In the future, these skills were very useful in future workplaces, which underlines the importance of extracting useful experience from all situations.
What is the result?
- If you think you know everything, I advise you to think about it well.
- If you think you know nothing, then you are on the right track.
- You need to understand that no one will put knowledge into your head if you don’t want to do it yourself. This is not a problem of education, stop wasting time looking for its imperfection, because the work also does not put knowledge into your head if you don’t want to.
- Do not create yourself the illusion that the work will bring pleasure, as it brings your hobby immediately after your diploma enters your hands. Programming is the same job, it can be routine, tedious, hopeless, and it can be interesting and exciting, but it is work.
- Everyone can become a programmer, the main thing is not to give up and overcome the difficulties that lie in wait for everyone who decided to get into IT.