Hey Habr!
At leisure, reading interesting about becoming a programmer, I thought that in general, you and I go through the same minefield with a rake on a career path. It starts with a hatred of the education system, which supposedly āshouldā make seniors out of us, and ends with the realization that the heavy burden of education falls only on our shoulders, but often this realization comes too late.

I must admit that all these difficulties in most cases weed out quite 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 smart articles based on the examples of outstanding personalities of our time, risk breaking on the reefs of reality .
I think each of us at least once thought about himself that he was not smart enough or good enough for this profession, that this was not his at all. Or, on the contrary, that he is incredibly exceptional, that his knowledge is at such a high level that hardly anyone can compete with him, let alone teach something, familiar? If yes, then breathe a sigh of relief - you are on the right track. All these are typical emotions for a novice programmer, but do not relax, the most difficult is ahead.
I want to show you the main points in the path of becoming a programmer using the example of my history and my mistakes, most importantly, no matter how badly you evaluate yourself, this does not mean that you need to give up. The meaning of this story may seem banal, and the conclusions seem to lie on the surface, but often many need a little push to understand the obvious facts.
The first misconception is to consider yourself the smartest
Probably should start from 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 stories, inspired by the beauty of virtual worlds, I liked to feel in the center of events. Over time, thoughts began to appear in my head about how cool it is to make games and that I should definitely be their developer. I started learning to code a little. And after the first method, which added two numbers, I already walked with my nose up and thoughts that I understand programming, I am a programmer, and our computer science teachers do not understand anything in this life, teaching us what a computer is and all sorts of conjunctions and disjunctions. This was the first and most stupid mistake, but more on that later.
I studied so-so, so after the 9th grade, you can say that I was expelled from school. With my certificate, I could not enter anywhere and had to go where they took me, but they took me to some low-level school (vocational school). I still thought that I was a cool programmer and all this education did not give up to me. Six months later, I began to understand that something was wrong here and I did not want to be surrounded by a not very developed society, which my irresponsibility towards myself awarded me. I decided to go back to school and yet I was definitely kicked out of the 10th grade. At this stage in my life, I realized that you should rely only on yourself, neither friends, nor family, no one will put knowledge into you if you yourself do not want to learn.
The next stage of life was technical school or college, whatever. In short, omitting the process of crawling on my knees and finding a place to go, I put in enough effort to get into a normal place with my diploma and got in. Even then I understood that in order to achieve something you need to study, and I devoted myself to education and a little programming. But again he was quickly disappointed and, again returning to his first mistake, he insisted that the education system does not give anything, that I am smarter than people who teach something. But nevertheless, common sense remained in me and I did not quit my studies and continued to make efforts for my development, because it is difficult to give up something for which you put a lot of your efforts. I am sure that if I had simply been paid for and I had not made the effort myself, I would not have such an opinion.
The second misconception is the excessive underestimation of one's knowledge
During my studies, there were interesting competitions in sports programming, in which I decided to take part, which in the future became very useful for me. Now my vanity and maximalism have changed to terribly low self-esteem, I kept saying that I donāt know anything, I donāt understand anything, itās difficult and itās not mine, but the excitement of the competition made me bite the bullet and try to change something. Good motivation made it possible not to give up the desire to learn programming, and the award in the form of a prize to understand that all this was not in vain. It was the first step on the right path.
It is important to understand that for any person studying some new kind of activity, at first it seems that he is conquering mountains, the development is so fast that the amount of new information fills the head, a feeling of enlightenment begins and comparing how much the skill has improved during this time, you can only admire. Then the motivational mood is replaced by depression with the feeling that nothing is working out, the skill is not moving anywhere, because if you compare the results of development, it will seem that it is slowing down more and more. This is the so-called pit, which lies in wait for everyone who decides 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 arise often 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 yourself are responsible for it. I had a clear goal, I liked doing some projects, I had a small amount of knowledge and motivation to go further.
Here, it should be noted, lies a very dangerous abyss. Having coped with all past difficulties, it seems that here it is, what I have been striving for 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 adulthood, get my first job, yes, it will not be a dream job, but I will do what inspires me.
The bottom line is that the first job, and indeed any job, does not dip into the world that you dreamed of. It turns out that the summit that you have overcome is only the first step towards what seemed to be very close.
Why is this happening?
When you get your first job, you suddenly realize that your knowledge is sorely lacking. This is partly true, and you may get the feeling that programming is not for you. But we have experienced this feeling before and have learned to overcome it. Once you get used to it, you realize that there is a worse problem lurking here.
Professional fade
This stage in my career was the most painful.
The first job turned out to be completely different from what I imagined it to be. Those projects that I developed in my spare time that inspired me and brought me great pleasure. had nothing to do with work. Everything that I set myself up for and dreamed about just flew into the reefs of reality. This is a very breaking factor, I was upset a lot 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 - this was not necessary for the business, everything that already exists brings money, which means it's 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 this is true, but this is a hard way of finding yourself and what you are really interested in, including the right job.
I note that this stage weeds out even more people who with difficulty overcame past obstacles and simply did not get what they dreamed of. You need to understand that working as a programmer is not your favorite hobby, at least at the beginning of your career. This is the same job 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 give up here and then the whole attitude to work will turn into a simple need to earn numbers on the map, professional development will stop, and this is not allowed in a career as a programmer. You need to overcome yourself and set it up correctly, understand that work is a tool whose behavior depends only on you. Appreciate all the experience that can be gained, when the time comes, the experience will be enough to go to a better place, so on and on and in time you will begin to see the very horizon that you dreamed about 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, understand. how the business you work in works and how exactly you bring money to it. It is much easier to pull up a ā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.
Bringing the story to a close, I will give a reinforcing example. My first place of work could not boast of any technology or development vector that I wanted. But one day, newfangled development methodologies according to Agile principles reached us, which managers wanted under the pretext that this would increase the pace of development, and hence the profit of the company. This made it possible to look at the whole process from the stage of inception to the full functioning of the newly minted team. In the future, these skills were very useful in future jobs, which emphasizes the importance of extracting useful experience from any situation.
What is the result?
- If you think you know everything, I advise you to think it over well.
- If you think you don't know anything, you are on the right track.
- You need to understand that no one will put knowledge into your head if you yourself do not want it. This is not a problem of education, stop wasting time looking for its imperfections, because the work will not put knowledge into your head either if you do not want it.
- Do not create illusions that the work will bring pleasure, as your hobby brings it right after the diploma falls into your hands. Programming is the same job, it can be routine, tedious, unpromising, and sometimes interesting and exciting, but it's work.
- Everyone can become a programmer, the main thing is not to give up and overcome the difficulties that await everyone who decides to get into IT.
Source: habr.com
