Od humanitarca do programera u brojevima i bojama

Zdravo, Habr! Čitam te već duže vrijeme, ali još uvijek nisam stigao da napišem nešto svoje. Kao i obično - kuća, posao, lični poslovi, tu i tamo - a sada ste opet odgodili pisanje članka za bolja vremena. Nedavno se nešto promijenilo i reći ću vam što me je navelo da opišem mali dio svog života o tome kako sam postao programer uz primjere, koji mogu biti korisni početnicima, sumnjama i momcima koji iskreno ne vjeruju u sebe. Idi!

Počeću izdaleka – kao detetu roditelji su mi dali ogroman broj enciklopedija i knjiga – za sve prilike. Svaki razlog za poklon je knjiga. Tada im, naravno, nisam bio zahvalan, već sam to 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 znao gde bih sve ovo mogao da primenim, jer jednostavno komuniciranje sa ljudima se nikako ne isplati, a profesija pričanja zanimljivih priča u to vreme nije postojala (sada postoje 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” iznova tjerali na lekcije. Sada sam, naravno, nevjerovatno zahvalna što u tom trenutku nisam skočila i uspjela steći dobru osnovu, što je, naravno, odigralo važnu ulogu u odabiru moje buduće profesije.

Nisam običan humanista, već „hibrid“: imam napredne meke veštine i volim da organizujem aktivnosti ljudi, istovremeno me zanimaju fizika, hemija, ekonomski fenomeni, informatika i naučnopopularni materijali. U školi sam čak položio ispite iz fizike i upisao tehnički fakultet sa budžetom! Nakon što sam se prijavio na nekoliko univerziteta odjednom na dijametralno suprotne fakultete, do posljednjeg trenutka nisam bio siguran šta da odaberem. Nakon apliciranja za budžet, potpisivanja svih papira i razgovora sa dekanom, moj otac i ja smo se vratili kući i sa osjećajem postignuća krenuli svojim poslom.

Međutim, kada sam se ujutru probudio, sa iznenađenjem sam shvatio da mi se u glavi naselila dosadna i bodljikava misao: „Moram da idem na pedagoški (pedagoški)“. Kako je on tamo nastao: samostalno ili kao rezultat sjenčanih procesa poput Mendeljejeva, kada je sistematizovao podatke u snu, stječući znanje o tablici periodičnih elemenata? Nikada neću saznati, ali sam otišao kod roditelja, opisao im problem, dobio neke prilično sočne ocjene o mojim trenutnim misaonim procesima, njihovom smjeru i općenitom razvoju, ali nisam odustao.

Na kraju smo stigli na fakultet, uzeli dokumente (iako je to najvjerovatnije bilo nezakonito, pošto je upis prošao) i otišli da se prijavimo na drugi fakultet. Moj otac je tada imao vrlo kratku frizuru, upravo je imao operaciju oka i skinuo naočare, i općenito je izgledao kao tipičan "brat iz 90-ih", uprkos 2 viša obrazovanja i profesorskom obrazovanju. Naravno, nisu mogli odbiti tako šareni lik. Od tada se nikada nisam pokajao što sam upisao Fakultet za strane jezike.

Radeći sa decom, shvatio sam dve stvari:

  • Zaista mi se sviđa, mogu ispričati zanimljivu priču, u priču utkati informacije pokupljene iz knjiga i enciklopedija i, što je najvažnije, postići rezultate u oblasti nastave engleskog jezika
  • Katastrofalno nedostaje novca, čak i ako radite honorarni posao (privatni časovi + cjelogodišnji jezički kamp za djecu)

Kao rezultat toga, nakon nekoliko godina rada kao nastavnik (engleskog, njemačkog i malo španskog) odlučio sam da napustim profesiju, jer... jednostavno izgoreo. Vjerovatno je mnogima od vas poznat ovaj osjećaj: čini se da je posao isti, isti ljudi, posao, sve što vam je juče odgovaralo - ali duša se opire svakom radnom danu, dječje greške su postale unutrašnje dosadne, mir koji je oduvijek bio negdje unutra, počeo je da nestaje i pojavile su se panične misli da negdje pobjegnemo.

Tokom svoje karijere razmišljao sam o mogućnosti da promenim svoju profesiju u nešto relevantnije, a ne vezano za rad sa ljudima, nakon što sam napravio 10-ak pokušaja da samostalno proučavam programske jezike. C++, C#, Delphi, Python, Pascal, Java - sve je to bilo složeno, neshvatljivo, 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 kada je nastupilo emotivno sagorevanje, postalo je jasno da ne mogu da nastavim ovako da radim, zbog dece, koju nisam želeo da povredim.

U Moskvu sam se 2018. preselio iz Krasnojarska sa devojkom, ona je prešla na lokalni fakultet, a ja sam našao posao u privatnoj školi stranih jezika. Novo mjesto, pristojna plata, novi ljudi i osjećaji - sve mi je to omogućilo da mi udahnem život nekih šest mjeseci, nakon čega su se stari problemi vratili.

U meni je sazrela konačna odluka da promenim profesiju, zacrtan plan, proučeno tržište rada i zahtevi za kandidate, iskopali su se kontakti prijatelja i poznanika koji su bar nekako vezani za informatiku, a ja sam im svojim pedantnim pitanjima temeljno razbio mozak. . Generalno, plan je ispao ovako:

  1. Odaberite najjednostavniji, najbrži u smislu rezultata i od samog početka posao koji se plaća ništa manje nego na vašem prethodnom mjestu. To je postao frontend razvoj. Procijenite sami: znajući engleski na nivou C2, većina koda mi je predstavljala engleske komande pomiješane sa sintaksom koja se prilično dobro pamti (pokrenuta mislima u stilu „ili ovo ili ne radiš uopće“). Rezultat u prednjem dijelu je odmah vidljiv - ovo je gotova stranica. Plaćanje takođe nije loše, od 40 hiljada rubalja (prema hh.ru). Moja plata je tada bila oko 60-65 + lični honorarni poslovi za ~20 hiljada. Ovo nije bilo dovoljno, ali kada se morate boriti sa sobom samo da biste došli na posao, nijedan novac vas ne čini sretnim.
  2. Plan plaćanja i akcije: Cilj mi je bio 60+ rubalja, pa sam počeo da proučavam listu relevantnih front-end tehnologija: HTML, CSS, JavaScript (ES5-6), React. Oni su dopunjeni alatima koji olakšavaju koordinaciju i rad sa kodom u različitim fazama: jQuery, Git, SASS, webpack, VS Code. To je omogućilo da se zacrta plan za postepeno proučavanje svega ovoga, istovremeno primjenjujući znanje u kreiranju web stranica, rastavljanju i implementaciji izgleda u kodu, te konsultujući se sa prijateljima.
  3. Samoučenje: Od februara 2019. do juna 2019. sve sam ovo 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 kod jednostavno nije želio da radi onako kako sam zamišljao. Ali nisam očajavao - analiza primjera koda + dokumentacije sugerirala je gdje sam pogriješio, šta sam pogrešno uneo, a šta nisam završio. Tada sam svaki dan hvalio roditelje što su insistirali da kao dijete učim engleski - uostalom, sva relevantna dokumentacija je bila u tome.

HTML i CSS su mi bili najlakši - oko 2 sedmice. Za to vrijeme sastavio sam izgled za web stranicu nekog dizajnera koristeći čisti HTML i CSS i sakupio sve moguće štake, proučio gomilu pristupa i shvatio da je pisanje svih ovih redova ručno oduzimalo nevjerovatno mnogo vremena. Nakon malog guglanja, odmah sam naišao na Bootstrap 4 i, upoznavši se sa mogućnostima, počeo da čitam dokumentaciju. Nakon nekoliko dana promišljenog pušenja priručnika, isprepletenih s gledanjem raznih video zapisa o obuci na YouTube-u, krenuo sam sa kreiranjem vlastite web stranice koja je potpuno prilagodljiva, sa slikama, karticama i animacijama. Ovo je trajalo oko 2 sedmice, tokom kojih sam otkrio jQuery kao alat za DOM manipulaciju.

Naravno, to nije bio najbolji izbor, ali sve je bilo jednostavno i razumljivo, a rezultat mi je bio važan. Usput, preporučujem da u ovoj fazi ne slušate cool programere koji nude optimizacije i poboljšanja, već jednostavno da 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 kada radite u kompaniji, oni će vam objasniti i pokazati lokalne standarde koje ćete morati slijediti.

Najteže je počelo u fazi učenja čistog JavaScripta - u glavi mi se pojavilo vrlo ozbiljno pitanje: zašto ovo učiti ako je jQuery lakši? Otišao sam na Google po odgovor: pokazalo se da će jQuery uskoro otići u drugi svijet, sa izuzetkom naslijeđenog koda, a svi pravi programeri koriste JS, jer okviri dolaze i odlaze, ali čisti JS je i dalje relevantan. Želimo da dobijemo posao i da ga radimo dugo, zar ne? Tako sam počeo da gledam video zapise, pokušavam da napišem kod i funkcije na sajtovima sa tutorijalima, i prepisujem svoje prethodne projekte. Naravno, isprva je ispalo nešto manje nego ništa, ali nakon par dana više nisam razmišljao o pisanju svih vrsta funkcija strelica (koje su se ispostavile jednostavnije od običnih), radu sa selektorima document.getElementById , sortiranje nizova i izdvajanje elemenata objekta koristeći .map, .filter, .reduce, radio sa API-jem i AJAX-om, itd.

I nisam pogrešio – dok sam učio React, naišao sam na gomilu JS koda koji je trebalo raščlaniti i razumeti, inače ništa ne bi funkcionisalo. Duboko udahnuvši i lagano sažaljevajući sebe, počeo sam udvostručenom snagom da ulazim u suštinu procesa. Vrlo brzo se pokazalo da je React malo modificirani HTML (JSX) + komplet različitih alata koji olakšavaju ažuriranje stranice i kreiranje 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 online prodavnice na koji sam naišao i napisao jednostavan SPA koji mi je omogućio da biram kategorije, da se krećem po sajtu i menjam brojače artikala u korpi.

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

Link na materijale za obuku, YouTube kanale, članke i sve ono što sam koristio na treningu.

izvor: www.habr.com

Dodajte komentar