From Humanities to Developers in Numbers and Colors

Hey Habr! I've been reading you for a long time, but I still couldn't get around to writing something of my own. As usual - home, work, personal affairs, back and forth - and here you are again postponing writing an article until better times. Recently, something has changed and I will tell you what prompted me to 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'll start from afar - as a child, my parents gave me a huge number of encyclopedias and books - for all occasions. Any reason to give a gift is 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 films. At that very moment, an 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 in any way, and there was no profession to tell interesting stories at that time (now there are some bloggers, YouTube, TED-ED, etc.). I studied English for a long time and painstakingly, because. β€œIt was promising and will come in handy in the future” - at that time, of course, there was no confidence in the future profession, so through β€œI don’t want to” I was driven to 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”: having advanced soft skills and adoring organizing people’s activities, at the same time I am interested in physics, chemistry, economic phenomena, computer science and popular science materials. At school, I even took exams in physics and entered the technical university on a budget! Having applied to several universities at once for diametrically opposed faculties, I was not sure until the last moment what to choose. After receiving 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 had settled in my head: β€œI need to go to the ped (pedagogical)”. How did it form there: on its own or as a result of shadow processes like Mendeleev's, when he systematized data in a dream, having gained knowledge of the table of periodic elements? I will never know this, but I went to my parents, described the problem to them, got some rather juicy assessments of my current thought processes, their direction and general development, but did not back down.

In the end, we arrived at the university, took the documents (although this was most likely already illegal, because the enrollment had passed) and went to apply to another university. My father then had a very short haircut, had just had eye surgery and took off his glasses and in general looked like a typical β€œbrother from the 90s”, despite 2 higher educations and a teaching background. 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 really like it, I can tell interesting stories, weave information from books and encyclopedias into the story and, most importantly, achieve results in the field of teaching English
  • There is a catastrophic lack of money, even if you do part-time work (private lessons + language all-season children's camp)

In the end, after several years of teaching (English, German and some Spanish), I decided to leave the profession, because. simply 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 suited yesterday - but the soul resists every working day, the mistakes of the children began to irritate internally, the calmness that was always somewhere inside , began to disappear and panicked thoughts appeared about how to escape at least somewhere.

Throughout my career, I considered changing my profession to something more relevant, not related to working with people, having made about 10 attempts on my own to learn programming languages. C++, C#, Delphi, Python, Pascal, Java - all this was complex, incomprehensible, intimidating, time-consuming and unproductive. 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 could not continue to work like this, for the sake of the children, whom I did not want to injure.

In 2018, I moved to Moscow from Krasnoyarsk with my girlfriend, she transferred to a local university, and I found a job at 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.

Inside me, the final decision to change my profession ripened, a plan was drawn up, the job market was studied, requirements for applicants were dug up, contacts of friends and acquaintances, somehow connected with IT, were dug out, and I thoroughly gutted their brains with my meticulous questions. In general, the plan went like this:

  1. Choose the most simple, as fast as possible in terms of results and from the very beginning paid no less than at the previous place of work. They became frontend development. Judge for yourself: knowing English at the C2 level, most of the code presented English commands to me mixed with syntax that was quite good to remember (driven by thoughts in the style of β€œeither this or you don’t work at all”). The result in the frontend is immediately visible - this is the finished page. Payment is also not bad, from 40 thousand rubles (according to hh.ru). My salary at that time was about 60-65 + personal part-time jobs 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.
  2. Payment and action plan: I am aiming for 60+ rubles, so I began to study the list of technologies relevant for the front-end: HTML, CSS, JavaScript (ES5-6), React. They were supplemented by tools that make it easier at different stages to coordinate and work with the code: jQuery, Git, SASS, webpack, VS Code. This allowed us to outline a plan for learning all this gradually, along the way applying knowledge in creating sites, disassembling and coding layouts and consulting with friends.
  3. Self-Learning: From February 2019 to June 2019, I studied all of this, diligently reading the documentation, reading StackOverFlow and looking for answers to the most stupid questions that could possibly arise. It was hard for me - sometimes the code just didn't want to work the way I imagined. But I did not despair - the analysis of the code example + documentation suggested where I made a mistake, what I put wrong and what I did not add. It was then that I praised my parents every day for insisting on my teaching English as a child - after all, all the relevant documentation is on it.

HTML and CSS were the easiest for me - about 2 weeks. During this time, I put together a website layout of some designer in pure HTML and CSS and collected all possible crutches, studied a bunch of approaches and realized that manually writing all these lines is insanely long. After a little googling, I immediately stumbled upon Bootstrap 4 and, having familiarized myself with the possibilities, began to read the documentation. After a couple of days of thoughtfully smoking manuals, interspersed with watching various tutorial videos on YouTube, I set about creating my own totally responsive website, with pictures, cards and animations. It took about 2 weeks for me to discover jQuery as a DOM manipulation tool.

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 to cool programmers at this stage who offer optimizations and improvements, but simply find the most common use case for the code, look at examples and just copy the style. The task at the initial stage is the same: if only it worked. Later, you can think about everything else, and only when you work for the company, they will explain to you and show you local standards, which you will need to follow.

The hardest part started at the stage of learning pure JavaScript - a very serious question was born in my head: why learn this if jQuery is easier? I went to Google for an answer: it turned out that jQuery will soon go to another world, with the exception of legacy code, and all true programmers use JS, because. frameworks come and go, but pure JS is relevant. We want to get a job and do it for a long time, right? So I started watching videos, trying out code and features on tutorial sites, and rewriting my previous projects. Naturally, at first it turned out a little less than nothing, but after a couple of days, without thinking, I no longer registered all sorts of arrow-functions (which turned out to be easier 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 - while learning React, I came across a ton of JS code that needed to be parsed and understood, otherwise nothing would work. Taking a deep breath and pitying myself a little, I began to delve into the essence of the process with a vengeance. Very soon it turned out that React is a slightly modified HTML (JSX) + a body kit of various tools that make it easier to update the page and create an SPA (Single Page Application). Add a pinch of JS and we have animations, loads and transitions. Getting used to the syntax, I took the first online store layout that came across and wrote a simple SPA that allowed me to select categories, navigate the site, and change the counters of items in the cart.

In general, there is nothing wrong with the fact that you have never programmed in your life, no - if you work on yourself gradually, then everything is possible. Even without knowledge of English, there are many Russian-language sites that will be enough for the initial stage. Good luck!

Link to tutorials, YouTube channels, articles and everything I used in my training.

Source: habr.com

Add a comment