Добрае не бывае танным. Але бывае бясплатным

У гэтым артыкуле жадаю распавесці аб Rolling Scopes School - бясплатным курсе па JavaScript / франтэндзе, які я прайшла, і які мне вельмі спадабаўся. Даведалася я пра гэты курс выпадкова, інфармацыі ў сетцы пра яго, на мой погляд, няшмат, а курс выдатны і заслугоўвае ўвагі. Думаю, гэты артыкул будзе карысны тым, хто спрабуе самастойна вывучаць праграмаванне. Ва ўсякім разе, калі б мне нехта раней расказаў пра гэты курс, я дакладна была б удзячная.

У тых, хто не спрабаваў вучыцца сам з нуля, можа ўзнікнуць пытанне - навошта патрэбныя нейкія курсы, бо інфармацыі ў сетцы мора - бяры і вучы. Насамрэч, мора інфармацыі - гэта не заўсёды добра, таму што выбраць з гэтага мора менавіта тое, што табе неабходна, бывае зусім не проста. Курс падкажа: што вучыць, як вучыць, у якім тэмпе вучыць; дапаможа адрозніць добрыя і вартыя ўвагі крыніцы інфармацыі ад няякасных і састарэлых; прапануе вялікую колькасць практычных заданняў; дазволіць стаць часткай супольнасці захопленых і зацікаўленых людзей, якія займаюцца тым жа, што і ты.

На працягу курса мы ўвесь час выконвалі заданні: праходзілі тэсты, вырашалі задачы, стваралі ўласныя праекты. Усё гэта ацэньвалася і ішло ў агульную табліцу, дзе можна параўнаць свой вынік з вынікамі іншых студэнтаў. Атмасфера спаборніцтва - гэта добра, весела і цікава. Але балы, хоць яны і важныя для праходжання ў наступны этап, не былі самамэтай. Арганізатары курса віталі падтрымку і ўзаемадапамогу – у чаце студэнты абмяркоўвалі пытанні, якія ўзніклі падчас рашэння заданняў, і спрабавалі разам знайсці на іх адказы. Акрамя таго, у вучобе нам дапамагалі ментары, што для бясплатнага курса ўвогуле ўнікальная магчымасць.

Курс працуе практычна бесперапынна: запускаецца два разы на год і працягваецца паўгода. Ён складаецца з трох этапаў. На першым этапе мы вывучалі пераважна Git і вёрстку, на другім JavaScript, на трэцім React і Node.js.

У наступны этап праходзілі па выніках выканання заданняў папярэдняга этапа. У канцы кожнага этапу праводзілася сумоўе. Пасля першага і другога этапа гэта былі навучальныя сумоўі з ментарамі, пасля трэцяга этапу для ста дваццаці лепшых студэнтаў арганізавалі сумоўі ў менскую EPAM JS Lab. Курс праводзіць беларускую супольнасць фронтэнд і JavaScript распрацоўшчыкаў The Rolling Scopes, таму зразумела наяўнасць у іх кантактаў менавіта з мінскім офісам EPAM. Зрэшты, суполка імкнецца наладзіць кантакты і рэкамендаваць сваіх студэнтаў у IT-кампаніі і ў іншых гарадах Беларусі, Казахстана, Расіі.

Першы этап доўжыўся крыху больш за месяц. Гэта самы масавы этап. У маім наборы яго пачалі 1860 чалавек - г.зн. усе, хто запісаўся на курс. Курс праходзяць людзі рознага ўзросту, але большасць навучэнцаў - студэнты старэйшых курсаў і тыя, хто, прапрацаваўшы некалькі гадоў у іншай сферы, вырашыў змяніць прафесію.

На першым этапе мы прайшлі два тэсты па асновах Git, два тэсты па HTML/CSS, курсы Codecademy і HTML Academy, стварылі сваё CV у выглядзе markdown-файла і ў выглядзе звычайнай вэб-старонкі, звярсталі невялікі аднастаронкавы макет, вырашылі некалькі даволі складаных задач па JavaScript.

Самым аб'ёмным заданнем першага этапу была вёрстка сайта Hexal.
Самым цікавым гульнявой Code Jam на веданне css-селектараў CSS Quick Draw .
Самымі складанымі - задачы па JavaScript. Прыклад адной з такіх задач: «Знайсці колькасць нулёў у канцы фактарыяла вялікай колькасці ва ўказанай сістэме злічэння».

Прыклад задання першага этапа: шасцігранная.

Па выніках выканання заданняў першага этапа 833 студэнты атрымалі запрашэнні на інтэрв'ю. Праходжанне студэнта ў другі этап падчас сумоўя вызначаў яго будучы ментар. Ментары Rolling Scopes School - гэта дзейныя распрацоўшчыкі з Беларусі, Расіі, Украіны. Ментары дапамагаюць і падказваюць, правяраюць заданні, адказваюць на пытанні. У нашым наборы ментараў было больш за 150. У залежнасці ад наяўнасці вольнага часу ментар можа ўзяць ад двух да пяці студэнтаў, але на інтэрв'ю да яго накіроўваецца на два студэнты больш, каб падчас сумоўя ён мог выбраць тых, з кім будзе займацца.

Размеркаванне студэнтаў і ментараў было адным з самых цікавых і хвалюючых момантаў курса. Арганізатары ўнеслі ў яго невялікі гульнявы ​​элемент - дадзеныя аб ментарах захоўваў размеркавальны капялюш, пры кліку па якім можна было ўбачыць імя і кантакты свайго будучага ментара.

Калі я даведалася імя свайго ментара і паглядзела яго профіль на LinkedIn, зразумела, што вельмі хачу да яго патрапіць. Ён вопытны распрацоўшчык, сеньёр, ужо некалькі гадоў працуе за мяжой. Такі ментар гэта сапраўды вялікі поспех. Але і патрабаванні ў яго, як мне падавалася, будуць вельмі высокімі. Пазней высветлілася, што наконт празмерна высокіх патрабаванняў я памылялася, але на той момант я думала менавіта так.

Пытанні інтэрв'ю, якое мае быць, былі вядомыя, так што падрыхтавацца да яго можна было загадзя.
ААП вучыла па відэа [J]u[S]t prototype this!. Яго аўтар – Сяргей Мялюкоў – расказвае выключна даступна і зразумела.
Структуры даных і натацыя О-вялікае выдатна раскрыты ў артыкуле Шпаргалка для тэхнічнай гутаркі.
Найбольшыя сумневы выклікала задача па JavaScript, якая абавязкова будзе на інтэрв'ю. Вырашаць задачы я, увогуле, кахаю, але з Google і ў кансолі браўзэра, а калі вырашаць трэба ручкай і на паперы (ці мышкай у блакноце) - усё становіцца нашмат складаней.
Да інтэрв'ю зручна рыхтавацца ўдваіх на сайце skype.com/interviews/ – задаваць адно аднаму пытанні, прыдумляць задачы. Гэта дастаткова эфектыўны спосаб падрыхтоўкі: калі выступаеш у розных ролях, лепш разумееш таго, хто знаходзіцца па іншым боку экрана.

На што ў маім уяўленні магла быць падобнай гутарка? Хутчэй за ўсё, на іспыт, дзе ёсць экзаменатар і які экзаменуецца. Насамрэч, іспытам гэта сапраўды не было. Хутчэй, гутаркай двух захопленых людзей, якія займаюцца адной справай. Гутарка прайшло выключна спакойна, камфортна, добразычліва, пытанні былі не вельмі складанымі, задача досыць простая, прычым ментар зусім не пярэчыў супраць рашэння яе ў кансолі і нават дазволіў зазірнуць у Google ("на працы карыстацца Google ніхто не забароніць").

Наколькі я разумею, галоўнай задачай сумоўя было не праверыць нашы веды і ўменне вырашаць задачы, а даць магчымасць ментару пазнаёміцца ​​са сваімі студэнтамі і паказаць ім, як выглядае сумоўе наогул. І тое, што ад сумоўя засталіся толькі добрыя ўражанні, было вынікам яго свядомых намаганняў, жадання паказаць, што ў сумоўі насамрэч няма нічога страшнага, і праходзіць яго можна з задавальненнем. Іншае пытанне, чаму гэта досыць лёгка ўдалося зрабіць чалавеку з тэхнічнай адукацыяй, і вельмі рэдка атрымоўваецца выкладчыкам. Усё ж памятаюць, з якім хваляваннем ішлі на іспыт, нават калі выдатна ведалі матэрыял. І раз ужо гаворка зайшла аб афіцыйнай педагогіцы, падзялюся яшчэ адным назіраннем. На курсе вучыліся, у тым ліку, і студэнты старэйшых курсаў IT-спецыяльнасцей. І вось яны сцвярджалі, што фармат навучання, які прапануе Rolling Scopes School, нашмат карысней, цікавей і дзейсней, чым звычайная внузская праграма.

Гутарку я прайшла. У далейшым ментар прызначыў дзень тыдня і час, калі яму зручна пагаварыць са мной. Да гэтага дня я рыхтавала пытанні, ён на іх адказваў. Пытанняў па выкананых праектах у мяне было не вельмі шмат - большую частку адказаў знаходзіла ў Google або чаце школы. Затое ён расказваў пра сваю працу, пра магчымыя праблемы і шляхі іх вырашэння, дзяліўся сваімі назіраннямі і заўвагамі. У цэлым гэтыя гутаркі былі выключна карыснымі і цікавымі. Акрамя таго, ментар - гэта практычна адзіны чалавек, якому цікава, што і як ты робіш, чалавек, які паглядзіць на тваю працу, падкажа, што з ёй не так, і якім чынам яе можна палепшыць. Наяўнасць ментараў - гэта сапраўды вялікая перавага школы, ролю якога цяжка пераацаніць.

На другім этапе ў нас быў вельмі цікавы і дынамічны Code Jam "JavaScript Arrays Quick Draw", такія спаборніцтвы ў школе праходзяць захапляльна і займальна.
Нашмат больш складаным апынуўся Code Jam "CoreJS". 120 задач па JavaScript, на рашэнне якіх адводзілася 48 гадзін, сталі сур'ёзным выпрабаваннем.
Яшчэ ў нас было некалькі тэстаў па JavaScript, спасылка на адзін з іх у мяне захавалася ў закладках браўзэра. На вырашэнне тэсту адводзіцца 30 хвілін.
Далей мы звярсталі макет NeutronMail, выканалі Code Jam "DOM, DOM Events", стварылі пошукавік па YouTube.

Іншыя заданні другога этапа: Task: Codewars - рашэнне задач на аднайменным сайце, Code Jam "WebSocket Challenge." - адпраўка і атрыманне паведамленняў пры дапамозе вэб-сокетаў, Code Jam "Animation Player" - стварэнне невялікага вэб-прыкладанні.

Досыць незвычайным і цікавым заданнем другога этапу стаў цягак "Presentation". Асноўная яго асаблівасць у тым, што прэзентацыю неабходна было падрыхтаваць і прадставіць на англійскай мове. Тут можна паглядзець, як праходзіў вочны этап прэзентацый.

І, несумненна, самым складаным і аб'ёмным быў фінальны цягнік другога этапу, падчас якога нам прапанавалі стварыць уласную копію вэб-прыкладанні Piskel (www.piskelapp.com).
На гэта заданне пайшло больш за месяц, прычым большая частка часу - на тое, каб зразумець, як гэта працуе ў арыгінале. Для большай аб'ектыўнасці, фінальны цягал правяраў іншы, выпадкова абраны ментар. І сумоўе пасля другога этапу таксама праводзіў выпадковы ментар, таму што да свайго мы ўжо абвыклі, і ён абвык да нас, а на рэальных гутарках, як правіла, сустракаюцца незнаёмыя паміж сабой людзі.

Другая гутарка аказалася нашмат складанейшай за першую. Як і раней, меўся спіс пытанняў для сумоўя, да якіх я падрыхтавалася, але ментар вырашыў, што проста пытаць тэорыю будзе не зусім правільна, і да сумоўя падрыхтаваў набор задач. Задачы, на мой погляд, былі дастаткова складанымі. Напрыклад, ён шчыра не разумеў, што мне мяшае напісаць bind polyfill, а я гэтак жа шчыра лічыла, што тое, што я ведаю, што такое bind, і што такое polyfill, гэта ўжо шмат. Гэтую задачу я не вырашыла. Але былі і іншыя, з якімі зладзілася. Вось толькі задачы былі не простымі, і, як толькі я знаходзіла рашэнне, ментар крыху мяняў умову, і вырашаць задачу даводзілася зноў, ва ўжо больш складаным варыянце.
Пры гэтым адзначу, што атмасфера гутаркі была вельмі добразычлівая, задачы цікавымі, ментар патраціў шмат часу, каб іх падрыхтаваць, і імкнуўся, каб навучальнае інтэрв'ю ў будучыні дапамагло прайсці рэальнае інтэрв'ю пры ўладкаванні на працу.

Прыклады заданняў другога этапа:
NeutronMail
Палітра
YouTubeClient
PiskelClone

На трэцім этапе нам прапанавалі таск Culture Portal. Яго мы выконвалі ў групе, і ўпершыню пазнаёміліся з асаблівасцямі каманднай працы, размеркаванні абавязкаў, дазволы канфліктаў пры зліцці галінак у Git. Напэўна, гэта было адным з самых цікавых заданняў курса.

Прыклад задання трэцяга этапа: Culture Portal.

Пасля заканчэння трэцяга этапу студэнты, якія прэтэндавалі на працу ў кампаніі EPAM і ўвайшлі ў спіс 120 лепшых, прайшлі тэлефонную гутарку на веданне англійскай мовы, і цяпер праходзяць тэхнічныя інтэрв'ю. Большую частку з іх запросяць у EPAM JS Lab, а потым на рэальныя праекты. Кожны год больш за сто выпускнікоў Rolling Scopes School атрымліваюць працу ў EPAM. На фоне тых, хто пачаў курс, гэта даволі невялікі працэнт, але калі глядзець на тых, хто дайшоў да фіналу, для іх шанц атрымаць працу дастаткова вялікі.

З цяжкасцяў, да якіх трэба быць гатовым, назаву дзве. Першая - гэта час. Яго патрэбна даволі шмат. Арыентуйцеся на 30-40 гадзін у тыдзень, мага больш, калі менш - малаверагодна, што вы будзеце паспяваць выконваць усе заданні, бо праграма курса вельмі насычаная. Другая - англійская ўзроўню А2. Калі ён ніжэй, вучыцца на курсе гэта не перашкодзіць, але знайсці працу з такім узроўнем мовы будзе дастаткова складана.

Калі ёсць пытанні, задавайце, пастараюся адказаць. Калі ведаеце іншыя падобныя бясплатныя рускамоўныя анлайн курсы - падзяліцеся, гэта будзе цікава.

Крыніца: habr.com

Дадаць каментар