Od humanistu po developera v číslach a farbách

Ahoj Habr! Čítam ťa už dlho, ale stále som sa nedostal k tomu, aby som napísal niečo vlastné. Ako inak – domov, práca, osobné záležitosti, sem-tam – a teraz ste opäť odložili písanie článku na lepšie časy. Nedávno sa niečo zmenilo a poviem vám, čo ma podnietilo opísať malý kúsok môjho života o tom, ako sa stať vývojárom, s príkladmi, ktoré môžu byť užitočné pre začiatočníkov, pochybovačov a ľudí, ktorí si úprimne neveria. Choď!

Začnem z diaľky – ako dieťaťu mi rodičia darovali obrovské množstvo encyklopédií a kníh – na všetky príležitosti. Akýkoľvek dôvod na darovanie je kniha. Potom som im, samozrejme, nebol vďačný, ale jednoducho som to považoval za samozrejmosť. Ale časom, keď som hovoril s inými ľuďmi, som dospel k zvláštnemu záveru: mnohí nevedeli, čo som vedel, nepočuli žiadne mená, koncepty, koncepty, nečítali autorov a nepozerali filmy. Práve v tejto chvíli prišlo poznanie: je to tu, VEDOMIE. Dlho som nevedela, kde to všetko uplatním, pretože jednoducho komunikovať s ľuďmi sa nijako nevypláca a v tom čase neexistovala profesia rozprávajúca zaujímavé príbehy (teraz sú tu nejakí blogeri, YouTube, TED-ED atď.). Študoval som angličtinu, dlho a usilovne, pretože... „Bolo to sľubné a bolo by to užitočné v budúcnosti“ – v tom čase, samozrejme, neexistovala dôvera v moje budúce povolanie, takže cez „nechcem“ ma znova a znova hnali na hodiny. Teraz som, samozrejme, neskutočne vďačná, že som v tej chvíli neskočila a podarilo sa mi získať dobrý základ, ktorý, samozrejme, zohral dôležitú úlohu pri výbere môjho budúceho povolania.

Nie som obyčajný humanista, ale „hybrid“: s pokročilými mäkkými zručnosťami a rád organizujem aktivity ľudí a zároveň sa zaujímam o fyziku, chémiu, ekonomické javy, informatiku a populárno-vedecké materiály. V škole som dokonca zložil skúšky z fyziky a vstúpil som na technickú univerzitu s obmedzeným rozpočtom! Po prihláške na niekoľko univerzít naraz na diametrálne odlišné fakulty som do poslednej chvíle nevedel, čo si vybrať. Po podaní žiadosti o rozpočet, podpísaní všetkých papierov a rozhovore s dekanom sme sa s otcom vrátili domov a pustili sa do podnikania s pocitom úspechu.

Keď som sa však ráno zobudil, s prekvapením som si uvedomil, že sa mi v hlave usadila nepríjemná a pichľavá myšlienka: „Musím ísť na ped. Ako sa to tam vytvorilo: nezávisle alebo v dôsledku tieňových procesov ako Mendelejev, keď systematizoval údaje vo sne a získal znalosti o tabuľke periodických prvkov? To sa už nikdy nedozviem, ale zašiel som za rodičmi, opísal som im problém, dostal som dosť šťavnaté hodnotenia mojich súčasných myšlienkových pochodov, ich smerovania a celkového vývoja, ale neustúpil som.

Nakoniec sme dorazili na univerzitu, zobrali si dokumenty (aj keď to bolo s najväčšou pravdepodobnosťou nelegálne, keďže zápis skončil) a išli sme si podať prihlášku na inú univerzitu. Môj otec sa vtedy nechal ostrihať nakrátko, mal práve po operácii očí a zložil si okuliare a celkovo vyzeral ako typický „brat z 90-tych rokov“, napriek 2 vysokoškolskému vzdelaniu a pedagogickému zázemiu. Samozrejme, nemohli odmietnuť takú farebnú postavu. Odvtedy som nikdy neoľutoval, že som nastúpil na fakultu cudzích jazykov.

Pri práci s deťmi som si uvedomil dve veci:

  • Veľmi sa mi to páči, viem vyrozprávať zaujímavý príbeh, zapliesť do príbehu informácie nazbierané z kníh a encyklopédií a hlavne dosiahnuť výsledky v oblasti výučby angličtiny
  • Katastrofálny nedostatok peňazí, aj keď robíš brigádu (súkromné ​​hodiny + celosezónny jazykový tábor pre deti)

V dôsledku toho som sa po niekoľkých rokoch práce učiteľa (angličtina, nemčina a trochu španielčiny) rozhodol opustiť toto povolanie, pretože... jednoducho vyhorela. Pravdepodobne mnohí poznáte tento pocit: zdá sa, že práca je rovnaká, tí istí ľudia, práca, všetko, čo sa vám včera hodilo - ale duša odoláva každému pracovnému dňu, chyby detí sa stali vnútorne otravnými, mier, ktorý bol vždy niekde vo vnútri, sa začal vytrácať a objavili sa panické myšlienky o úteku niekam.

Počas svojej kariéry som zvažoval možnosť zmeniť profesiu na niečo relevantnejšie, čo nesúvisí s prácou s ľuďmi, pričom som urobil asi 10 pokusov o samostatné štúdium programovacích jazykov. C++, C#, Delphi, Python, Pascal, Java – to všetko bolo zložité, nezrozumiteľné, zastrašujúce, časovo náročné a neproduktívne. V skutočnosti som jednoducho nemal dostatočnú motiváciu: ani kríza v rokoch 2008-2009, ani problémy v rokoch 2014-2015 nezmenili môj postoj k práci. A keď prišlo emocionálne vyhorenie, bolo jasné, že nemôžem pokračovať v tejto práci kvôli deťom, ktoré som nechcel zraniť.

V roku 2018 som sa s priateľkou presťahoval z Krasnojarska do Moskvy, prestúpila na miestnu univerzitu a našiel som si prácu v súkromnej cudzojazyčnej škole. Nové miesto, slušný plat, noví ľudia a pocity – to všetko mi umožnilo asi šesť mesiacov vdýchnuť život, po ktorom sa staré problémy vrátili.

Dozrelo vo mne konečné rozhodnutie zmeniť profesiu, načrtol sa plán, preštudoval sa trh práce a požiadavky na uchádzačov, vykopali sa kontakty na kamarátov a známych, ktoré sa aspoň ako-tak týkali IT a poriadne som im vykuchal mozgy svojimi pedantnými otázkami. . Vo všeobecnosti plán dopadol takto:

  1. Vyberte si najjednoduchšiu, najrýchlejšiu z hľadiska výsledkov a od samého začiatku prácu, ktorá sa oplatí menej ako na vašom predchádzajúcom mieste. Stal sa z toho vývoj frontendu. Posúďte sami: znalosť angličtiny na úrovni C2, väčšina kódu pre mňa predstavovala anglické príkazy zmiešané so syntaxou, ktorá bola celkom dobre zapamätateľná (poháňaná myšlienkami v štýle „buď toto, alebo nefunguješ vôbec“). Výsledok v prednej časti je okamžite viditeľný - toto je hotová stránka. Platba tiež nie je zlá, od 40 60 rubľov (podľa hh.ru). Môj plat bol vtedy cca 65-20 + osobné brigády za ~XNUMXtis. To nestačilo, ale keď musíte bojovať sami so sebou, len aby ste prišli do práce, žiadne peniaze vás neurobia šťastnými.
  2. Platba a akčný plán: Zameral som sa na 60+ rubľov, tak som začal študovať zoznam relevantných front-end technológií: HTML, CSS, JavaScript (ES5-6), React. Tie boli doplnené o nástroje, ktoré uľahčujú koordináciu a prácu s kódom v rôznych fázach: jQuery, Git, SASS, webpack, VS Code. To umožnilo načrtnúť plán, ako to všetko postupne študovať, súčasne aplikovať znalosti pri tvorbe webstránok, rozoberaní a implementácii layoutov v kóde a konzultáciách s priateľmi.
  3. Samoštúdium: Od februára 2019 do júna 2019 som toto všetko študoval, usilovne som študoval dokumentáciu, čítal StackOverFlow a hľadal odpovede na tie najhlúpejšie otázky, ktoré mohli vzniknúť. Bolo to pre mňa ťažké – niekedy kód jednoducho nechcel fungovať tak, ako som si predstavoval. Ale nezúfal som - analýza príkladu kódu + dokumentácia naznačila, kde som urobil chybu, čo som zadal zle a čo som nedokončil. Vtedy som sa každý deň chválil rodičom, že trvali na tom, aby som sa ako dieťa učil angličtinu – napokon, všetka relevantná dokumentácia bola v angličtine.

HTML a CSS bolo pre mňa najjednoduchšie - asi 2 týždne. Počas tejto doby som zostavil rozloženie pre webovú stránku nejakého dizajnéra pomocou čistého HTML a CSS a zhromaždil som všetky možné barličky, preštudoval som veľa prístupov a uvedomil som si, že písanie všetkých týchto riadkov ručne je neuveriteľne časovo náročné. Po malom googlení som okamžite narazil na Bootstrap 4 a po oboznámení sa s možnosťami som začal čítať dokumentáciu. Po pár dňoch premysleného fajčenia manuálov, prelínaných pozeraním rôznych tréningových videí na YouTube, som sa pustil do vytvorenia vlastnej úplne responzívnej webovej stránky s obrázkami, kartami a animáciami. Trvalo to asi 2 týždne, počas ktorých som objavil jQuery ako nástroj na manipuláciu s DOM.

Samozrejme, nebola to najlepšia voľba, ale všetko bolo jednoduché a zrozumiteľné a pre mňa bol dôležitý výsledok. Mimochodom, odporúčam v tejto fáze nepočúvať cool programátorov, ktorí ponúkajú optimalizácie a vylepšenia, ale jednoducho nájsť najbežnejší prípad použitia kódu, pozrieť si príklady a jednoducho skopírovať štýl. Úloha v počiatočnej fáze je jedna: pokiaľ to funguje. Až potom môžete myslieť na všetko ostatné a pri práci vo firme vám vysvetlia a ukážu miestne normy, ktoré budete musieť dodržiavať.

Najťažšia vec začala vo fáze učenia sa čistého JavaScriptu - v hlave mi vyvstala veľmi vážna otázka: prečo sa to učiť, keď je jQuery jednoduchšie? Išiel som do Google pre odpoveď: ukázalo sa, že jQuery čoskoro pôjde do iného sveta, s výnimkou staršieho kódu, a všetci skutoční programátori používajú JS, pretože frameworky prichádzajú a odchádzajú, ale čistý JS je stále relevantný. Chceme sa zamestnať a robiť to dlho, však? Začal som teda pozerať videá, pokúšať sa písať kód a funkcie na výukové stránky a prepisovať svoje predchádzajúce projekty. Prirodzene, najprv to bolo o niečo menej ako nič, ale po niekoľkých dňoch som už nepremýšľal o písaní najrôznejších funkcií šípok (ktoré sa ukázali ako jednoduchšie ako bežné), prácu so selektormi document.getElementById , triedenie polí a extrahovanie prvkov objektu pomocou .map, .filter, .reduce, práca s API a AJAX atď.

A nemýlil som sa – pri učení Reactu som narazil na tonu JS kódu, ktorý bolo potrebné analyzovať a pochopiť, inak by nič nefungovalo. Zhlboka som sa nadýchol a trochu som sa ľutoval a začal som sa ponárať do podstaty procesu s dvojnásobnou silou. Veľmi skoro sa ukázalo, že React je mierne upravený HTML (JSX) + sada rôznych nástrojov, ktoré uľahčujú aktualizáciu stránky a vytvorenie SPA (jednostránkovej aplikácie). Pridajte štipku JS a máme tu animácie, načítanie a prechody. Keď som si zvykol na syntax, vzal som prvé usporiadanie internetového obchodu, na ktoré som narazil, a napísal som jednoduché SPA, ktoré mi umožnilo vyberať kategórie, prechádzať webom a meniť počítadlá položiek v košíku.

Vo všeobecnosti nie je nič zlé na tom, že ste nikdy v živote neprogramovali, nie – ak na sebe pracujete postupne, tak je možné všetko. Aj bez znalosti angličtiny existuje veľa stránok v ruskom jazyku, ktoré budú stačiť na počiatočnú fázu. Veľa štastia!

Odkaz na školiace materiály, kanály YouTube, články a všetko, čo som použil pri školení.

Zdroj: hab.com

Pridať komentár