Od humanitarca do developera u brojkama i bojama

Pozdrav, Habr! Dugo vas čitam, ali još nisam stigao napisati nešto svoje. Kao i obično - dom, posao, osobni poslovi, tu i tamo - a sada ste ponovno odgodili pisanje članka za bolja vremena. Nedavno se nešto promijenilo i reći ću vam što me potaknulo da opišem mali dio svog života o tome kako sam postao programer s primjerima, koji bi mogli biti korisni početnicima, sumnjateljima i dečkima koji iskreno ne vjeruju u sebe. Ići!

Počet ću izdaleka – kao djetetu roditelji su mi davali ogroman broj enciklopedija i knjiga – za sve prilike. Svaki razlog za darivanje je knjiga. Tada im, naravno, nisam bio zahvalan, nego sam to jednostavno uzimao zdravo za gotovo. Ali s vremenom sam, razgovarajući s drugim ljudima, došao do čudnog zaključka: mnogi nisu znali ono što sam ja znao, nisu čuli nikakva imena, pojmove, pojmove, nisu čitali autore i nisu gledali filmove. Upravo u ovom trenutku došao je uvid: evo ga, ZNANJE. Dugo nisam znala gdje bih sve to mogla primijeniti, jer jednostavno komunicirati s ljudima se nikako ne isplati, a zanimanje pričanja zanimljivih priča tada nije postojalo (sada su tu neki blogeri , YouTube, TED-ED itd.). Učila sam engleski, dugo i mukotrpno, jer... "Bilo je obećavajuće i bilo bi korisno u budućnosti" - u to vrijeme, naravno, nije bilo povjerenja u moju buduću profesiju, pa su me kroz "ne želim" uvijek iznova vozili na lekcije. Sada sam, naravno, nevjerojatno zahvalan što nisam skočio u tom trenutku i uspio dobiti dobre temelje, što je, naravno, odigralo važnu ulogu u odabiru mog budućeg zanimanja.

Nisam obični humanist, već "hibrid": s naprednim mekim vještinama i ljubavlju organizirati aktivnosti ljudi, u isto vrijeme me zanimaju fizika, kemija, ekonomski fenomeni, informatika i popularno-znanstveni materijali. U školi sam čak položio ispite iz fizike i upisao tehničko sveučilište na proračun! Nakon što sam se prijavila na nekoliko sveučilišta odjednom na dijametralno suprotne fakultete, do zadnjeg trenutka nisam bila sigurna što odabrati. Nakon što smo se prijavili na proračun, potpisali sve papire i razgovarali s dekanom, otac i ja smo se vratili kući i s osjećajem uspjeha krenuli svojim poslom.

Međutim, kada sam se ujutro probudila, iznenađeno sam shvatila da mi se u glavi naselila jedna dosadna i bockava misao: „Moram ići na pedagošku“. Kako je on tamo nastao: samostalno ili kao rezultat procesa sjene poput Mendeljejeva, kada je u snu sistematizirao podatke, stječući znanje o tablici periodičnih elemenata? Nikada neću saznati, ali otišao sam do svojih roditelja, opisao im problem, dobio neke prilično sočne procjene svojih trenutnih misaonih procesa, njihov smjer i opći razvoj, ali nisam odustao.

Na kraju smo došli na fakultet, uzeli dokumente (iako je to najvjerojatnije bilo protuzakonito jer su upisi prošli) i otišli se prijaviti na drugi fakultet. Moj otac je tada bio vrlo kratko ošišan, upravo je operirao oči i skinuo naočale, i općenito, izgledao je kao tipični "brat iz 90-ih", unatoč 2 više obrazovanja i pedagoškom obrazovanju. Naravno, nisu mogli odbiti tako šareni lik. Od tada nikada nisam požalila što sam upisala Fakultet stranih jezika.

Radeći s djecom shvatila sam dvije stvari:

  • Jako mi se sviđa, mogu ispričati zanimljivu priču, u priču utkati informacije prikupljene iz knjiga i enciklopedija i, što je najvažnije, postići rezultate u nastavi engleskog jezika
  • Novaca katastrofalno nedostaje, čak i ako radite honorarni posao (privatni satovi + cjelogodišnji jezični kamp za djecu)

Kao rezultat toga, nakon nekoliko godina rada kao profesor (engleski, njemački i malo španjolski), odlučila sam napustiti profesiju, jer... jednostavno izgorio. Vjerojatno je mnogima od vas poznat ovaj osjećaj: čini se da je posao isti, isti ljudi, posao, sve ono što vam je jučer odgovaralo - ali duša se opire svakom radnom danu, dječje greške postale su iznutra dosadne, mir koji je oduvijek bio negdje unutra, počeo je nestajati i pojavile su se panične misli o bijegu negdje.

Tijekom svoje karijere razmatrao sam mogućnost promjene profesije u nešto relevantnije, nevezano za rad s ljudima, nakon što sam napravio 10-ak pokušaja samostalnog učenja programskih jezika. C++, C#, Delphi, Python, Pascal, Java - sve je to bilo složeno, nerazumljivo, zastrašujuće, dugotrajno i neproduktivno. Zapravo, jednostavno nisam imao dovoljno motivacije: ni kriza 2008.-2009., ni problemi 2014.-2015. nisu promijenili moj odnos prema poslu. A kad je nastupilo emocionalno sagorijevanje, postalo je jasno da ne mogu nastaviti ovako raditi, zbog djece, koju nisam želio povrijediti.

Godine 2018. preselio sam se u Moskvu iz Krasnojarska s djevojkom, ona se prebacila na lokalno sveučilište, a ja sam našao posao u privatnoj školi stranih jezika. Novo mjesto, pristojna plaća, novi ljudi i osjećaji - sve mi je to omogućilo da udahnem život u sebe oko šest mjeseci, nakon čega su se stari problemi vratili.

U meni je sazrijevala konačna odluka o promjeni profesije, zacrtan je plan, proučavano je tržište rada i zahtjevi za kandidate, iskopani su kontakti prijatelja i poznanika koji su barem nekako povezani s informatikom, a ja sam im svojim pedantnim pitanjima temeljito iščupao mozak . Općenito, plan je ispao ovako:

  1. Odaberite najjednostavniji, najbrži po rezultatima i od samog početka posao koji nije manje plaćen nego na prethodnom mjestu. To je postao frontend razvoj. Prosudite sami: uz poznavanje engleskog na razini C2, većina koda je za mene predstavljala engleske naredbe pomiješane sa sintaksom koja se prilično dobro pamtila (potaknuta mislima u stilu “ili ovo ili ne radiš uopće”). Rezultat na prednjoj strani je odmah vidljiv - ovo je gotova stranica. Plaćanje također nije loše, od 40 tisuća rubalja (prema hh.ru). Moja plaća je tada bila oko 60-65 + privatni honorarni poslovi za ~20 tisuća. To nije bilo dovoljno, ali kad se moraš boriti sam sa sobom samo da bi došao na posao, nikakav te novac ne čini sretnim.
  2. Plaćanje i akcijski plan: Ciljao sam na 60+ rubalja, pa sam počeo proučavati popis relevantnih front-end tehnologija: HTML, CSS, JavaScript (ES5-6), React. Oni su dopunjeni alatima koji olakšavaju koordinaciju i rad s kodom u različitim fazama: jQuery, Git, SASS, webpack, VS Code. To je omogućilo da se zacrta plan postupnog proučavanja svega toga, uz usporednu primjenu znanja u izradi web stranica, rastavljanju i implementaciji izgleda u kodu te savjetovanju s prijateljima.
  3. Samostalno učenje: Od veljače 2019. do lipnja 2019. sve sam to proučavao, marljivo proučavajući dokumentaciju, čitajući StackOverFlow i tražeći odgovore na najgluplja pitanja koja su se mogla pojaviti. Bilo mi je teško – ponekad šifra jednostavno nije htjela raditi kako sam zamislio. Ali nisam očajavao - analiza primjera koda + dokumentacije sugerirala je gdje sam pogriješio, što sam krivo unio i što nisam dovršio. Tada sam svaki dan hvalila svoje roditelje što su inzistirali da kao dijete učim engleski – uostalom, sva relevantna dokumentacija bila je na engleskom.

HTML i CSS su mi bili najlakši - oko 2 tjedna. Za to sam vrijeme složio izgled za web stranicu nekog dizajnera koristeći čisti HTML i CSS i skupio sve moguće štake, proučio hrpu pristupa i shvatio da je ručno pisanje svih ovih redaka nevjerojatno dugotrajno. Nakon malo guglanja, odmah sam naišao na Bootstrap 4 i, nakon što sam se upoznao s mogućnostima, počeo čitati dokumentaciju. Nakon nekoliko dana zamišljenog pušenja priručnika, isprekidanog gledanjem raznih video zapisa za obuku na YouTubeu, krenuo sam s izradom vlastite potpuno responzivne web stranice, sa slikama, karticama i animacijama. To je trajalo oko 2 tjedna, tijekom kojih sam otkrio jQuery kao alat za manipulaciju DOM-om.

Naravno, to nije bio najbolji izbor, ali sve je bilo jednostavno i razumljivo, a rezultat mi je bio važan. Usput, preporučam da u ovoj fazi ne slušate cool programere koji nude optimizacije i poboljšanja, već da jednostavno pronađete najčešći slučaj upotrebe koda, pogledate primjere i jednostavno kopirate stil. Zadatak u početnoj fazi je jedan: sve dok radi. Tek tada možete razmišljati o svemu ostalom, a kad budete radili u tvrtki, objasnit će vam i pokazati lokalne standarde kojih ćete se morati pridržavati.

Najteža stvar počela je u fazi učenja čistog JavaScripta - u mojoj se glavi pojavilo vrlo ozbiljno pitanje: zašto ovo učiti ako je jQuery lakši? Otišao sam do Googlea po odgovor: pokazalo se da će jQuery uskoro otići u drugi svijet, s izuzetkom naslijeđenog koda, a svi pravi programeri koriste JS, jer okviri dolaze i odlaze, ali čisti JS je i dalje relevantan. Želimo dobiti posao i to dugo vremena, zar ne? Tako sam počeo gledati videozapise, pokušavati pisati kod i funkcije na stranicama s podukama i prepravljati svoje prethodne projekte. Naravno, u početku je ispalo nešto manje od ništa, ali nakon nekoliko dana više nisam razmišljao o pisanju svih vrsta funkcija strelica (koje su se pokazale jednostavnijim od običnih), radeći s selektorima document.getElementById , sortiranje nizova i izdvajanje elemenata objekata pomoću .map, .filter, .reduce, rad s API-jem i AJAX-om itd.

I nisam pogriješio - dok sam učio React, naišao sam na tonu JS koda koji je trebalo raščlaniti i razumjeti, inače ništa ne bi funkcioniralo. Duboko udahnuvši i lagano se sažalivši, počeo sam uduplavati u bit procesa udvostručenom snagom. Vrlo brzo se pokazalo da je React malo modificirani HTML (JSX) + set različitih alata koji olakšavaju ažuriranje stranice i izradu SPA (single page application). Dodajte prstohvat JS-a i imamo animacije, učitavanje i prijelaze. Nakon što sam se navikao na sintaksu, uzeo sam prvi izgled internetske trgovine na koji sam naišao i napisao jednostavan SPA koji mi je omogućio odabir kategorija, kretanje web-stranicom i promjenu brojača artikala u košarici.

Općenito, nema ništa loše u tome što nikada u životu niste programirali, ne - ako radite na sebi postupno, onda je sve moguće. Čak i bez znanja engleskog jezika, postoji mnogo stranica na ruskom jeziku koje će biti dovoljne za početnu fazu. Sretno!

Link na materijale za obuku, YouTube kanale, članke i sve što sam koristio u svojoj obuci.

Izvor: www.habr.com

Dodajte komentar