Hea asi ei ole kunagi odav. Kuid see võib olla tasuta.

Selles artiklis tahan rääkida Rolling Scopes Schoolist – tasuta JavaScripti / frontend kursusest, mille ma läbisin ja mis mulle tõeliselt meeldis. Kuulsin sellest kursusest juhuslikult, arvamused internetis on minu meelest tõeliselt vähesed, aga kursus on suurepärane ja väärib tähelepanu. Arvan, et see artikkel on kasulik neile, kes üritavad iseseisvalt programmeerimist õppida. Igal juhul, kui keegi oleks mulle varem sellest kursusest rääkinud, oleksin kindlasti tänulik olnud.

Neil, kes pole üksi nullist õppimisega proovinud, võib tekkida küsimus – miks üldse mingid kursused, sest internetis on tohutult teavet – võta ja uuri. Tegelikult, tohutu teave ei ole alati hea, sest valides sellest merest just seda, mis sul vaja on, võib see olla tõeliselt keeruline. Kursus annab suunised: mida õppida, kuidas õppida, mis tempos õppida; aitab eristada häid ja tähelepanu väärivaid informatsiooniallikaid halbadest ja vananenud; pakkuda mitmeid praktilisi ülesandeid; võimaldab saada osa kirest ja huvist, mis seob inimesi, kes tegelevad sama asjaga nagu sina.

Kursi jooksul tegime pidevalt ülesandeid: läbisime teste, lahendasime ülesandeid, lõime oma projekte. Kõik see hinnati ja märgiti üldsüsteemi, kus sai oma tulemusi teiste üliõpilaste tulemustega võrrelda. Võistlusvaim on hea, lõbus ja huvitav. Kuigi punktid, olgugi et nad on olulised järgmisse etappi pääsemiseks, ei olnud enda eesmärk. Kursuse korraldajad soodustasid toetust ja koostööd – tšatis arutasid üliõpilased küsimusi, mis tekkisid ülesannete lahendamisel, ja püüdsid koos neile vastuseid leida. Lisaks aitasid meid õppimisel mentorid, mis on tasuta kursuse jaoks tõeliselt ainulaadne võimalus.

Kursus töötab praktiliselt katkestamatult: see käivitatakse kaks korda aastas ja kestab pool aastat. See koosneb kolmest etapist. Esimesel etapil õppisime peamiselt Git'i ja vormindamist, teisel – JavaScripti, kolmandal – Reacti ja Node.js.

Järgmisse etappi pääsesid eelmist etappi läbinud ülesannete tulemuste alusel. Iga etapi lõpus toimus intervjuu. Esimese ja teise etapi puhul olid need haridusalased intervjuud mentoritega, kolmandast etapist alates korraldati intervjuud saja kahekümne parima üliõpilase jaoks EPAM JS Labi Minskis. Kursust viib läbi valgevene front-end ja JavaScript arendajate kogukond The Rolling Scopes, mistõttu on neil kontaktiliidesed just Minskis asuva EPAM kontoriga. Ent kogukond püüab luua kontakte ning soovitada oma üliõpilasi IT-ettevõtetele ka teistes Valgevene, Kasahstani ja Venemaa linnades.

Esimene etapp kestis veidi üle kuu. See on kõige massilisem etapp. Minu grupis alustas seda 1860 inimest – st kõik, kes kursusele registreerusid. Kursust läbivad erineva vanusega inimesed, kuid enamik õpilasi on vanemate aastakäikude üliõpilased ja need, kes on töötanud mõnel teisel alal paar aastat ja otsustanud ametit vahetada.

Esimese etapi jooksul läbisime kaks testi Git põhialuste kohta, kaks testi HTML/CSS, Codecademy ja HTML Academy kursused, koostasime oma CV markdown-failina ja tavalise veebilehe vormingus, kujundasime väikese ühekülgse maketi ning lahendasime mitmeid keerulisi JavaScript ülesandeid.

Esimese etapi mahukaim ülesanne oli Hexali kodulehe kujundamine.
Kõige huvitavam oli mänguline Code Jam, kus testiti CSS selektorite teadmisi 'CSS Quick Draw'.
Kõige keerulisemad olid JavaScripti ülesanded. Üks selline ülesanne oli: „Leida nullide arv suure arvu faktoriaali lõpus määratud arvusüsteemis“.

Esimese etapi ülesande näide: Hexal.

Esimese etapi ülesannete täitmise tulemusena said 833 üliõpilast kutse intervjuule. Üliõpilase läbimine teise etapi jooksul intervjuu käigus määras tema tulevane mentor. Rolling Scopes Schooli mentoriteks on aktiivsed arendajad Valgevenes, Venemaal ja Ukrainas. Mentorid aitavad ja juhendavad, kontrollivad ülesandeid ja vastavad küsimustele. Meie mentorite komplektis oli üle 150. Sõltuvalt vabast ajast võib mentor võtta endale kaks kuni viis üliõpilast, kuid intervjuule suunatakse temale kaks üliõpilast rohkem, et intervjuu käigus saaks ta valida need, kellega ta tegelema hakkab.

Üliõpilaste ja mentorite jaotamine oli üks kursuse kõige huvitavamaid ja põnevamaid hetki. Korraldajad lõid sellesse väikese mängulise elemendi – mentorite andmeid hoidis jaotav kübar, millele klõpsates sai näha oma tulevase mentori nime ja kontakte.

Kui ma sain teada oma mentori nime ja vaatasin tema LinkedIni profiili, mõistsin, et tahan kindlasti temaga liituda. Ta on kogenud arendaja, vanem, töötanud juba mitmeid aastaid välismaal. Selline mentor on tõeliselt suur õnn. Kuid tundus, et tema nõudmised on väga kõrged. Hiljem selgus, et liialt kõrgete nõudmiste osas eksisin, kuid toona mõtlesin just nii.

Küsimused tulevase intervjuu jaoks olid teada, nii et ettevalmistamine oli võimalik teha eelnevalt.
OOP-i õppisin videotest. [J]u[S]t prototype this!. Selle autori – Sergei Meljukov – räägib erakordselt arusaadavalt ja selgelt.
Andmestruktuurid ja O-suurusnotation on artiklis suurepäraselt avatud. Tehnilise intervjuu märkmikud..
Suuremaid kahtlusi põhjustas JavaScripti ülesanne, mis on kindlasti intervjuus. Ma armastan üldiselt probleemide lahendamist, kuid Google'i ja brauseri konsoolis, aga kui tuleb lahendada käsitsi ja paberil (või hiirega märkmikus) – muutub kõik palju keerulisemaks.
Intervjuuks on mugav koos valmistuda saidil. skype.com/interviews/ – üksteiselt küsimuste esitamine ja ülesannete väljamõtlemine. See on piisavalt tõhus ettevalmistamise meetod: eri rollides esinedes saad paremini aru inimesest, kes on ekraani teises pooles.

Millele võiks minu arvates kvalifikatsioonieksami vestlus sarnaneda? Tõenäoliselt eksamile, kus on eksamineerija ja eksamineeritav. Tegelikult ei olnud see eksam. Pigem kahe sama ala entusiasti vestlus, kes tegelevad ühesuguse asjaga. Vestlus toimus äärmiselt rahulikult, mugavalt ja sõbralikult, küsimused olid mitte eriti keerulised, ülesanne oli piisavalt lihtne, ning mentor ei vastustanud sugugi selle lahendamisele konsoolis, vaid lubas isegi Google’isse piiluda ("tööl ei ole keegi Google’it kasutada keelanud").

Kuidas ma aru saan, oli vestluse peamine ülesanne mitte kontrollida meie teadmisi ja probleemide lahendamise oskusi, vaid anda juhendajale võimalus meiega tutvuda ja näidata, kuidas vestlus üldiselt välja näeb. Ja see, et vestlusest jäid alla head mälestused, oli tema teadlike pingutuste tulemuse, soovi näidata, et vestluses ei ole tegelikult midagi hirmutavat, ning seda saab nautida. Teine küsimus on, miks õnnestus seda piisavalt kergelt teha inimesel tehnilise haridusega, samas kui õpetajatest vaid harva. Kõik mäletavad, kui suurte emotsioonidega mindi eksamile, isegi kui materjal tundus täielikult selge. Ja kuna jutt läks ametlikule pedagoogikale, jagan veel ühe tähelepaneku. Kursusel õppisid ka vanemate kursuste IT-erialade üliõpilased. Nad väitsid, et Rolling Scopes Schooli pakkumine on palju kasulikum, huvitavam ja tulemuslikum kui tavaline ülikooliprogramm.

Intervjuu läks hästi. Edasi määras mentor nädala päeva ja aja, millal talle sobib minuga rääkida. Selleks päevaks valmistasin ette küsimusi, millele ta vastas. Projekti koosolekute osas ei olnud mul palju küsimusi – suurem osa vastuseid leidsin Google'ist või kooli vestlusest. Küll aga rääkis ta oma tööst, võimalikest probleemidest ja nende lahendamise viisidest ning jagas oma tähelepanekuid ja märkusi. Üldiselt olid need vestlused äärmiselt kasulikud ja huvitavad. Lisaks on mentor peaaegu ainus inimene, kellele on huvi, mida ja kuidas sa teed; inimene, kes vaatab sinu tööd, annab vihjeid, mis on selle juures vale, ja kuidas seda parandada. Mentorite olemasolu on tõeliselt suur eelis koolis, mille tähtsust on raske üle hinnata.

Teisel etapil toimus meil väga huvitav ja dünaamiline Code Jam „JavaScript Arrays Quick Draw”, sellised võistlused koolis on kahtlemata haaravad ja põnevad.
Tunduvalt keerulisemaks osutus Code Jam „CoreJS”. 120 JavaScripti ülesannet, mille lahendamiseks oli aega 48 tundi, osutus tõeliseks proovikiviks.
Meil oli veel mõned JavaScripti testid, link üks neist on mul brauseri järjehoidjates. Testi lahendamiseks on aega 30 minutit.
Seejärel lõime NeutronMail'i maketi, viisime läbi Code Jam 'DOM, DOM Events', tegime YouTube'i otsingumootori.

Teise etapi muud ülesanded: Ülesanne: Codewars – ülesannete lahendamine samanimelisel veebisaidil, Code Jam 'WebSocket Challenge.' – sõnumite saatmine ja vastuvõtmine veebisoketitehnoloogia abil, Code Jam 'Animation Player' – väikese veebirakenduse loomine.

Teise etapi üsna ebaharilik ja huvitav ülesanne oli 'Presentation'. Selle peamine eripära seisnes selles, et esitlus tuli valmistada ja esitleda inglise keeles. Siit võib näha, kuidas toimusid kohapealsed esitlusetapid.

Ja kindlasti oli teise etapi lõplik ülesanne kõige keerulisem ja mahukam, mille käigus paluti meil luua oma koopia veebirakendusest Piskel (www.piskelapp.com).
Selle ülesande täitmiseks kulus üle kuu, suurem osa ajast läks aga selle mõistmisele, kuidas see originaalis toimib. Objektiivsuse nimel kontrollis lõplikku ülesannet teine, juhuslikult valitud mentor. Ka pärast teist etappi toimus intervjuu juhuslikult valitud mentori poolt, sest oma mentoriga olime juba harjunud ja tema oli harjunud meiega, samas kui reaalsetes intervjuudes kohtuvad tavaliselt omavahel tuttavad inimesed.

Teine intervjuu osutus palju keerulisemaks kui esimene. Nagu varem, oli olemas intervjuu küsimuste nimekiri, millele olin valmistunud, aga mentor arvas, et pelgalt teooria küsida ei ole päris õige, ja koostas intervjuuks ülesannete komplekti. Ülesanded olid minu arvates piisavalt keerulised. Näiteks ei mõistnud ta tõeliselt, mis mind takistab bind polyfill'i kirjutamast, kuid ma arvasin siiralt, et see, et ma tean, mis on bind ja mis on polyfill, on juba palju. Selle ülesande ma ei lahendanud. Kuid oli ka teisi, millega ma hakkama sain. Ainult et ülesanded ei olnud lihtsad ja niipea, kui ma lahenduse leidsin, muutis mentor tingimusi veidi, ja ülesande lahendamine tuli uuesti alustada juba keerulisemas versioonis.
Oluline on märkida, et vestluse õhkkond oli väga sõbralik, ülesanded huvitavad, mentor kulutas palju aega nende ettevalmistamiseks ning soovis, et õppevestlus aitaks tulevikus läbida reaalset tööintervjuud.

Teise etapi näidised:
NeutronMail
Palette
YouTubeClient
PiskelClone

Kolmandal etapil pakuti meile ülesannet Culture Portal. Töö oli rühmatööna, kus tutvusime esmakordselt meeskonnatöö eripärade, ülesannete jaotamise ning konfliktide lahendamisega Git'i harude sulandamisel. See oli tõenäoliselt üks kõige huvitavamaid ülesandeid kursusel.

Kolmanda etapi ülesande näidis: Culture Portal.

Kolmanda etapi lõpus läbisid õpilased, kes soovisid töötada EPAMis ja pääsesid 120 parima hulka, telefoniintervjuu inglise keele oskuse kohta ning on praegu tehnilistel intervjuudel. Suurem osa neist kutsutakse EPAM JS Lab'i ja seejärel reaalsesse projekti. Igal aastal saab üle saja Rolling Scopes Schooli lõpetaja töö EPAMis. Need, kes lõpetavad kursuse, saavad selle võrreldes kursusest alustanud väikese protsendi, kuid finale jõudnutele on töökoha saamise võimalused üsna suured.

Nimetaksin kahte raskust, millega tuleb arvestada. Esiteks – aeg. Seda on vaja üsna palju. Suunduge 30-40 tundi nädalas, rohkem on lubatud, kuid vähemaga on tõenäoliselt ebatõenäoline, et jõuate kõik ülesanded õigel ajal täita, kuna kursuse programm on väga tihe. Teiseks – inglise keel tasemel A2. Kui see on madalam, siis kursusel õppimine ei sega, kuid selle tasemega töö leidmine on üsna keeruline.

Kui on küsimusi, küsige, püüan vastata. Kui teate muid sarnaseid tasuta venekeelseid online-kursuseid – jagage, see oleks huvitav.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster