Dobro ne može biti jeftino. Ali može biti besplatno

U ovom članku želim pričati o Rolling Scopes School – besplatnom tečaju o JavaScriptu / frontend programiranju koji sam pohađala i koji mi se jako svidio. Saznala sam za ovaj tečaj slučajno, informacije o njemu na internetu, po mom mišljenju, nisu baš brojne, a tečaj je odličan i zaslužuje pažnju. Mislim da će ovaj članak biti koristan onima koji pokušavaju samostalno učiti programiranje. U svakom slučaju, da mi je netko ranije rekao o ovom tečaju, bila bih zahvalna.

Za one koji nisu pokušali učiti sami od nule, može se javiti pitanje – zašto su potrebni neki tečajevi, jer na internetu ima more informacija – uzmi i uči. U stvarnosti, more informacija nije uvijek dobro, jer je ponekad teško odabrati ono što ti je zaista potrebno. Tečaj će sugerirati: što učiti, kako učiti, kojom brzinom učiti; pomoći će ti da razlikuješ kvalitetne i vrijedne izvore informacija od nekvalitetnih i zastarjelih; ponuditi će veliki broj praktičnih zadataka; omogućiti ti da postaneš dio zajednice strastvenih i zainteresiranih ljudi koji rade isto što i ti.

Tijekom tečaja stalno smo radili zadatke: prolazili testove, rješavali probleme, stvarali vlastite projekte. Sve je to ocjenjivano i upisivano u zajedničku tablicu gdje smo mogli usporediti svoje rezultate s rezultatima drugih studenata. Atmosfera natjecanja je pozitivna, zabavna i zanimljiva. No, bodovi, iako su važni za prelazak u sljedeću fazu, nisu bili cilj sami po sebi. Organizatori tečaja poticali su podršku i međusobnu pomoć – u chatu su studenti raspravljali o pitanjima koja su se pojavila tijekom rješavanja zadataka i pokušavali zajedno pronaći odgovore. Osim toga, u učenju su nam pomagali mentori, što je za besplatni tečaj uistinu jedinstvena prilika.

Tečaj radi praktički neprekidno: pokreće se dva puta godišnje i traje šest mjeseci. Sastoji se od tri faze. U prvoj fazi smo prevladavajuće proučavali Git i izradu web stranica, u drugoj – JavaScript, a u trećoj – React i Node.js.

Na sljedeću fazu prošli su rezultati izvršenja zadataka prethodne faze. Na kraju svake faze obavljali su se intervjui. Nakon prve i druge faze to su bili edukacijski intervjui s mentorima, a nakon treće faze organizirani su intervjui za najbolja stotinu dvadeset studenata u EPAM JS Labu u Minsku. Tečaj provodi bjeloruska zajednica frontend i JavaScript developera The Rolling Scopes, stoga je jasno da imaju kontakte s minskim uredom EPAM-a. Međutim, zajednica nastoji uspostaviti kontakte i preporučiti svoje studente IT kompanijama i u drugim gradovima Bjelorusije, Kazahstana i Rusije.

Prva faza trajala je nešto više od mjesec dana. To je bila najmasovnija faza. U mom setu započelo je 1860 ljudi – tj. svi koji su se prijavili za tečaj. Tečaj pohađaju ljudi različitih dobi, ali većina učenika su studenti viših godina i oni koji su, radeći nekoliko godina u drugom području, odlučili promijeniti profesiju.

U prvoj fazi prošli smo dva testa o osnovama Gita, dva testa o HTML/CSS-u, tečajeve Codecademy i HTML Academy, kreirali smo svoj CV u obliku markdown datoteke i obične web stranice, izradili mali jednostranični dizajn, riješili nekoliko prilično složenih zadataka iz JavaScript-a.

Najopsežniji zadatak prve faze bio je izrada stranice Hexal.
Najzanimljiviji je bio igrališni Code Jam o poznavanju css selektora ‘CSS Quick Draw’.
Najkompliciraniji su bili zadaci iz JavaScript-a. Primjer jednog od takvih zadataka: ‘Pronaći broj nula na kraju faktorijela velikog broja u navedenom sustavu brojanja’.

Primjer zadatka prve faze: Hexal.

Na temelju izvršenja zadataka prve faze 833 studenta dobila su pozivnice za intervju. Prolazak studenta u drugu fazu tijekom intervjua određivao je njegov budući mentor. Mentori Rolling Scopes School su aktivni developeri iz Bjelorusije, Rusije, Ukrajine. Mentori pomažu i savjetuju, provjeravaju zadatke, odgovaraju na pitanja. U našem setu mentora bilo je preko 150. Ovisno o dostupnosti slobodnog vremena, mentor može preuzeti od dvoje do pet studenata, ali na intervju se šalje dva dodatna studenta kako bi tijekom intervjua mogao izabrati one s kojima će raditi.

Raspodjela studenata i mentora bila je jedan od najzanimljivijih i najuzbudljivijih trenutaka tečaja. Organizatori su uveli mali element igre – podaci o mentorima pohranjeni su u distribuirajuću šešir, na koju se moglo kliknuti kako bi se vidjelo ime i kontakti svog budućeg mentora.

Kada sam saznala ime svog mentora i pogledala njegov profil na LinkedInu, shvatila sam da ga jako želim. On je iskusni razvijač, senior, koji već nekoliko godina radi u inozemstvu. Takav mentor je stvarno velika sreća. No, činilo mi se da će njegovi zahtjevi biti vrlo visoki. Kasnije se pokazalo da sam bila u krivu u vezi s prekomjernim visokim zahtjevima, ali u tom trenutku sam upravo tako mislila.

Pitanja za predstojeći intervju bila su poznata, tako da se na njega moglo pripremiti unaprijed.
OOP sam učila putem videozapisa [J]u[S]t prototipiraj ovo!. Njegov autor – Sergey Meljukov – objašnjava isključivo jasno i razumljivo.
Strukture podataka i O-notations su odlično objašnjene u članku Špiralna pomoć za tehnički intervju.
Najveće sumnje izazivala je zadaća iz JavaScript-a koja će sigurno biti na intervjuu. Volim rješavati zadatke, ali s Googleom i u konzoli preglednika; kada se mora rješavati rukom i na papiru (ili mišem u notepadu) – sve postaje mnogo teže.
Na intervju je udobno pripremati se zajedno na stranici skype.com/interviews/ – postavljati jedno drugome pitanja, smišljati zadatke. To je prilično učinkovit način pripreme: kada se igraju različite uloge, bolje razumiješ onu osobu koja je s druge strane ekrana.

Kako je prema mom mišljenju moglo izgledati intervju? Najvjerojatnije, poput ispita, gdje je ispitivač i ispitanik. U stvarnosti to definitivno nije bilo kao ispit. Više kao razgovor dvoje strastvenih ljudi koji se bave istim poslom. Intervju je prošao izuzetno mirno, ugodno, dobrohotno, pitanja nisu bila preteška, zadatak dovoljno jednostavan, a mentor nije imao ništa protiv rješavanja u konzoli i čak je dopuštao provjeru na Googleu ("na poslu nitko ne zabranjuje korištenje Googlea").

Koliko razumijem, glavni cilj intervjua nije bio provjeriti naše znanje i sposobnost rješavanja zadataka, već pružiti mentoru priliku da se upozna sa svojim studentima i da im pokaže kako intervju uopće izgleda. Ono što smo sa intervjua ponijeli kao dojam bilo je rezultat njegovih svjesnih napora, želje da pokaže da zapravo nema ničega zastrašujućeg u intervjuu i da ga možemo prolaziti s zadovoljstvom. Drugo pitanje je zašto je to relativno lako uspjelo osobi s tehničkim obrazovanjem, a vrlo rijetko nastavnici to uspijevaju. Svi se sjećamo koliko smo se uzbuđivali prije ispita, čak i kad smo dobro poznavali gradivo. I budući da smo spomenuli službenu pedagogiju, podijelit ću još jedan uvid. Na tečaju su učili, među ostalim, i studenti viših godina IT specijalnosti. Tvrde da je obrazovni format koji nudi Rolling Scopes School daleko korisniji, zanimljiviji i učinkovitiji od običnog sveučilišnog programa.

Intervju sam prošla. U nastavku, mentor je odredio dan u tjednu i vrijeme kada mu odgovara razgovarati sa mnom. Za taj dan pripremila sam pitanja, a on je na njih odgovarao. Nisam imala previše pitanja o izvođenim projektima – većinu odgovora sam pronašla na Googleu ili u chat-u škole. No, on je pričao o svom radu, mogućim problemima i načinima kako ih riješiti, dijelio je svoja zapažanja i komentare. U cjelini, ti su razgovori bili izuzetno korisni i zanimljivi. Osim toga, mentor je praktički jedina osoba kojoj je stalo do toga što i kako radite, osoba koja će pogledati na vaš rad, ukazati na ono što nije u redu i predložiti kako ga možete poboljšati. Prisutnost mentora uistinu je ogromna prednost škole, čija je uloga teško precijeniti.

Na drugoj fazi imali smo vrlo zanimljiv i dinamičan Code Jam „JavaScript Arrays Quick Draw“, takva natjecanja u školi prolaze uzbudljivo i zanimljivo.
Code Jam „CoreJS“ bio je znatno složeniji. 120 zadataka iz JavaScripta, kojima je odvojeno 48 sati za rješavanje, postali su ozbiljno iskušenje.
Imali smo još nekoliko testova iz JavaScripta, link na jedan od njih ostao mi je sačuvan u favoritima preglednika. Za rješavanje testa ima se 30 minuta.
Nakon toga smo izradili dizajn NeutronMail-a, izvršili Code Jam 'DOM, DOM Events', stvorili pretraživač za YouTube.

Ostali zadaci drugog faza: Task: Codewars – rješavanje zadataka na istoimenoj stranici, Code Jam 'WebSocket Challenge.' – slanje i primanje poruka pomoću web socket-a, Code Jam 'Animation Player' – izrada male web aplikacije.

Neobičan i zanimljiv zadatak drugog faza bio je task 'Presentation'. Njegova glavna značajka bila je da je prezentaciju trebalo pripremiti i predstaviti na engleskom jeziku. Ovdje možete vidjeti kako je prošla uživo prezentacija.

I, nesumnjivo, najzahtjevniji i najopsežniji bio je završni zadatak drugog faza, tijekom kojeg smo trebali stvoriti vlastitu verziju web aplikacije Piskel (www.piskelapp.com).
Za ovaj zadatak trebalo je više od mjesec dana, a veći dio vremena potrošen je na razumijevanje kako to radi u originalu. Kako bismo više objektivno pristupili, završni zadatak provjeravao je drugi, nasumično odabrani mentor. I intervju nakon drugog faza također je provodio nasumični mentor, jer smo se na našeg već navikli, a on na nas, dok se u stvarnim intervjuima obično susreću nepoznate osobe.

Drugi intervju bio je znatno teži od prvog. Kao i prije, postojao je popis pitanja za intervju na koja sam se pripremila, ali mentor je odlučio da jednostavno pitati teoriju nije sasvim ispravno i za intervju je pripremio set zadataka. Zadaci su, po mom mišljenju, bili dovoljno teški. Na primjer, nije iskreno razumio što mi smeta da napišem bind polyfill, a ja sam iskreno smatrala da to što znam što je bind i što je polyfill, već je mnogo. Ovaj zadatak nisam riješila. Ali bilo je i drugih s kojima sam uspjela. Samo su ti zadaci bili teški, i čim bih našla rješenje, mentor bi malo promijenio uvjet, i rješavanje zadatka bi se moralo ponoviti, u već složenijoj verziji.
Imajte na umu da je atmosfera intervjua bila vrlo prijateljska, zadaci zanimljivi, mentor je potrošio puno vremena pripremajući ih, i nastojao je da edukativni intervju u budućnosti pomogne proći stvarni intervju prilikom zapošljavanja.

Primjeri zadataka drugog faza:
NeutronMail
Palette
YouTubeClient
PiskelClone

Na trećoj stepenici dobili smo zadatak Culture Portal. Izvodili smo ga u grupi i prvi put se upoznali s osobitostima timskog rada, raspodjele odgovornosti i rješavanja sukoba prilikom spajanja grana u Git-u. Vjerojatno je to bilo jedno od najzanimljivijih zadataka na kursu.

Primjer zadatka treće stepenice: Culture Portal.

Nakon završetka treće stepenice, studenti koji su se prijavili za posao u tvrtki EPAM i ušli u listu od 120 najboljih, prošli su telefonski razgovor za provjeru znanja engleskog jezika, a sada prolaze tehnička intervjua. Veliki dio njih bit će pozvan u EPAM JS Lab, a potom na stvarne projekte. Svake godine više od stotinu diplomaca Rolling Scopes School dobije posao u EPAM-u. U usporedbi s onima koji su započeli tečaj, to je prilično mali postotak, ali ako pogledate one koji su došli do finala, za njih je šansa za dobivanje posla dovoljno velika.

Od poteškoća na koje se treba pripremiti, istaknuo bih dvije. Prva – vrijeme. Potrebno je prilično puno. Očekujte 30-40 sati tjedno, može i više, ako manje – malo je vjerojatno da ćete uspjeti završiti sve zadatke, s obzirom na to da je program tečaja vrlo intenzivan. Druga – engleski nivo A2. Ako je niži, učenje na tečaju neće smetati, ali će biti prilično teško pronaći posao s takvim nivoom jezika.

Ako imate pitanja, pitajte, pokušat ću odgovoriti. Ako znate za druge slične besplatne online tečajeve na ruskom jeziku – podijelite, bit će zanimljivo.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster