Bunurile bune nu sunt niciodată ieftine. Dar pot fi gratuite

În acest articol vreau să vorbesc despre Rolling Scopes School – un curs gratuit de JavaScript / frontend, pe care l-am urmat și care mi-a plăcut foarte mult. Am aflat despre acest curs din întâmplare, informațiile despre el online sunt puține, în opinia mea, însă cursul este excelent și merită să fie cunoscut. Cred că acest articol va fi util celor care încearcă să învețe programarea pe cont propriu. În orice caz, dacă cineva mi-ar fi spus despre acest curs mai devreme, cu siguranță i-aș fi fost recunoscătoare.

Cei care nu au încercat să învețe singuri de la zero ar putea avea o întrebare – de ce sunt necesare cursuri, când informația pe internet este abundentă – ia-o și învață. De fapt, abundența informației nu este întotdeauna un lucru bun, deoarece poate fi destul de greu să alegi din acest ocean exact ceea ce îți este necesar. Cursul îți va arăta: ce să înveți, cum să înveți, în ce ritm să înveți; te va ajuta să distingi sursele de informație de calitate de cele nesigure și învechite; va oferi o mulțime de sarcini practice; îți va permite să devii parte dintr-o comunitate de persoane pasionate și interesate care se ocupă de aceleași lucruri ca și tine.

Pe parcursul cursului, am realizat constant sarcini: am dat teste, am rezolvat probleme, am creat propriile proiecte. Totul a fost evaluat și a mers într-un tabel comun, unde puteai compara rezultatul tău cu cele ale altor studenți. Atmosfera de competiție este plăcută, distractivă și interesantă. Cu toate acestea, punctele, deși importante pentru trecerea la etapa următoare, nu erau un scop în sine. Organizatorii cursului au încurajat sprijinul și ajutorul reciproc – în chat, studenții discutau întrebările apărute în timpul rezolvării sarcinilor și încercau împreună să găsească răspunsuri. În plus, în învățare ne-au ajutat mentori, ceea ce este o oportunitate unică pentru un curs gratuit.

Cursul funcționează practic fără întrerupere: începe de două ori pe an și durează șase luni. Este structurat în trei etape. În prima etapă, am studiat în principal Git și layout, în a doua – JavaScript, iar în a treia – React și Node.js.

Următoarea etapă a fost bazată pe rezultatele activităților din etapa anterioară. La sfârșitul fiecărei etape, se organiza un interviu. După prima și a doua etapă, au fost interviuri de formare cu mentorii, iar după a treia etapă, pentru cei mai buni o sută douăzeci de studenți, s-au organizat interviuri la EPAM JS Lab din Minsk. Cursul este condus de comunitatea belarusă de dezvoltatori frontend și JavaScript, The Rolling Scopes, ceea ce explică legăturile lor cu biroul EPAM din Minsk. Totuși, comunitatea încearcă să stabilească relații și să recomande studenții lor către companii IT din alte orașe din Belarus, Kazahstan și Rusia.

Prima etapă a durat puțin peste o lună. Aceasta a fost cea mai masivă etapă. În cohorta mea, au început 1860 de persoane – adică toți cei care s-au înscris la curs. La curs participă persoane de diferite vârste, dar majoritatea elevilor sunt studenți în anii terminali sau cei care, după câțiva ani de muncă în alt domeniu, au decis să schimbe profesia.

În prima etapă, am susținut două teste de bază pe Git, două teste pe HTML/CSS, cursuri Codecademy și HTML Academy, am creat propriul CV sub formă de fișier markdown și ca o pagină web obișnuită, am realizat un mic design de pagină singulară și am rezolvat câteva probleme destul de complexe de JavaScript.

Cea mai amplă sarcină a primei etape a fost crearea designului site-ului Hexal.
Cea mai interesantă a fost competiția Code Jam pe cunoștințele de selecție CSS „CSS Quick Draw”.
Cele mai dificile au fost sarcinile de JavaScript. Un exemplu dintre aceste sarcini este: „Găsiți numărul de zerouri la sfârșitul factorialului unui număr mare în sistemul de numerotare specificat”.

Exemplu de sarcină din prima etapă: Hexal.

După rezultatele activităților din prima etapă, 833 de studenți au primit invitații la interviu. Progresul studentului către a doua etapă în cadrul interviului era decis de mentorul său viitor. Mentorii Rolling Scopes School sunt dezvoltatori activi din Belarus, Rusia, Ucraina. Mentorii ajută, oferă sfaturi, verifică sarcinile, răspund la întrebări. În cohorta noastră, au fost peste 150 de mentori. În funcție de disponibilitatea lor, un mentor poate lua între doi și cinci studenți, dar la interviu sunt direcționați cu doi studenți mai mult, pentru ca în timpul interviului să poată să îi aleagă pe cei cu care va lucra.

Distribuția studenților și mentorilor a fost unul dintre cele mai interesante și captivante momente ale cursului. Organizatorii au adăugat un mic element de joc – informațiile despre mentori erau păstrate de o pălărie distribuitoare, pe care, la un clic, puteați vedea numele și contactele viitorului dumneavoastră mentor.

Când am aflat numele mentorului meu și am vizionat profilul său pe LinkedIn, am realizat că îmi doresc foarte mult să lucrez cu el. Este un dezvoltator experimentat, senior, care lucrează de câțiva ani în străinătate. Un astfel de mentor este cu adevărat o mare șansă. Dar și cerințele lui, așa cum mi se părea, vor fi foarte ridicate. Ulterior, am aflat că am greșit în privința cerințelor excesive, dar în acel moment asta credeam.

Întrebările pentru interviul viitor erau cunoscute, astfel că mă puteam pregăti pentru el în avans.
OOP a fost predat prin video [J]u[S]t prototype this!. Autorul său – Sergey Melukov – explică extrem de accesibil și clar.
Structurile de date și notația O-mare sunt excelente tratate în articol Caiet de sarcini pentru interviu tehnic.
Cea mai mare neliniște era provocată de sarcina de JavaScript, care cu siguranță va fi la interviu. Îmi place să rezolv sarcini, dar cu Google și în consola browser-ului, iar dacă trebuie să rezolvi cu pixul și pe hârtie (sau cu mouse-ul în notepad) – totul devine mult mai complicat.
Este comod să te pregătești pentru interviu în doi pe site-ul skype.com/interviews/ – să ne punem întrebări unul altuia, să ne creăm sarcini. Aceasta este o metodă de pregătire destul de eficientă: când joci diferite roluri, înțelegi mai bine persoana de cealaltă parte a ecranului.

La ce s-ar putea asemăna interviul în imaginea mea? Probabil, la un examen, unde există un examinator și un examinat. De fapt, nu a fost deloc un examen. Mai degrabă, o discuție între două persoane pasionate, care se ocupă de același lucru. Interviul a decurs extrem de calm, confortabil, prietenos, întrebările nu au fost foarte dificile, sarcina a fost destul de simplă, iar mentorul nu a avut nimic împotrivă să o rezolv în consolă și chiar a permis să arunc o privire în Google ("la lucru, nimeni nu interzice utilizarea Google").

Din câte înțeleg, principala sarcină a interviului a fost nu să ne verifice cunoștințele și capacitatea de a rezolva probleme, ci să ofere mentorului ocazia de a se familiariza cu studenții săi și de a le arăta cum arată un interviu în general. Și faptul că interviul a lăsat doar impresii bune a fost rezultatul eforturilor conștiente ale acestuia, dorinței de a demonstra că nu există nimic înfricoșător în interviuri și că se poate trece prin ele cu plăcere. O altă întrebare este de ce acest lucru a fost destul de ușor realizat de o persoană cu pregătire tehnică și foarte rar reușit de profesori. Toată lumea își amintește cu ce emoție mergea la examen, chiar și când știau foarte bine materialul. Și, cum deja s-a discutat despre pedagogia oficială, vreau să împărtășesc o altă observație. La curs au participat, printre altele, și studenți din anii terminali ai specializărilor IT. Aceștia susțineau că formatul de învățare oferit de Rolling Scopes School este mult mai folositor, interesant și eficient decât programul obișnuit al unei universități.

Am trecut interviul. Ulterior, mentorul a stabilit o zi a săptămânii și o oră când le era convenabil să discute cu mine. La acea zi, am pregătit întrebări, iar el a răspuns la ele. Nu am avut foarte multe întrebări despre proiectele realizate – majoritatea răspunsurilor le-am găsit pe Google sau în chatul școlii. În schimb, el povestea despre munca sa, despre problemele posibile și soluțiile acestora, împărtășindu-și observațiile și comentariile. Per ansamblu, aceste discuții au fost extrem de utile și interesante. În plus, mentorul este practic singura persoană interesată de ceea ce și cum faci, o persoană care va privi la munca ta, va sugera ce nu este în regulă cu ea și modul în care poate fi îmbunătățită. Prezența mentorilor este într-adevăr un avantaj imens al școlii, al cărui rol este greu de supraevaluat.

În a doua etapă am avut un Code Jam foarte interesant și dinamic numit „JavaScript Arrays Quick Draw”, astfel de competiții se desfășoară captivant și incitant în școală.
Code Jam „CoreJS” s-a dovedit a fi mult mai complicat. 120 de sarcini pe JavaScript, la rezolvarea cărora erau alocate 48 de ore, au devenit o adevărată provocare.
De asemenea, am avut câteva teste pe JavaScript, linkul către unul dintre ele a rămas salvat în bookmark-urile browserului meu. La rezolvarea testului se alocă 30 de minute.
Apoi, am realizat designul pentru NeutronMail, am efectuat Code Jam „DOM, DOM Events”, am creat un motor de căutare pe YouTube.

Alte sarcini din a doua etapă: Task: Codewars – rezolvarea problemelor pe site-ul omonim, Code Jam „WebSocket Challenge.” – trimiterea și primirea mesajelor prin intermediul websockets, Code Jam „Animation Player” – crearea unei mici aplicații web.

O sarcină destul de neobișnuită și interesantă din a doua etapă a fost taskul „Presentation”. Principalul său aspect a fost că prezentarea trebuia pregătită și susținută în limba engleză. Aici poți vedea cum a decurs etapa prezentărilor.

Și, cu siguranță, cea mai complexă și voluminoasă a fost sarcina finală din a doua etapă, în cadrul căreia ni s-a propus să creăm propria copie a aplicației web Piskel (www.piskelapp.com).
La această sarcină a fost necesar mai mult de o lună, iar cea mai mare parte a timpului a fost dedicată înțelegerii modului în care funcționează în original. Pentru o mai mare obiectivitate, sarcina finală a fost evaluată de un alt mentor ales aleatoriu. Și interviul după a doua etapă a fost, de asemenea, realizat de un mentor aleatoriu, pentru că la propriul nostru mentor ne-am obișnuit și el s-a obișnuit cu noi, iar la interviurile reale, de obicei, se întâlnesc oameni străini între ei.

Al doilea interviu s-a dovedit a fi mult mai dificil decât primul. Ca și înainte, era disponibil un set de întrebări pentru interviu, pentru care m-am pregătit, dar mentorul a decis că pur și simplu să întrebe teoria nu ar fi fost chiar corect, și a pregătit un set de probleme pentru interviu. Problemele, din punctul meu de vedere, au fost destul de dificile. De exemplu, el nu înțelegea sincer ce mă împiedica să scriu un bind polyfill, iar eu, la fel de sincer, credeam că faptul că știu ce este bind și ce este polyfill este deja mult. Nu am reușit să rezolv această sarcină. Dar au fost și altele cu care m-am descurcat. Totuși, problemele nu erau simple, și de îndată ce găseam o soluție, mentorul modifica puțin condiția, și trebuia să rezolv sarcina din nou, într-o variantă deja mai complexă.
Menționez că atmosfera interviului a fost foarte prietenoasă, problemele interesante, mentorul a petrecut mult timp pregătindu-le, și a avut ca scop ca interviul de învățare să ajute în viitor la trecerea unui interviu real pentru angajare.

Exemple de sarcini din a doua etapă:
NeutronMail
Palette
YouTubeClient
PiskelClone

În a treia etapă ni s-a oferit sarcina Culture Portal. Aceasta a fost realizată în grup și, pentru prima dată, am cunoscut specificitățile colaborării în echipă, repartizarea responsabilităților și rezolvarea conflictelor la îmbinarea ramurilor în Git. Probabil că aceasta a fost una dintre cele mai interesante sarcini ale cursului.

Exemplu de sarcină pentru a treia etapă: Culture Portal.

După finalizarea etapei a treia, studenții care au aplicat pentru un loc de muncă la compania EPAM și s-au aflat pe lista celor 120 cei mai buni, au susținut un interviu telefonic pentru a dovedi cunoștințele de limbă engleză și în prezent participă la interviuri tehnice. O mare parte dintre ei vor fi invitați în EPAM JS Lab, iar apoi la proiecte reale. În fiecare an, peste o sută de absolvenți ai Rolling Scopes School își găsesc un loc de muncă în EPAM. Comparativ cu cei care au început cursul, acesta este un procent destul de mic, dar dacă ne uităm la cei care au ajuns la final, pentru ei șansa de a obține un loc de muncă este destul de mare.

Dintre dificultățile la care trebuie să fii pregătit, voi menționa două. Prima – timpul. Acesta este destul de mult. Planificați-vă 30-40 de ore pe săptămână, poate și mai mult; dacă mai puțin, este puțin probabil să reușiți să finalizați toate sarcinile, deoarece programul cursului este foarte dens. A doua – engleza la nivel A2. Dacă este sub acest nivel, a studia în cadrul cursului nu va fi un impediment, dar a găsi un loc de muncă cu un astfel de nivel de cunoaștere a limbii va fi destul de dificil.

Dacă aveți întrebări, nu ezitați să le puneți, voi încerca să răspund. Dacă cunoașteți alte cursuri online gratuite în limba rusă asemănătoare, vă rugăm să le împărtășiți, va fi interesant.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster