Hi, Habr! I have been reading you for a long time, but they still did not reach to write something of their own. As usual - home, work, personal affairs, back and forth - and here you are again postponed writing the article until better times. Recently, something has changed and I will tell you what made me describe a small piece of my life about becoming a developer with examples, which may be useful for beginners, doubters and frankly not believing in themselves guys. Go!
I will start from afar - in childhood my parents gave me a huge number of encyclopedias and books - for all occasions. Any reason to give a gift - a book. Then, of course, I was not grateful to them, but simply took it for granted. But over time, communicating with other people, I made a strange conclusion: many did not know what I knew, did not hear any names, concepts, concepts, did not read the authors, and did not watch movies. At this very moment insight came: here it is, KNOWLEDGE. For a long time I did not know where to apply all this, because simple communication with people is not paid, and there was no profession to tell interesting stories at that time (there are now some bloggers, YouTube, TED-ED, etc.). I studied English, long and hard, because “It was promising and useful in the future” - at that time there was no confidence in the future profession, therefore through “I do not want” they were driving me to the lessons again and again. Now, of course, I am extremely grateful that I did not jump off at that moment and managed to get a good base, which, of course, played an important role in choosing my future profession.
I am not a simple humanist, but a “hybrid”: possessing pumped soft skills and adoring to organize the activities of people, I, at the same time, are interested in physics, chemistry, economic phenomena, computer science and popular science materials. At school I even took physics exams and entered the budget at a technical university! Having submitted documents to several universities at once in diametrically opposite faculties, until the last moment I was not sure what to choose. After entering the budget, signing all the papers and talking with the dean, my father and I came home and went about our business with a sense of accomplishment.
However, when I woke up in the morning, I was surprised to realize that an annoying and prickly thought settled in my head: “You have to go to the ped (pedagogical)”. How was it formed there: independently or as a result of shadow processes, as in Mendeleev, when he systematized the data in a dream, having gained knowledge of the table of periodic elements? I will never know that, but I went to my parents, described the problem to them, received some rather spicy assessments of my current thinking processes, their direction and general development, but did not retreat.
')
In the end, we arrived at the university, took the documents (although it was probably already illegal, because the enrollment was over) and went to submit documents to another university. My father then was very short-haired, he just had an operation on his eyes and took off his glasses and, in general, looked like a typical “brother of the 90s”, despite the 2 higher educations and the teacher's past. Of course, they could not refuse such a colorful character. Since then, I have never regretted that I entered the faculty of foreign languages.
Working with children, I realized two things:
- I like it a lot, I can tell interestingly, intertwine the information gathered from books and encyclopedias into the story and, most importantly, achieve results in the field of teaching English
- There is a catastrophic shortage of money, even if it is a part-time job (private lessons + all-season language camp for children)
In the end, after several years of working as a teacher (English, German and some Spanish), I decided to leave the profession because trite burned out. Probably, many of you are familiar with this feeling: it seems that the work is the same, the same people, work, everything that arranged for us yesterday - but the soul resists every working day, the mistakes of the children began to annoy, the calm that was always somewhere inside , began to disappear and panicked thoughts appeared about fleeing at least somewhere.
Throughout my work, I considered the possibility of changing my profession to something more relevant, not related to working with people, having made about 10 attempts at independent study of programming languages. C ++, C #, Delphi, Python, Pascal, Java - all this was difficult, incomprehensible, frightening, time-consuming and not bringing results. In fact, I simply did not have enough motivation: neither the crisis of 2008–2009, nor the problems in 2014–2015 changed my attitude to work. And when emotional burnout came, it became clear that I would not be able to continue working this way, for the sake of children whom I did not want to hurt.
In 2018, with my girlfriend, I moved to Moscow from Krasnoyarsk, she transferred to a local university, and I found a job in a private school of foreign languages. A new place, a decent salary, new people and feelings - all this allowed me to breathe life into me for about six months, after which the old problems returned.
The final decision about changing the profession has matured inside me, a plan has been drawn up, a job market has been studied, requirements for applicants have been dug up, contacts of friends and acquaintances, somehow connected with IT, have been dug out and I thoroughly gutted their brains with their meticulous questions. In general, the plan was as follows:
- Choose the most simple, as fast as possible in terms of results and from the very beginning the direction of work that is paid no less than at the previous place. They became frontend-development. Judge for yourself: knowing English at the C2 level, most of the code represented for me English teams interspersed with syntax that was quite well remembered (driven by thoughts in the style of "either this or you do not work at all"). The result in the frontend is visible immediately - this is the finished page. Payment is also quite good, from 40 thousand rubles (according to hh.ru). My salary at that time was about 60-65 + personal part-time work for ~ 20 thousand. It was not enough, but when you have to fight with yourself just to come to work, no amount of money pleases you.
- Payment and action plan: I targeted 60+ rubles, so I began to study the list of technologies relevant to the frontend: HTML, CSS, JavaScript (ES5-6), React. They added tools that make it easier at different stages to coordinate and work with the code: jQuery, Git, SASS, webpack, VS Code. This made it possible to draw up a plan for studying all of this gradually, simultaneously applying knowledge in creating websites, disassembling and translating into the code layouts and consulting with friends.
- Self-study: From February 2019 to June 2019, I studied all this, carefully studying the documentation, reading StackOverflow and looking for answers to the most stupid questions that may arise. It was hard for me - sometimes the code simply did not want to work as I imagined. But I did not despair - the analysis of the example code + documentation suggested where I made a mistake that I put it wrong and did not add it. It was then that I praised my parents every day for insisting on my learning English as a child - after all, all relevant documentation is on it.
HTML and CSS were the easiest for me - about 2 weeks. During this time, I assembled the layout of the site of some designer in pure HTML and CSS and collected all the possible crutches, studied a bunch of approaches and realized that manually writing all these lines is insanely long. Slightly googling, I immediately came across Bootstrap 4 and, having familiarized myself with the possibilities, I began to read the documentation. After a couple of days of thoughtful smoking tutorials, interspersed with watching various training videos on YouTube, I set about creating my own totally responsive website, with pictures, cards and animations. It took about 2 weeks, during which I discovered jQuery as a tool for DOM-manipulation.
Of course, it was not the best choice, but everything was simple, clear, and the result was important to me. By the way, I recommend not listening at this stage to cool programmers who offer optimizations and improvements, but simply to find the most frequent use of code, watch examples and just copy the style. The task at the initial stage is one: if only it worked. Then you can think about everything else, and when you work in a company, they will explain and show you local standards, which you will need to follow.
The most difficult thing started at the stage of learning pure JavaScript - a very serious question was born in my head: why teach it if jQuery is easier? For the answer, I went to Google: it turned out that jQuery will soon go to another world, with the exception of the legacy code, and all the programmers use JS, because frameworks come and go, and pure JS is relevant. We want to get a job and do it for a long time, right? Therefore, I started watching videos, trying to write code and functions on training sites and rewrite my previous projects. Naturally, at first it turned out a little less than nothing, but after a couple of days, without thinking, I prescribed all sorts of arrow-functions (which were simpler than usual), worked with document.getElementById selectors, sorted arrays and extracted elements of objects using .map, .filter, .reduce, worked with API and AJAX, etc.
And I was not mistaken - when studying React, I ran into a ton of JS code that needed to be parsed and understood, otherwise nothing worked. Taking a deep breath and feeling sorry for myself slightly, I began with a vengeful force to delve into the essence of the process. It soon turned out that React is a slightly modified HTML (JSX) + body kit from various tools that make it easy to update the page and create a SPA (one-page application). Add a pinch of JS - and we have animations, downloads, and transitions. Having got used to the syntax, I took the first layout of an online store and wrote a simple SPA, which allowed me to select categories, navigate through the site and change the counters of goods in the basket.
In general, nothing terrible is that you never programmed in life, no - if you work on yourself gradually, then everything is possible. Even without knowledge of the English language - there are many Russian-language sites, which will be enough for the initial stage. Good luck!
Link to educational materials, YouTube channels, articles and everything that I used in my training.