A jó dolog sosem olcsó. De lehet ingyenes is.

Ebben a cikkben a Rolling Scopes School-ról szeretnék mesélni – egy ingyenes JavaScript / frontend kurzusról, amelyet teljesítettem, és nagyon tetszett. Véletlenül tudtam meg erről a kurzusról, az interneten szerintem kevés információ található róla, pedig a kurzus kiváló és megérdemli a figyelmet. Úgy gondolom, ez a cikk hasznos lesz azok számára, akik önállóan próbálnak programozást tanulni. Mindenesetre, ha korábban valaki beszél nekem erről a kurzusról, biztosan hálás lettem volna.

Akkoriban, akik még nem próbáltak maguktól tanulni, feltehetik a kérdést – miért szükségesek ezek a kurzusok, hiszen az interneten rengeteg információ van – csak el kell venni és tanulni. Valójában a rengeteg információ nem mindig jó, mert nem mindig könnyű kiválasztani ebben a tengerben pontosan azt, amire szükséged van. A kurzus megmutatja: mit kell tanulni, hogyan, milyen tempóban; segít megkülönböztetni a jó és figyelemre méltó forrásokat a gyenge és elavultoktól; számos gyakorlati feladatot kínál; megengedi, hogy része legyél azoknak a közösségnek, akik ugyanazzal foglalkoznak, mint te.

A kurzus során folyamatosan végeztük a feladatokat: teszteket oldottunk meg, problémákat kréztünk, saját projekteket alakítottunk ki. Mindez értékelésre került, és egy közös táblázatban nyomon követhettük az eredményeinket más diákok eredményeivel. A versengés légköre jó, szórakoztató és érdekes. De a pontok, bár fontosak voltak a következő szakaszba lépéshez, nem voltak cél nélküliek. A kurzus szervezői támogatták a támogatást és az együttműködést – a csoportban a diákok megbeszélték a feladatok megoldásával kapcsolatos kérdéseiket, és együtt próbáltuk megtalálni a válaszokat. Továbbá a tanulásban mentorok segítettek, ami ingyenes kurzusként egyedülálló lehetőség.

A kurzus gyakorlatilag megszakítás nélkül működik: évente kétszer indul és hat hónapig tart. Három szakaszból áll. Az első szakaszban főleg a Git-et és a webfejlesztést tanultuk, a másodikban a JavaScriptet, a harmadikban pedig a React-et és a Node.js-t.

A következő szakaszba a korábbi szakasz teljesítményének alapján léptek tovább. Minden szakasz végén interjút tartottak. Az első és második szakasz végén tanulmányi interjúk zajlottak a mentorokkal, a harmadik szakasz után pedig a legjobb száz húsz hallgatónak interjúkat szerveztek a minszki EPAM JS Labban. A kurzust a belorusz front-end és JavaScript fejlesztők közössége, a The Rolling Scopes vezeti, így érthető, hogy kapcsolatuk van a minszki EPAM irodával. A közösség azonban próbálja megszilárdítani a kapcsolatokat és ajánlani hallgatóit IT cégeknek más belorusz városokban, illetve Kazahsztánban és Oroszországban.

Az első szakasz egy kicsit több mint egy hónapig tartott. Ez a legnagyobb létszámú szakasz. Az én csoportomban 1860 ember kezdte el, tehát mindenki, aki regisztrált a kurzusra. A kurzust különböző korú emberek végzik, de a hallgatók többsége főiskolás diák, illetve azok, akik néhány év más területen való munka után úgy döntöttek, hogy szakmát váltanak.

Az első szakasz során két tesztet tettünk le a Git alapjairól, két tesztet HTML/CSS-ből, Codecademy és HTML Academy tanfolyamokat végeztünk, elkészítettük az önéletrajzunkat markdown fájl formájában és normál weboldalként, elkészítettünk egy kis egyoldalas tervet, és megoldottunk néhány meglehetősen nehéz feladatot JavaScriptben.

Az első szakasz legnagyobb feladata a Hexal weboldalának elkészítése volt.
A legérdekesebb feladat pedig a játékos Code Jam volt, amely a CSS szelektorok ismeretére épült, „CSS Quick Draw” néven.
A legnehezebb feladatok a JavaScript feladatok voltak. Példa egyik ilyen feladatra: „Határozza meg a zérók számát egy nagy szám faktoriáljának végén a megadott számrendszerben”.

Az első szakasz feladatai közül egy példa: Hexal.

Az első szakasz feladatainak teljesítése alapján 833 hallgatót hívtak meg interjúra. A második szakaszba való belépést az interjú során a jövőbeli mentor határozta meg. A Rolling Scopes School mentorai aktív fejlesztők Belorusziából, Oroszországból és Ukrajnából. A mentorok segítenek és útmutatnak, ellenőrzik a feladatokat, válaszolnak a kérdésekre. A mi csoportunkban több mint 150 mentor volt. A szabadidő függvényében a mentor kéténtől öt diákot vehet, de az interjúra kettővel több hallgatót küldenek, hogy az interjú során választhasson azoktól, akikkel foglalkozni szeretne.

A hallgatók és mentorok elosztása az egyik legérdekesebb és izgalmasabb pillanata volt a tanfolyamnak. A szervezők egy kis játékos elemet is belevittek – a mentorok adatait egy kiosztó kalap tárolta, amelyre kattintva meg lehetett nézni a jövőbeli mentor nevét és elérhetőségeit.

Amikor megtudtam a mentorom nevét, és megnéztem a LinkedIn profilját, rájöttem, hogy nagyon szeretnék hozzá kerülni. Ő egy tapasztalt fejlesztő, szenior, aki már több éve külföldön dolgozik. Egy ilyen mentor valóban nagy szerencse. De a követelményeiről azt gondoltam, hogy nagyon magasak lesznek. Később kiderült, hogy tévedtem a túlzottan magas követelményekkel kapcsolatban, de abban a pillanatban így gondoltam.

Az elkövetkező interjú kérdései ismertek voltak, így előre fel lehetett rá készülni.
OOP-t videón tanultam. [J]u[S]t prototype this!. A szerzője, Szergej Meljukov, rendkívül érthetően és világosan beszél róla.
Az adatszerkezetek és a nagy-O jelölés kiválóan bemutatva vannak a cikkben. Spirálfüzet a technikai interjúhoz..
A legnagyobb kétségeket a JavaScript feladat okozta, amellyel kapcsolatban biztos voltam, hogy az interjún meg fog jelenni. Általában szeretek problémákat megoldani, de Google-lal és a böngésző konzolában, míg ha papíron kell kézzel (vagy egérrel a jegyzetben) megoldani – minden sokkal nehezebb lesz.
Az interjúra kényelmesen lehet készülni a skype.com/interviews/ – egymásnak kérdéseket feltenni, feladatokat kitalálni. Ez egy elég hatékony felkészülési mód: amikor különböző szerepekben lépsz fel, jobban megérted azt, aki a képernyő másik oldalán van.

Mire hasonlíthatott az interjú az én elképzelésem szerint? Valószínűleg egy vizsgára, ahol van egy vizsgáztató és egy vizsgázó. Valójában azonban ez biztosan nem volt vizsga. Inkább két lelkes ember beszélgetésére, akik ugyanazzal foglalkoznak. Az interjú rendkívül nyugodtan, kényelmesen, barátságosan zajlott, a kérdések nem voltak túl nehezek, a feladat pedig elég egyszerű volt, ráadásul a mentor egyáltalán nem volt ellenséges a konzolban való megoldással kapcsolatban és még azt is megengedte, hogy rálookizzak a Google-ra ("a munkahelyen senki sem tilthatja meg a Google használatát").

Amit én értek, az interjú fő célja nem az volt, hogy ellenőrizze a tudásunkat és a problémamegoldó képességünket, hanem lehetőséget adni a mentornak, hogy megismerkedjen a diákjaival, és megmutassa nekik, hogyan zajlik egy interjú. Az, hogy az interjúk után csak jó benyomások maradtak, a mentor tudatos erőfeszítéseinek, és annak volt köszönhető, hogy szeretett volna megmutatni, hogy az interjúban valójában nincs semmi ijesztő, és azt élvezettel lehet átélni. Más kérdés, hogy miért sikerült ezt egy műszaki végzettségű személynek viszonylag könnyen megtenni, míg a tanároknak ez ritkán sikerül. Mindenki emlékszik arra, milyen izgalommal mentünk a vizsgákra, még akkor is, ha tökéletesen ismertük az anyagot. Mivel már a hivatalos pedagógiáról van szó, megosztanék egy másik megfigyelést is. Az órán IT szakon tanuló idősebb hallgatók is részt vettek. Ők azt állították, hogy a Rolling Scopes School által kínált oktatási forma sokkal hasznosabb, érdekesebb és eredményesebb, mint a hagyományos egyetemi program.

Sikeresen átmentem az interjún. Ezt követően a mentor kijelölt egy hetet és egy időpontot, amikor kényelmesen beszélgethet velem. Erre a napra kérdéseket készítettem, ő pedig válaszolt rájuk. Nem sok kérdésem volt a végzett projektekkel kapcsolatban – a válaszok nagy részét Google-ból vagy az iskola csoportjából találtam meg. Viszont ő mesélt a munkájáról, a lehetséges problémákról és azok megoldási módjairól, megosztotta megfigyeléseit és észrevételeit. Összességében ezek a beszélgetések rendkívül hasznosak és érdekesek voltak. Ezen kívül a mentor gyakorlatilag az egyetlen olyan ember, akit tényleg érdekel, hogy mit és hogyan csinálsz, aki megnézi a munkádat, megmondja, mi nem megfelelő benne, és hogyan lehetne azt javítani. A mentorok jelenléte valóban óriási előny az iskolában, szerepüket nehéz túlbecsülni.

A második szakaszban egy nagyon érdekes és dinamikus Code Jam „JavaScript Arrays Quick Draw” versenyen vettünk részt. Az ilyen versenyek az iskolában izgalmasan és lekötően zajlanak.
Sokkal összetettebb volt a Code Jam „CoreJS”. 120 Javascript feladat, amelyek megoldására 48 órát kaptunk, komoly kihívást jelentettek.
Továbbá több Javascript tesztünk is volt, a linkje az egyikhez megmaradt a böngészőm könyvjelzőiben. A teszt megoldására 30 perc áll rendelkezésre.
A következő lépésben elkészítettük a NeutronMail tervét, megvalósítottuk a Code Jam „DOM, DOM Events” feladatot, és létrehoztunk egy keresőt a YouTube-hoz.

A második szakasz további feladatai: Feladat: Codewars – megoldások az azonos nevű weboldalon, Code Jam „WebSocket Challenge” – üzenetek küldése és fogadása websockets segítségével, Code Jam „Animation Player” – egy kisebb webalkalmazás létrehozása.

A második szakasz meglehetősen szokatlan és érdekes feladatának a "Presentation" volt. A feladat fő sajátossága, hogy a prezentációt angol nyelven kellett elkészíteni és bemutatni. Itt Meg lehet nézni, hogyan zajlott a hivatalos prezentációs szakasz.

És kétségtelenül a második szakasz legnehezebb és legkiterjedtebb feladata az volt, amikor saját webalkalmazásunk másolatát kellett elkészítenünk, a Piskel (www.piskelapp.com) webalkalmazásról.
A feladatra több mint egy hónapunk ment el, és a legtöbb időt arra fordítottuk, hogy megértsük, hogyan működik az eredeti. A nagyobb objektivitás érdekében a végső feladatot egy másik, véletlenszerűen választott mentor ellenőrizte. A második szakasz utáni interjút is véletlenszerű mentor vezette, mert a sajátunkhoz már hozzászoktunk, és ő is hozzászokott hozzánk, de a valódi interjúkon jellemzően ismeretlen emberek találkoznak.

A második interjú sokkal nehezebbnek bizonyult, mint az első. Mint korábban, volt egy kérdéssor az interjúhoz, amelyre felkészültem, de a mentor úgy döntött, hogy nem lenne helyes egyszerűen a elméletet kérdezni, ezért egy feladatcsoportot állított össze az interjúra. Véleményem szerint ezek a feladatok elég nehezek voltak. Például ő őszintén nem értette, miért nem tudom megírni a bind polyfill-t, míg én ugyanígy őszintén úgy éreztem, hogy az, hogy tudom, mi az a bind, és mi az a polyfill, már sok. Ezt a feladatot nem oldottam meg. De voltak mások is, amikkel megbirkóztam. Csak az volt a probléma, hogy a feladatok nem voltak egyszerűek, és amint rátaláltam a megoldásra, a mentor egy kicsit módosította a feltételt, és újra meg kellett oldani a feladatot, már egy összetettebb változatban.
Ezúton szeretném megjegyezni, hogy az interjú légköre nagyon barátságos volt, a feladatok érdekesek, a mentor sok időt szánt a feladatok előkészítésére, és törekedett arra, hogy az oktatási interjú a jövőben segítse a valós munkahelyi interjúk lebonyolítását.

A második szakasz feladatainak példái:
NeutronMail
Palette
YouTubeClient
PiskelClone

A harmadik szakaszban a Culture Portal feladatot kaptuk. Ezt csoportban hajtottuk végre, és először ismerkedtünk meg a csapatmunka sajátosságaival, a feladatkörök elosztásával és a konfliktusok megoldásával a Git ágazatok összevonásakor. Valószínűleg ez volt a kurzus egyik legérdekesebb feladata.

A harmadik szakasz feladatának példája: Culture Portal.

A harmadik szakasz befejezése után azok a hallgatók, akik pályáztak az EPAM vállalatnál végzett munkára és bekerültek a legjobb 120 közé, telefonos interjút tettek az angol tudásukkal kapcsolatban, és jelenleg technikai interjúkon vesznek részt. A legtöbbjüket az EPAM JS Labba fogják meghívni, majd valódi projektekhez. Minden évben több mint száz Rolling Scopes School végzett diák kap munkát az EPAM-nál. A kurzus elején részt vevőkhez képest ez egy viszonylag alacsony arány, de ha a döntőbe jutottakra nézünk, számukra a munkára való esély meglehetősen magas.

Két nehézségre érdemes felkészülni, amit kiemelnék. Az első az idő. Elég sokat igényel. Heti 30-40 órára kell számítani, lehet több is; ha kevesebb, valószínűtlen, hogy a feladatokat el tudod végezni, mivel a kurzus programja nagyon tartalmas. A második a A2 szintű angol nyelvtudás. Ha az ennél alacsonyabb, az nem akadályozza a tanulást, de nehézséget jelent a munkakeresésben.

Ha kérdések merülnek fel, kérdezz, igyekszem válaszolni. Ha tudsz más hasonló ingyenes orosz nyelvű online kurzusokat, oszd meg, érdekes lenne.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster