Dobre stvari niso poceni. Lahko pa je zastonj

V tem članku želim govoriti o Rolling Scopes School, brezplačnem tečaju JavaScript/frontend, ki sem se ga udeležil in v katerem sem zelo užival. Za ta tečaj sem izvedela po naključju, po mojem mnenju je na internetu malo informacij o njem, vendar je tečaj odličen in si zasluži pozornost. Mislim, da bo ta članek koristen za tiste, ki se poskušajo sami naučiti programiranja. V vsakem primeru, če bi mi kdo prej povedal za ta tečaj, bi mu bil vsekakor hvaležen.

Tisti, ki se sami niso poskušali učiti iz nič, se lahko vprašajo: zakaj so potrebni kakršni koli tečaji, saj je na internetu veliko informacij - vzemite in se naučite. Pravzaprav morje informacij ni vedno dobro, saj v tem morju izbrati točno tisto, kar potrebujete, ni prav nič enostavno. Tečaj vam bo povedal: kaj se učiti, kako se učiti, s kakšno hitrostjo se učiti; bo pomagal razlikovati dobre in omembe vredne vire informacij od nekakovostnih in zastarelih; ponudil bo veliko število praktičnih nalog; vam bo omogočilo, da postanete del skupnosti strastnih in zainteresiranih ljudi, ki delajo isto kot vi.

Skozi celoten tečaj smo nenehno opravljali naloge: opravljali teste, reševali naloge, ustvarjali lastne projekte. Vse to se je ocenilo in šlo v skupno tabelo, kjer si lahko primerjal svoj rezultat z rezultati drugih učencev. Tekmovalno vzdušje je dobro, zabavno in zanimivo. A točke, čeprav so pomembne za prehod v nadaljnjo fazo, niso bile same sebi namen. Organizatorji tečaja so bili veseli podpore in medsebojne pomoči – v klepetu so študentje razpravljali o vprašanjih, ki so se porajala pri reševanju nalog, in nanje skupaj poskušali poiskati odgovore. Poleg tega so nam pri študiju pomagali mentorji, kar je edinstvena priložnost za brezplačen tečaj.

Tečaj poteka skoraj neprekinjeno: izvaja se dvakrat letno in traja šest mesecev. Sestavljen je iz treh stopenj. Na prvi stopnji smo preučevali predvsem Git in postavitev, na drugi - JavaScript, na tretji - React in Node.js.

V naslednjo stopnjo so napredovali glede na rezultate opravljenih nalog prejšnje stopnje. Na koncu vsake stopnje je bil opravljen intervju. Po prvi in ​​drugi stopnji so bili to izobraževalni razgovori z mentorji, po tretji stopnji pa so bili organizirani razgovori za sto dvajset najboljših študentov v Minsku EPAM JS Lab. Tečaj izvaja beloruska skupnost front-end in JavaScript razvijalcev The Rolling Scopes, zato je jasno, da imajo stike s pisarno EPAM Minsk. Vendar pa skupnost poskuša vzpostaviti stike in svoje študente priporočiti IT podjetjem in drugim mestom v Belorusiji, Kazahstanu in Rusiji.

Prva faza je trajala nekaj več kot mesec dni. To je najbolj priljubljena stopnja. V moji rekrutaciji jo je začelo 1860 ljudi – tj. vsi, ki ste se prijavili na tečaj. Tečaj obiskujejo ljudje vseh starosti, največ pa je študentov višjih letnikov in tistih, ki so se po večletnem delu na drugem področju odločili za zamenjavo poklica.

Na prvi stopnji smo opravili dva testa iz osnov Gita, dva testa iz tečajev HTML/CSS, Codecademy in HTML Academy, ustvarili življenjepis v obliki markdown datoteke in v obliki navadne spletne strani, ustvarili majhno enostransko postavitev in z JavaScriptom rešil več precej zapletenih problemov.

Najobsežnejša naloga prve faze je bila postavitev spletne strani Hexal.
Najbolj zanimiva je igra Code Jam o poznavanju izbirnikov CSS "CSS Quick Draw".
Najtežje so naloge JavaScript. Primer ene od teh nalog: "Poiščite število ničel na koncu faktoriala velikega števila v določenem številskem sistemu".

Primer naloge prve stopnje: heksal.

Na podlagi rezultatov reševanja nalog prve stopnje je 833 dijakov prejelo vabila na razgovore. Študentov prehod na drugo stopnjo med razgovorom je določil njegov bodoči mentor. Mentorji šole Rolling Scopes so aktivni razvijalci iz Belorusije, Rusije in Ukrajine. Mentorji pomagajo in svetujejo, preverjajo naloge, odgovarjajo na vprašanja. Mentorjev je bilo v našem naboru več kot 150. Mentor lahko glede na razpoložljivost prostega časa vzame od dva do pet študentov, vendar se k njemu na razgovor napoti še dva študenta, tako da lahko med razgovorom izbere tiste, s katerimi delal bo.

Razporeditev študentov in mentorjev je bil eden najbolj zanimivih in vznemirljivih trenutkov tečaja. Organizatorji so vanjo vnesli majhen igralni element - podatki o mentorjih so bili shranjeni v sortirnem klobuku, ob kliku na katerega si lahko ogledate ime in kontakt vašega bodočega mentorja.

Ko sem izvedela ime svojega mentorja in pogledala njegov profil na LinkedInu, sem ugotovila, da si res želim priti do njega. Je izkušen razvijalec, senior, že nekaj let dela v tujini. Imeti takega mentorja je res velik uspeh. A zdelo se mi je, da bodo njegove zahteve zelo visoke. Kasneje se je izkazalo, da sem se zmotil glede previsokih zahtev, a takrat sem tako mislil.

Vprašanja za prihajajoči intervju so bila znana, zato se je bilo možno nanj pripraviti vnaprej.
OOP poučuje video [J]u[S]t prototip tega!. Njen avtor Sergej Meljukov jo pripoveduje na izjemno dostopen in razumljiv način.
Podatkovne strukture in zapis Big O so dobro obravnavani v članku. Varljiv list za tehnični intervju.
Največ dvomov je vzbujala naloga JavaScript, ki bo zagotovo vključena v intervju. Na splošno zelo rad rešujem probleme, a z Googlom in v konzoli brskalnika ter če jih je treba reševati s peresom in papirjem (ali z miško v beležki), postane vse veliko težje.
Za oba je priročno, da se pripravite na razgovor na spletni strani skype.com/interviews/ – drug drugemu postavljajo vprašanja, predstavljajo težave. To je dokaj učinkovit način priprave: ko nastopaš v različnih vlogah, bolje razumeš, kdo je na drugi strani ekrana.

Kakšen sem si predstavljal, da bo intervju? Najverjetneje za izpit, kjer sta izpraševalec in testiranec. Pravzaprav to zagotovo ni bil izpit. Namesto tega pogovor med dvema strastnima človekoma, ki delata isto stvar. Intervju je bil izredno umirjen, udoben, prijazen, vprašanja niso bila zelo težka, naloga je bila čisto enostavna, mentor pa sploh ni nasprotoval reševanju v konzoli in mi je celo dovolil pogledati v Google (»nihče ne bo prepovedati uporabo Googla v službi«).

Kolikor razumem, glavni namen razgovora ni bil preverjanje našega znanja in sposobnosti reševanja problemov, ampak da mentorju omogočimo, da spozna svoje študente in jim pokaže, kako intervju sploh izgleda. In to, da so od intervjuja ostali le dobri vtisi, je rezultat njegovega zavestnega truda, želje, da pokaže, da v intervjuju pravzaprav ni nič strašnega in da bi ga človek lahko šel skozi z veseljem. Drugo vprašanje je, zakaj je bilo človeku s tehnično izobrazbo to precej enostavno narediti, učiteljem pa zelo redko. Vsi se spomnijo, s kakšnim navdušenjem so opravljali izpit, tudi če so snov poznali odlično. In ker govorimo o uradni pedagogiki, bom povedal še eno ugotovitev. Tečaja so se med drugim udeležili študenti višjih letnikov informatike. In tako so trdili, da je oblika usposabljanja, ki jo ponuja šola Rolling Scopes, veliko bolj uporabna, zanimiva in učinkovita kot običajni univerzitetni program.

Opravil sem razgovor. Nato je mentor določil dan v tednu in čas, ko je bilo zanj primerno za pogovor z menoj. Za ta dan sem pripravil vprašanja, on pa je nanje odgovarjal. O projektih, ki sem jih izvajal, nisem imel veliko vprašanj – večino odgovorov sem našel na Googlu ali šolskem klepetu. Spregovoril pa je o svojem delu, o možnih težavah in načinih njihovega reševanja ter delil svoja opažanja in komentarje. Na splošno so bili ti pogovori izjemno koristni in zanimivi. Poleg tega je mentor tako rekoč edini človek, ki ga zanima, kaj in kako delaš, človek, ki bo pogledal tvoje delo, povedal, kaj je z njim narobe in kako bi ga lahko izboljšal. Prisotnost mentorjev je res velika prednost šole, katere vlogo je težko preceniti.

Na drugi stopnji smo imeli zelo zanimiv in dinamičen Code Jam "JavaScript Arrays Quick Draw"; takšna tekmovanja v šoli so razburljiva in razburljiva.
Izkazalo se je, da je Code Jam "CoreJS" veliko bolj zapleten. 120 problemov z JavaScriptom, katerih reševanje je trajalo 48 ur, je postalo resen preizkus.
Imeli smo tudi več testov JavaScript, povezava do En od njih Shranil sem ga med zaznamke brskalnika. Za dokončanje testa imate na voljo 30 minut.
Nato smo sestavili postavitev NeutronMail, dokončali Code Jam »DOM, DOM Events« in ustvarili iskalnik YouTube.

Druge naloge druge stopnje: Naloga: Codewars – reševanje problemov na istoimenskem mestu, Code Jam “WebSocket Challenge.” – pošiljanje in prejemanje sporočil z uporabo spletnih vtičnic, Code Jam “Animation Player” – izdelava majhne spletne aplikacije.

Precej nenavadna in zanimiva naloga druge stopnje je bila naloga »Predstavitev«. Njena glavna značilnost je, da je morala biti predstavitev pripravljena in predstavljena v angleškem jeziku. Tukaj Kako je potekala osebna faza predstavitev, si lahko ogledate.

In nedvomno najbolj zapletena in obsežna je bila zadnja naloga druge stopnje, v kateri smo morali izdelati lastno kopijo spletne aplikacije Piskel (www.piskelapp.com).
Ta naloga je trajala več kot mesec dni, pri čemer je bila večina časa porabljena za razumevanje, kako deluje v izvirniku. Za večjo objektivnost je zaključno nalogo preveril drug, naključno izbran mentor. In tudi intervju po drugi stopnji je vodil naključni mentor, ker smo bili že navajeni našega, on pa nas, na pravih intervjujih pa praviloma srečamo ljudi, ki se med seboj ne poznajo.

Drugi intervju se je izkazal za veliko težjega od prvega. Kot prej je bil za razgovor na voljo seznam vprašanj, na katere sem se pripravljal, vendar se je mentor odločil, da preprosto postavljanje teorije ne bi bilo povsem pravilno, in pripravil nabor nalog za razgovor. Naloge so bile po mojem mnenju kar težke. Na primer, iskreno ni razumel, kaj mi preprečuje, da bi napisal bind polyfill, prav tako sem iskreno verjel, da je dejstvo, da vem, kaj je bind in kaj je polyfill, že veliko. Tega problema nisem rešil. So pa bili še drugi, s katerimi sem se ukvarjal. Toda problemi niso bili enostavni in takoj ko sem našel rešitev, je mentor nekoliko spremenil pogoj in sem moral problem rešiti znova, v bolj zapleteni različici.
Hkrati ugotavljam, da je bilo vzdušje na razgovoru zelo prijazno, naloge so bile zanimive, mentor je porabil veliko časa za njihovo pripravo in poskušal zagotoviti, da bo intervju za usposabljanje v prihodnosti pomagal opraviti pravi intervju ob prijavi na delovno mesto.

Primeri nalog druge stopnje:
NeutronMail
Palette
YouTubeClient
PiskelClone

Na tretji stopnji nam je bila ponujena naloga Kulturni portal. Izvajali smo jo v skupini in se prvič seznanili z značilnostmi timskega dela, porazdelitvijo odgovornosti in reševanjem konfliktov pri združevanju vej v Gitu. To je bila verjetno ena najzanimivejših nalog na tečaju.

Primer naloge tretje stopnje: Kulturni portal.

Po zaključku tretje stopnje so študenti, ki so se prijavili na delovno mesto pri EPAM in so bili uvrščeni na seznam 120 najboljših, opravili telefonski razgovor za preverjanje znanja angleškega jezika, trenutno pa opravljajo tehnične razgovore. Večina jih bo povabljena v EPAM JS Lab, nato pa v realne projekte. EPAM vsako leto zaposli več kot sto diplomantov Rolling Scopes School. V primerjavi s tistimi, ki so tečaj začeli, je to dokaj majhen odstotek, a če pogledate tiste, ki so prišli v finale, je njihova možnost, da dobijo službo, kar velika.

Od težav, na katere morate biti pripravljeni, bom omenil dve. Prvi je čas. Potrebujete ga kar veliko. Ciljajte na 30-40 ur na teden, možno je več; če manj, je malo verjetno, da boste imeli čas opraviti vse naloge, saj je program tečaja zelo intenziven. Druga je angleška raven A2. Če je nižja, študij tečaja ne bo škodil, vendar bo iskanje službe s to stopnjo znanja jezika precej težko.

Če imate vprašanja, vprašajte, poskusil bom odgovoriti. Če poznate druge podobne brezplačne spletne tečaje v ruskem jeziku, jih delite, zanimivo bo.

Vir: www.habr.com

Dodaj komentar