Ang magagandang bagay ay hindi mura. Ngunit maaari itong maging libre

Sa artikulong ito gusto kong pag-usapan ang tungkol sa Rolling Scopes School, isang libreng kursong JavaScript/frontend na kinuha ko at talagang kinagigiliwan ko. Nalaman ko ang tungkol sa kursong ito nang hindi sinasadya; sa aking palagay, kakaunti ang impormasyon tungkol dito sa Internet, ngunit ang kurso ay mahusay at nararapat pansin. Sa tingin ko ang artikulong ito ay magiging kapaki-pakinabang sa mga nagsisikap na matuto ng programming sa kanilang sarili. Sa anumang kaso, kung may nagsabi sa akin tungkol sa kursong ito nang mas maaga, tiyak na nagpapasalamat ako.

Ang mga hindi sinubukang matuto mula sa simula ay maaaring may tanong: bakit kailangan ang anumang mga kurso, dahil maraming impormasyon sa Internet - kunin ito at pag-aralan ito. Sa katunayan, ang isang dagat ng impormasyon ay hindi palaging mabuti, dahil ang pagpili mula sa dagat na ito kung ano mismo ang kailangan mo ay hindi madali. Sasabihin sa iyo ng kurso: kung ano ang dapat matutunan, kung paano matututo, sa kung ano ang bilis upang matuto; ay makakatulong na makilala ang mahusay at kapansin-pansin na mga mapagkukunan ng impormasyon mula sa mga mababang kalidad at hindi napapanahong mga mapagkukunan; ay mag-aalok ng isang malaking bilang ng mga praktikal na gawain; ay magbibigay-daan sa iyo na maging bahagi ng isang komunidad ng mga madamdamin at interesadong mga tao na gumagawa ng parehong bagay tulad mo.

Sa buong kurso, patuloy kaming nakumpleto ang mga gawain: kumuha ng mga pagsusulit, nalutas ang mga problema, lumikha ng aming sariling mga proyekto. Ang lahat ng ito ay nasuri at napunta sa isang karaniwang talahanayan, kung saan maaari mong ihambing ang iyong resulta sa mga resulta ng iba pang mga mag-aaral. Ang kapaligiran ng kumpetisyon ay mabuti, masaya at kawili-wili. Ngunit ang mga puntos, bagama't mahalaga ang mga ito para sa pagpasa sa susunod na yugto, ay hindi isang katapusan sa kanilang sarili. Malugod na tinanggap ng mga tagapag-ayos ng kurso ang suporta at tulong sa isa't isa - sa chat, tinalakay ng mga mag-aaral ang mga tanong na lumitaw habang nilulutas ang mga takdang-aralin at sinubukang maghanap ng mga sagot sa kanila nang magkasama. Bilang karagdagan, tinulungan kami ng mga tagapayo sa aming pag-aaral, na isang natatanging pagkakataon para sa isang libreng kurso.

Ang kurso ay tumatakbo halos tuloy-tuloy: ito ay inilunsad dalawang beses sa isang taon at tumatagal ng anim na buwan. Binubuo ito ng tatlong yugto. Sa unang yugto pinag-aralan namin ang Git at layout, sa pangalawa - JavaScript, sa pangatlo - React at Node.js.

Sumulong sila sa susunod na yugto batay sa mga resulta ng pagkumpleto ng mga gawain sa nakaraang yugto. Sa pagtatapos ng bawat yugto ay isinagawa ang isang panayam. Pagkatapos ng una at ikalawang yugto, ito ay mga pang-edukasyon na panayam sa mga tagapayo; pagkatapos ng ikatlong yugto, inayos ang mga panayam para sa isang daan at dalawampung pinakamahusay na mag-aaral sa Minsk EPAM JS Lab. Ang kurso ay isinasagawa ng Belarusian community ng front-end at JavaScript developer na The Rolling Scopes, kaya malinaw na mayroon silang mga contact sa opisina ng EPAM Minsk. Gayunpaman, sinusubukan ng komunidad na magtatag ng mga contact at inirerekomenda ang mga mag-aaral nito sa mga kumpanya ng IT at iba pang mga lungsod sa Belarus, Kazakhstan, at Russia.

Ang unang yugto ay tumagal ng higit sa isang buwan. Ito ang pinakasikat na yugto. Sa aking recruitment, 1860 tao ang nagsimula nito - i.e. lahat ng nag-sign up para sa kurso. Ang kurso ay kinukuha ng mga tao sa lahat ng edad, ngunit ang karamihan ng mga mag-aaral ay mga senior na mag-aaral at ang mga, pagkatapos magtrabaho ng ilang taon sa ibang larangan, ay nagpasya na baguhin ang kanilang propesyon.

Sa unang yugto, nakapasa kami ng dalawang pagsubok sa mga pangunahing kaalaman ng Git, dalawang pagsubok sa mga kursong HTML/CSS, Codecademy at HTML Academy, lumikha ng aming CV sa anyo ng markdown file at sa anyo ng isang regular na web page, lumikha ng isang maliit na layout ng isang pahina, at nalutas ang ilang medyo kumplikadong problema sa pamamagitan ng JavaScript.

Ang pinakamalawak na gawain ng unang yugto ay ang layout ng website ng Hexal.
Ang pinaka-interesante ay ang larong Code Jam sa kaalaman ng mga tagapili ng CSS na “CSS Quick Draw”.
Ang pinakamahirap ay ang mga gawain sa JavaScript. Isang halimbawa ng isa sa mga gawaing ito: "Hanapin ang bilang ng mga zero sa dulo ng factorial ng isang malaking numero sa tinukoy na sistema ng numero".

Halimbawa ng unang yugto ng gawain: hexal.

Batay sa mga resulta ng pagkumpleto ng mga gawain sa unang yugto, 833 mag-aaral ang nakatanggap ng mga imbitasyon para sa mga panayam. Ang pagpasa ng mag-aaral sa ikalawang yugto sa panahon ng panayam ay tinutukoy ng kanyang magiging tagapagturo. Ang Rolling Scopes School mentor ay mga aktibong developer mula sa Belarus, Russia, at Ukraine. Tumutulong at nagpapayo ang mga mentor, suriin ang mga takdang-aralin, sagutin ang mga tanong. Mayroong higit sa 150 mentor sa aming set. Depende sa pagkakaroon ng libreng oras, ang isang mentor ay maaaring tumagal ng dalawa hanggang limang mag-aaral, ngunit dalawa pang mag-aaral ang ipinadala sa kanya para sa isang pakikipanayam upang sa panahon ng panayam ay maaari niyang piliin ang mga makakasama. magtatrabaho siya.

Ang paglalagay ng mga mag-aaral at tagapayo ay isa sa pinakakawili-wili at kapana-panabik na mga sandali ng kurso. Ipinakilala ng mga organizer ang isang maliit na elemento ng laro dito - ang data tungkol sa mga mentor ay nakaimbak sa isang sorting hat, sa pag-click kung saan makikita mo ang pangalan at mga contact ng iyong magiging mentor.

Nang malaman ko ang pangalan ng aking mentor at tiningnan ang kanyang profile sa LinkedIn, napagtanto ko na talagang gusto ko siyang puntahan. Siya ay isang makaranasang developer, senior, at ilang taon nang nagtatrabaho sa ibang bansa. Ang pagkakaroon ng gayong tagapagturo ay tunay na isang malaking tagumpay. Ngunit tila sa akin ay napakataas ng kanyang mga kahilingan. Nang maglaon ay lumabas na ako ay nagkakamali tungkol sa labis na mataas na mga pangangailangan, ngunit sa oras na iyon ay naisip ko.

Ang mga tanong para sa paparating na panayam ay alam, kaya posible na maghanda para dito nang maaga.
Itinuro ang OOP sa pamamagitan ng video [J]u[S]t prototype ito!. Ang may-akda nito, si Sergei Melyukov, ay nagsasabi nito sa isang lubhang naa-access at naiintindihan na paraan.
Ang mga istruktura ng data at Big O notation ay mahusay na sakop sa artikulo. Cheat Sheet ng Teknikal na Panayam.
Ang pinakamalaking pagdududa ay sanhi ng gawain ng JavaScript, na tiyak na isasama sa panayam. Sa pangkalahatan, gustung-gusto kong lutasin ang mga problema, ngunit sa Google at sa browser console, at kung kailangan mong lutasin ito gamit ang panulat at papel (o gamit ang mouse sa isang notepad), ang lahat ay nagiging mas mahirap.
Maginhawa para sa inyong dalawa na maghanda para sa isang pakikipanayam sa website skype.com/interviews/ – magtanong sa isa’t isa, magkaroon ng mga problema. Ito ay isang medyo epektibong paraan ng paghahanda: kapag gumanap ka sa iba't ibang mga tungkulin, mas naiintindihan mo kung sino ang nasa kabilang panig ng screen.

Ano ang naisip ko na magiging katulad ng panayam? Malamang, para sa isang pagsusulit kung saan mayroong isang tagasuri at isang kumukuha ng pagsusulit. Sa katunayan, tiyak na hindi ito pagsusulit. Sa halip, isang pag-uusap sa pagitan ng dalawang masigasig na tao na gumagawa ng parehong bagay. Ang panayam ay lubos na kalmado, komportable, palakaibigan, ang mga tanong ay hindi masyadong mahirap, ang gawain ay medyo simple, at ang tagapayo ay hindi tumutol sa paglutas nito sa console at kahit na pinapayagan akong tumingin sa Google ("walang sinuman ang ipagbawal ang paggamit ng Google sa trabaho”).

Sa pagkakaintindi ko, ang pangunahing layunin ng pakikipanayam ay hindi upang subukan ang aming kaalaman at kakayahan sa paglutas ng mga problema, ngunit upang bigyan ang tagapayo ng pagkakataon na makilala ang kanyang mga mag-aaral at ipakita sa kanila kung ano ang hitsura ng isang pakikipanayam sa pangkalahatan. At ang katotohanan na ang mga magagandang impresyon lamang ang natitira mula sa pakikipanayam ay ang resulta ng kanyang malay na pagsisikap, ang pagnanais na ipakita na talagang walang nakakatakot sa pakikipanayam, at ang isa ay maaaring dumaan dito nang may kasiyahan. Ang isa pang tanong ay kung bakit napakadali para sa isang taong may teknikal na edukasyon na gawin ito, ngunit napakabihirang para sa mga guro. Naaalala ng lahat kung gaano sila kasabik na kumuha ng pagsusulit, kahit na alam nila ang materyal na ganap. At dahil opisyal na pedagogy ang pinag-uusapan, ibabahagi ko ang isa pang obserbasyon. Ang kurso ay dinaluhan, bukod sa iba pang mga bagay, ng mga senior IT students. At kaya nagtalo sila na ang format ng pagsasanay na inaalok ng Rolling Scopes School ay mas kapaki-pakinabang, kawili-wili at epektibo kaysa sa isang regular na programa sa unibersidad.

Nakapasa ako sa interview. Kasunod nito, ang mentor ay nagtalaga ng isang araw ng linggo at isang oras kung kailan ito ay maginhawa para sa kanya na makipag-usap sa akin. Naghanda ako ng mga tanong para sa araw na ito, at sinagot niya ang mga ito. Wala akong maraming tanong tungkol sa mga proyektong ginagawa ko – nakita ko ang karamihan sa mga sagot sa Google o sa chat sa paaralan. Ngunit nagsalita siya tungkol sa kanyang trabaho, tungkol sa mga posibleng problema at paraan upang malutas ang mga ito, at ibinahagi ang kanyang mga obserbasyon at komento. Sa pangkalahatan, ang mga pag-uusap na ito ay lubhang kapaki-pakinabang at kawili-wili. Bilang karagdagan, ang isang tagapagturo ay halos ang tanging tao na interesado sa kung ano at paano mo ginagawa, isang taong titingnan ang iyong trabaho, sasabihin sa iyo kung ano ang mali dito, at kung paano ito mapapabuti. Ang pagkakaroon ng mga tagapayo ay tunay na isang malaking bentahe ng paaralan, ang papel na kung saan ay halos hindi ma-overestimated.

Sa ikalawang yugto, nagkaroon kami ng isang napaka-interesante at dynamic na Code Jam na "JavaScript Arrays Quick Draw"; ang mga naturang kompetisyon sa paaralan ay kapana-panabik at kapana-panabik.
Ang Code Jam na "CoreJS" ay naging mas kumplikado. Ang 120 mga problema sa JavaScript, na inabot ng 48 oras upang malutas, ay naging isang seryosong pagsubok.
Nagkaroon din kami ng ilang pagsubok sa JavaScript, na naka-link sa isa sa kanila Nai-save ko ito sa aking mga bookmark ng browser. Mayroon kang 30 minuto upang tapusin ang pagsusulit.
Susunod, pinagsama-sama namin ang layout ng NeutronMail, nakumpleto ang Code Jam na "DOM, DOM Events," at gumawa ng YouTube search engine.

Iba pang mga gawain ng ikalawang yugto: Gawain: Codewars – paglutas ng mga problema sa site na may parehong pangalan, Code Jam “WebSocket Challenge.” – pagpapadala at pagtanggap ng mga mensahe gamit ang mga web socket, Code Jam “Animation Player” – paglikha ng maliit na web application.

Ang isang medyo hindi pangkaraniwang at kawili-wiling gawain ng ikalawang yugto ay ang gawaing "Pagtatanghal". Ang pangunahing tampok nito ay ang pagtatanghal ay kailangang ihanda at iharap sa Ingles. Dito Makikita mo kung paano naganap ang face-to-face stage ng mga presentasyon.

At, walang alinlangan, ang pinaka-kumplikado at napakalaki ay ang huling gawain ng ikalawang yugto, kung saan hiniling sa amin na lumikha ng sarili naming kopya ng Piskel web application (www.piskelapp.com).
Ang gawaing ito ay tumagal ng higit sa isang buwan, na halos lahat ng oras ay ginugol sa pag-unawa kung paano ito gumagana sa orihinal. Para sa higit na kawalang-kinikilingan, ang pangwakas na gawain ay sinuri ng isa pa, random na piniling tagapagturo. At ang panayam pagkatapos ng ikalawang yugto ay isinagawa din ng isang random na tagapayo, dahil nakasanayan na namin ang sa amin, at nakasanayan na niya kami, at sa mga totoong panayam, bilang isang panuntunan, nakakakilala kami ng mga taong hindi magkakilala.

Ang pangalawang panayam ay naging mas mahirap kaysa sa una. Tulad ng dati, may listahan ng mga tanong para sa panayam na pinaghandaan ko, ngunit nagpasya ang tagapagturo na ang pagtatanong lamang ng teorya ay hindi magiging ganap na tama, at naghanda ng isang hanay ng mga gawain para sa panayam. Ang mga gawain, sa palagay ko, ay medyo mahirap. Halimbawa, taos-puso niyang hindi naiintindihan kung ano ang pumipigil sa akin sa pagsulat ng isang bind polyfill, at taos-puso din akong naniniwala na ang katotohanan na alam ko kung ano ang bind at kung ano ang polyfill ay marami na. Hindi ko nalutas ang problemang ito. Ngunit may iba pa akong nakipag-usap. Ngunit ang mga problema ay hindi simple, at sa sandaling nakahanap ako ng solusyon, binago ng tagapagturo ang kondisyon nang kaunti, at kinailangan kong lutasin muli ang problema, sa isang mas kumplikadong bersyon.
Kasabay nito, napansin ko na ang kapaligiran ng pakikipanayam ay napaka-friendly, ang mga gawain ay kawili-wili, ang tagapayo ay gumugol ng maraming oras sa paghahanda sa kanila, at sinubukang tiyakin na ang pakikipanayam sa pagsasanay sa hinaharap ay makakatulong upang makapasa sa isang tunay na pakikipanayam kapag nag-a-apply ng trabaho.

Mga halimbawa ng mga gawain sa ikalawang yugto:
NeutronMail
Paleta
YouTubeClient
PiskelClone

Sa ikatlong yugto, inalok kami ng gawain sa Culture Portal. Ginawa namin ito sa isang grupo, at sa unang pagkakataon ay nakilala namin ang mga tampok ng team work, pamamahagi ng mga responsibilidad, at paglutas ng salungatan kapag pinagsama ang mga sangay sa Git. Ito marahil ang isa sa mga pinakakawili-wiling takdang-aralin ng kurso.

Halimbawa ng ikatlong yugto ng gawain: Portal ng Kultura.

Matapos makumpleto ang ikatlong yugto, ang mga mag-aaral na nag-aplay para sa isang trabaho sa EPAM at kasama sa nangungunang 120 na listahan ay sumailalim sa isang panayam sa telepono upang subukan ang kanilang mga kasanayan sa wikang Ingles, at kasalukuyang sumasailalim sa mga teknikal na panayam. Karamihan sa kanila ay iimbitahan sa EPAM JS Lab, at pagkatapos ay sa mga totoong proyekto. Bawat taon, mahigit isang daang Rolling Scopes School graduate ang nagtatrabaho sa EPAM. Kung ikukumpara sa mga nagsimula ng kurso, ito ay medyo maliit na porsyento, ngunit kung titingnan mo ang mga nakarating sa finals, ang kanilang pagkakataon na makakuha ng trabaho ay medyo malaki.

Sa mga paghihirap na kailangan mong paghandaan, dalawa ang pangalan ko. Ang una ay oras. Kailangan mo ng marami nito. Maghangad ng 30-40 oras sa isang linggo, mas marami ang posible; kung mas kaunti, malamang na hindi ka magkakaroon ng oras upang makumpleto ang lahat ng mga gawain, dahil ang programa ng kurso ay napakatindi. Ang pangalawa ay English level A2. Kung ito ay mas mababa, hindi masakit na pag-aralan ang kurso, ngunit ang paghahanap ng trabaho na may ganitong antas ng wika ay magiging mahirap.

Kung mayroon kang mga katanungan, magtanong, susubukan kong sagutin. Kung alam mo ang iba pang katulad na libreng online na kurso sa wikang Ruso, mangyaring ibahagi, ito ay magiging kawili-wili.

Pinagmulan: www.habr.com

Magdagdag ng komento