Godt koster ikke penge. Men det kan være gratis

I denne artikel vil jeg fortælle om Rolling Scopes School – et gratis kursus i JavaScript / frontend, som jeg har gennemført, og som jeg synes var fantastisk. Jeg fandt tilfældigt ud af dette kursus, og jeg mener, at der er lidt information om det på nettet, men kurset er fremragende og fortjener opmærksomhed. Jeg tror, denne artikel vil være nyttig for dem, der forsøger at lære programmering på egen hånd. Under alle omstændigheder, hvis nogen havde fortalt mig om dette kursus tidligere, ville jeg helt sikkert have været taknemmelig.

For dem, der ikke har forsøgt at lære selv fra bunden, kan der opstå spørgsmålet – hvorfor er der behov for kurser, når der er en overflod af information på nettet – tag det og lær. Faktisk er en overflod af information ikke altid godt, fordi det kan være meget vanskeligt at vælge det, du præcist har brug for, fra det hav. Kurset vil guide dig: hvad du skal lære, hvordan du skal lære, i hvilket tempo du skal lære; det hjælper med at skelne mellem gode og værdifulde informationskilder fra dårlige og forældede; det tilbyder mange praktiske opgaver; og det giver dig mulighed for at blive en del af et fællesskab af passionerede og interesserede mennesker, der laver det samme som dig.

I løbet af kurset udførte vi konstant opgaver: vi tog tests, løste problemer, skabte vores egne projekter. Alt dette blev vurderet og blev en del af en samlet tabel, hvor man kunne sammenligne sine resultater med andre studerendes resultater. Atmosfæren af konkurrence er god, sjov og interessant. Men pointene, selvom de er vigtige for at gå videre til næste niveau, var ikke selve målet. Kursusarrangørerne opfordrede til støtte og gensidig hjælp – i chatten diskuterede studerende spørgsmål, der opstod under løsningen af opgaverne, og forsøgte at finde svar sammen. Derudover blev vi hjulpet af mentorer, hvilket er en helt unik mulighed for et gratis kursus.

Kurset kører stort set kontinuerligt: det starter to gange om året og varer i seks måneder. Det består af tre faser. I den første fase lærte vi primært Git og layout, i den anden – JavaScript, i den tredje – React og Node.js.

I næste fase blev man vurderet ud fra resultaterne af opgaverne fra den foregående fase. Ved slutningen af hver fase blev der gennemført interviews. Efter den første og anden fase var der tale om træningsinterviews med mentorerne, mens der efter den tredje fase blev organiseret interviews for de bedste 120 studerende i Minsk EPAM JS Lab. Kurset afholdes af det belarussiske fællesskab af frontend- og JavaScript-udviklere, The Rolling Scopes, hvilket forklarer deres kontakter til netop EPAMs kontor i Minsk. Desuden arbejder fællesskabet på at etablere kontakter og anbefale deres studerende til IT-virksomheder i andre byer i Hviderusland, Kasakhstan og Rusland.

Den første fase varede lidt over en måned. Dette er den mest folkerige fase. I mit hold startede 1860 personer – altså alle, der tilmeldte sig kurset. Deltagerne er af forskellig alder, men de fleste studerende er på de ældre semestre, samt dem, der efter at have arbejdet i flere år i en anden branche har besluttet at skifte karriere.

I den første fase gennemførte vi to tests i grundlæggende Git, to tests i HTML/CSS, kurser fra Codecademy og HTML Academy, lavede vores CV som en markdown-fil og som en almindelig webside, designede en lille enkeltside og løste flere ret komplekse opgaver i JavaScript.

Den mest omfattende opgave i den første fase var at kode hjemmesiden Hexal.
Den mest interessante var Code Jam-spillet om viden om css-selektorer 'CSS Quick Draw'.
De sværeste opgaver var dem i JavaScript. Et eksempel på en af disse opgaver: «Find antallet af nuller i slutningen af fakultetet af et stort tal i den angivne talsystem».

Eksempel på opgaven fra den første fase: Hexal.

Som et resultat af opgaverne fra den første fase fik 833 studerende indbydelse til interview. En studerendes videre færd til den anden fase blev bestemt af hans fremtidige mentor under interviewet. Mentorerne fra Rolling Scopes School er aktive udviklere fra Hviderusland, Rusland og Ukraine. Mentorerne hjælper og vejleder, tjekker opgaver og svarer på spørgsmål. I vores hold var der over 150 mentorer. Afhængigt af tilgængeligheden kan en mentor tage mellem to og fem studerende, men til interviewet sendes der to ekstra studerende, så mentoren har mulighed for at vælge dem, han vil arbejde med.

Fordelingen af studerende og mentorer var et af de mest interessante og spændende øjeblikke på kurset. Arrangørerne tilføjede et lille spillelement - information om mentorene blev opbevaret i en fordelingshat, som man kunne klikke på for at se navnet og kontaktoplysningerne på sin fremtidige mentor.

Da jeg fik at vide navnet på min mentor og kiggede på hans profil på LinkedIn, indså jeg, at jeg virkelig gerne ville have ham. Han er en erfaren udvikler, senior, som har arbejdet i udlandet i flere år. En sådan mentor er virkelig en stor fordel. Men jeg troede, at hans krav ville være meget høje. Senere viste det sig, at jeg tog fejl angående de overdrevent høje krav, men på det tidspunkt tænkte jeg lige præcis sådan.

Spørgsmålene til det kommende interview var kendte, så man kunne forberede sig i forvejen.
OOP blev undervist via videoer. [J]u[S]t prototype this!. Dens forfatter – Sergey Melyukov – forklarer på en meget tilgængelig og forståelig måde.
Data strukturer og O-big notation bliver glimrende præsenteret i artiklen. Håndbog til teknisk interview..
De største tvivl var omkring JavaScript-opgaven, som helt sikkert ville være til interviewet. Jeg elsker generelt at løse opgaver, men med Google og i browserens konsol; hvis man skal løse dem med håndskrivning og på papir (eller med musen i notesbogen) – så bliver det meget sværere.
Det er praktisk at forberede sig sammen på hjemmesiden. skype.com/interviews/ – stille hinanden spørgsmål, finde på opgaver. Det er en ret effektiv forberedelsesmetode: når man optræder i forskellige roller, forstår man bedre den, der sidder på den anden side af skærmen.

Hvordan kunne interviewet i min opfattelse have set ud? Formentlig som en eksamen, hvor der er en eksaminator og en eksaminand. Faktisk var det bestemt ikke en eksamen. Mere som en samtale mellem to passionerede mennesker, der arbejder med det samme. Interviewet forløb ekstremt roligt, komfortabelt, venligt, spørgsmålene var ikke alt for svære, opgaven var ret simpel, og mentoren havde slet ikke noget imod at løse den i konsollen og gav endda lov til at kigge på Google ("ingen forbyder at bruge Google på arbejdet").

Som jeg forstår det, var hovedformålet med interviewet ikke at teste vores viden og evne til at løse opgaver, men at give mentoren mulighed for at møde sine studerende og vise dem, hvordan et interview ser ud generelt. At interviewet kun efterlod gode indtryk, var resultatet af hans bevidste anstrengelser, ønsket om at vise, at der faktisk ikke er noget skræmmende ved interviews, og at man kan gennemføre dem med glæde. Et andet spørgsmål er, hvorfor det var forholdsvis let for en person med teknisk baggrund, og meget sjældent lykkes for undervisere. Alle husker jo, hvilken nervøsitet man havde, når man gik til eksamen, selvom man var helt sikker i stoffet. Og da vi er ved officiel pædagogik, vil jeg dele en observation til. På kurset var der også studerende fra de højere årgange på IT-uddannelserne. De hævdede, at læringsformatet, som Rolling Scopes School tilbyder, er meget mere nyttigt, interessant og effektfuldt end de sædvanlige universitetsprogrammer.

Jeg bestod interviewet. Senere fastsatte mentoren en dag om ugen og et tidspunkt, hvor det passede ham at tale med mig. Til denne dag forberedte jeg spørgsmål, som han svarede på. Jeg havde ikke mange spørgsmål om de projekter, jeg arbejdede på - størstedelen af svarene fandt jeg i Google eller i skolens chat. Til gengæld fortalte han om sit arbejde, mulige problemer og måder at løse dem på, delte sine observationer og bemærkninger. Generelt var disse samtaler utrolig nyttige og interessante. Desuden er mentoren praktisk talt den eneste, der er interesseret i, hvad og hvordan du gør det, en person, der ser på dit arbejde, fortæller dig, hvad der ikke fungerer, og hvordan det kan forbedres. Tilstedeværelsen af mentorer er virkelig en kæmpe fordel ved skolen, og deres rolle er svær at overvurdere.

I den anden fase havde vi en meget interessant og dynamisk Code Jam "JavaScript Arrays Quick Draw"; sådanne konkurrencer i skolen foregår spændende og fascinerende.
Code Jam "CoreJS" var meget mere udfordrende. 120 opgaver i JavaScript, hvor man havde 48 timer til at løse dem, blev en alvorlig test.
Vi havde også flere tests i JavaScript; linket til én af dem har jeg gemt i browserens bogmærker. Der er 30 minutter til at løse testen.
Vi har derefter designet skabelonen til NeutronMail, gennemført Code Jam 'DOM, DOM Events' og oprettet en søgemaskine til YouTube.

Andre opgaver i det andet trin: Opgave: Codewars – løsning af opgaver på det samme websted, Code Jam 'WebSocket Challenge.' – afsendelse og modtagelse af beskeder via websockets, Code Jam 'Animation Player' – oprettelse af en lille webapplikation.

En ret usædvanlig og interessant opgave i det andet trin var 'Præsentation'. Dets vigtigste kendetegn var, at præsentationen skulle forberedes og præsenteres på engelsk. Her man kan se, hvordan det fysiske præsentationstrin forløb.

Og uden tvivl var den mest udfordrende og omfattende opgave i det andet trin, at vi blev bedt om at lave vores egen kopi af webapplikationen Piskel (www.piskelapp.com).
Det tog mere end en måned at udføre denne opgave, og størstedelen af tiden gik med at forstå, hvordan det fungerer i originalen. For større objektivitet blev den afsluttende opgave vurderet af en anden, tilfældigt udvalgt mentor. Og interviewet efter det andet trin blev også gennemført af en tilfældig mentor, fordi vi allerede var vant til vores egen, og han var vant til os, og i virkelige interviews møder man som regel ukendte mennesker.

Det andet interview viste sig at være meget sværere end det første. Som tidligere var der en liste med interviewspørgsmål, som jeg havde forberedt mig på, men mentoren mente, at det ikke ville være helt korrekt blot at spørge om teori, og til interviewet forberedte han et sæt opgaver. Opgaverne var efter min mening ret udfordrende. For eksempel forstod han oprigtigt ikke, hvad der forhindrede mig i at skrive bind polyfill, mens jeg oprigtigt syntes, at det faktum, at jeg vidste, hvad bind og polyfill var, var meget. Jeg løste ikke denne opgave. Men der var også andre, som jeg klarte. Opgaverne var bare ikke enkle, og så snart jeg fandt en løsning, ændrede mentoren lidt betingelserne, så jeg måtte løse opgaven igen i en mere udfordrende version.
Jeg vil bemærke, at atmosfæren under interviewet var meget venlig, opgaverne interessante, mentoren brugte meget tid på at forberede dem, og han stræbte efter, at det læringsinterview i fremtiden skulle hjælpe med at bestå et rigtigt interview, når man søger job.

Eksempler på opgaver i det andet trin:
NeutronMail
Palette
YouTubeClient
PiskelClone

I det tredje trin fik vi opgaven Culture Portal. Den udførte vi i en gruppe, og for første gang blev vi bekendt med karakteristika ved teamwork, fordeling af opgaver og løsning af konflikter ved sammensmeltning af grene i Git. Det var nok en af de mest interessante opgaver i kurset.

Eksempel på opgave fra tredje trin: Culture Portal.

Efter afslutningen af det tredje trin gennemgik de studerende, der ansøgte om job hos EPAM og kom på listen over de 120 bedste, en telefoninterview om deres engelskkundskaber, og de er nu i gang med tekniske interviews. Størstedelen af dem vil blive inviteret til EPAM JS Lab, og derefter til reale projekter. Hvert år får mere end hundrede kandidater fra Rolling Scopes School arbejde hos EPAM. I forhold til de, der startede kurset, er det en forholdsvis lille procentdel, men hvis man ser på dem, der nåede finalen, er chancen for at få et job ret stor.

To udfordringer, man skal være forberedt på, vil jeg nævne. Den første er tid. Det kræver ret meget. Forbered dig på 30-40 timer om ugen, det kan være mere, men mindre vil sandsynligvis gøre det svært at nå at fuldføre alle opgaver, da kursusprogrammet er meget intensivt. Den anden er engelsk på A2-niveau. Hvis det er lavere, vil det ikke skade at lære på kurset, men det vil være ret svært at finde et job med dette sprogniveau.

Hvis der er spørgsmål, så stil dem, jeg vil gøre mit bedste for at svare. Hvis du kender til andre lignende gratis russisktalende onlinekurser – del det, det ville være interessant.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster