Dobre rzeczy nie są tanie. Ale może być za darmo

W tym artykule chcę porozmawiać o Rolling Scopes School, darmowym kursie JavaScript/frontend, w którym uczestniczyłem i który naprawdę mi się podobał. O tym kursie dowiedziałam się przez przypadek, moim zdaniem w internecie niewiele jest o nim informacji, ale kurs jest znakomity i zasługuje na uwagę. Myślę, że ten artykuł będzie przydatny dla tych, którzy próbują samodzielnie nauczyć się programowania. W każdym razie, gdyby ktoś powiedział mi o tym kursie wcześniej, na pewno byłbym wdzięczny.

Ci, którzy sami nie próbowali uczyć się od zera, mogą zadać sobie pytanie: po co potrzebne są jakiekolwiek kursy, skoro w Internecie jest mnóstwo informacji - bierzcie i uczcie się. Tak naprawdę morze informacji nie zawsze jest dobre, ponieważ wybranie z tego morza dokładnie tego, czego potrzebujesz, wcale nie jest łatwe. Kurs powie Ci: czego się uczyć, jak się uczyć, w jakim tempie się uczyć; pomoże odróżnić dobre i godne uwagi źródła informacji od źródeł niskiej jakości i przestarzałych; zaoferuje dużą liczbę zadań praktycznych; pozwoli Ci stać się częścią społeczności ludzi pełnych pasji i zainteresowanych, którzy robią to samo co Ty.

Przez cały kurs stale realizowaliśmy zadania: robiliśmy testy, rozwiązywaliśmy problemy, tworzyliśmy własne projekty. Wszystko to zostało ocenione i trafiło do wspólnej tabeli, w której można było porównać swój wynik z wynikami innych uczniów. Atmosfera zawodów jest dobra, zabawna i interesująca. Jednak punkty, choć ważne dla przejścia do kolejnego etapu, nie były celem samym w sobie. Organizatorzy kursu z radością przyjęli wsparcie i wzajemną pomoc – na czacie uczniowie omawiali pytania, które pojawiły się podczas rozwiązywania zadań i wspólnie szukali na nie odpowiedzi. Dodatkowo w nauce pomogli nam mentorzy, co jest niepowtarzalną szansą na bezpłatny kurs.

Kurs działa niemal nieprzerwanie: uruchamiany jest dwa razy w roku i trwa sześć miesięcy. Składa się z trzech etapów. Na pierwszym etapie studiowaliśmy głównie Git i układ, na drugim - JavaScript, na trzecim - React i Node.js.

Do kolejnego etapu przechodzili na podstawie wyników wykonania zadań z etapu poprzedniego. Na zakończenie każdego etapu przeprowadzana była rozmowa kwalifikacyjna. Po pierwszym i drugim etapie były to rozmowy edukacyjne z mentorami, po trzecim etapie zorganizowano rozmowy kwalifikacyjne ze stu dwudziestoma najlepszymi studentami Mińskiego EPAM JS Lab. Kurs prowadzony jest przez białoruską społeczność programistów front-endowych i JavaScript The Rolling Scopes, więc widać, że mają oni kontakty z biurem EPAM w Mińsku. Społeczność stara się jednak nawiązywać kontakty i polecać swoich studentów firmom IT i innym miastom na Białorusi, w Kazachstanie i Rosji.

Pierwszy etap trwał nieco ponad miesiąc. To najpopularniejszy etap. W mojej rekrutacji rozpoczęło ją 1860 osób – tj. wszystkich, którzy zapisali się na kurs. Na kursie biorą udział osoby w każdym wieku, jednak większość słuchaczy to studenci ostatnich lat oraz osoby, które po kilku latach pracy w innej branży zdecydowały się na zmianę zawodu.

W pierwszym etapie zdaliśmy dwa testy z podstaw Git, dwa testy z kursów HTML/CSS, Codecademy i HTML Academy, stworzyliśmy nasze CV w formie pliku Markdown oraz w formie zwykłej strony internetowej, stworzyliśmy mały, jednostronicowy układ i rozwiązał kilka raczej złożonych problemów za pomocą JavaScript.

Najbardziej rozbudowanym zadaniem pierwszego etapu był układ strony internetowej Hexal.
Najciekawsza jest gra Code Jam na znajomości selektorów CSS „CSS Quick Draw”.
Najtrudniejsze są zadania JavaScript. Przykład jednego z takich zadań: „Znajdź liczbę zer na końcu silni dużej liczby w określonym systemie liczbowym”.

Przykład zadania pierwszego etapu: Heksal.

Na podstawie wyników realizacji zadań pierwszego etapu zaproszenia na rozmowy kwalifikacyjne otrzymało 833 uczniów. O przejściu ucznia do drugiego etapu podczas rozmowy kwalifikacyjnej decydował jego przyszły mentor. Mentorami szkoły Rolling Scopes są aktywni programiści z Białorusi, Rosji i Ukrainy. Mentorzy pomagają i doradzają, sprawdzają zadania, odpowiadają na pytania. W naszej grupie mentorów było ponad 150. W zależności od dostępności wolnego czasu mentor może przyjąć od dwóch do pięciu uczniów, przy czym na rozmowę wysyła się do niego jeszcze dwóch uczniów, aby podczas rozmowy mógł wybrać tych, z którymi on będzie pracował.

Rozmieszczenie studentów i mentorów było jednym z najciekawszych i najbardziej ekscytujących momentów kursu. Organizatorzy wprowadzili do niego mały element zabawy – dane o mentorach zapisywane były w tiarę sortowania, po kliknięciu w którą można było zobaczyć imię i nazwisko oraz kontakty przyszłego mentora.

Kiedy poznałam nazwisko mojego mentora i zajrzałam na jego profil na LinkedIn, uświadomiłam sobie, że bardzo chcę do niego dotrzeć. Jest doświadczonym programistą, seniorem, od kilku lat pracuje za granicą. Posiadanie takiego mentora to naprawdę duży sukces. Wydawało mi się jednak, że jego wymagania będą bardzo wysokie. Później okazało się, że się myliłem co do zbyt wysokich wymagań, ale wtedy tak myślałem.

Pytania na nadchodzącą rozmowę były znane, więc można było się do niej przygotować wcześniej.
OOP nauczane za pomocą wideo [J]u[S]t prototyp tego!. Jej autor, Siergiej Mielukow, opowiada o tym w niezwykle przystępny i zrozumiały sposób.
W artykule dobrze omówiono struktury danych i notację Big O. Ściągawka do wywiadu technicznego.
Największe wątpliwości budziło zadanie JavaScript, które z pewnością znalazłoby się w rozmowie kwalifikacyjnej. Ogólnie uwielbiam rozwiązywać problemy, ale z Google i w konsoli przeglądarki, a jeśli trzeba to rozwiązać za pomocą pióra i papieru (lub myszy w notatniku), wszystko staje się znacznie trudniejsze.
Wygodnie jest dla Was obojga przygotować się do rozmowy kwalifikacyjnej na stronie internetowej skype.com/wywiady/ – zadawajcie sobie nawzajem pytania, wymyślajcie problemy. To dość skuteczny sposób przygotowania: grając w różnych rolach, lepiej rozumiesz, kto jest po drugiej stronie ekranu.

Jak sobie wyobrażałem, że będzie wyglądać ta rozmowa kwalifikacyjna? Najprawdopodobniej na egzamin, na którym jest egzaminator i zdający. Tak naprawdę to na pewno nie był egzamin. Raczej rozmowa dwóch pasjonatów, którzy robią to samo. Rozmowa przebiegła niezwykle spokojnie, komfortowo, przyjacielsko, pytania nie były zbyt trudne, zadanie było w miarę proste, a mentor ani trochę nie miał nic przeciwko rozwiązaniu go w konsoli, a nawet pozwolił mi zajrzeć do Google („nikt nie będzie zabronić korzystania z Google w pracy”).

O ile rozumiem, głównym celem wywiadu nie było sprawdzenie naszej wiedzy i umiejętności rozwiązywania problemów, ale umożliwienie mentorowi poznania swoich uczniów i pokazania im, jak ogólnie wygląda rozmowa kwalifikacyjna. A to, że z rozmowy pozostały same dobre wrażenia, było efektem jego świadomego wysiłku, chęci pokazania, że ​​w rozmowie tak naprawdę nie ma nic strasznego i można ją przejść z przyjemnością. Innym pytaniem jest, dlaczego osobie z wykształceniem technicznym było to dość łatwe, a nauczycielom bardzo rzadko. Każdy pamięta, jak bardzo był podekscytowany przystąpieniem do egzaminu, nawet jeśli doskonale znał materiał. A skoro mowa o pedagogice oficjalnej, podzielę się jeszcze jedną obserwacją. W kursie uczestniczyli m.in. starsi studenci informatyki. Dlatego argumentowali, że forma szkolenia oferowana przez Rolling Scopes School jest o wiele bardziej przydatna, interesująca i skuteczna niż zwykły program uniwersytecki.

Przeszedłem rozmowę kwalifikacyjną. Następnie mentor wyznaczał dzień tygodnia i godzinę, w której dogodnie mu było ze mną porozmawiać. Przygotowałem pytania na ten dzień, a on na nie odpowiedział. Nie miałam zbyt wielu pytań odnośnie realizowanych przeze mnie projektów – większość odpowiedzi znalazłam w Google lub na szkolnym czacie. Ale opowiedział o swojej pracy, o możliwych problemach i sposobach ich rozwiązania, podzielił się swoimi spostrzeżeniami i komentarzami. Ogólnie rzecz biorąc, te rozmowy były niezwykle przydatne i interesujące. Poza tym mentor to praktycznie jedyna osoba, która interesuje się tym, co i jak robisz, osoba, która przyjrzy się Twojej pracy, powie Ci, co jest w niej nie tak i jak można ją poprawić. Obecność mentorów to naprawdę ogromny atut szkoły, którego roli nie sposób przecenić.

W drugim etapie mieliśmy bardzo ciekawy i dynamiczny Code Jam „JavaScript Arrays Quick Draw”, takie konkursy w szkole są ekscytujące i emocjonujące.
Code Jam „CoreJS” okazał się znacznie bardziej skomplikowany. 120 problemów z JavaScriptem, których rozwiązanie zajęło 48 godzin, stało się poważnym testem.
Przeprowadziliśmy także kilka testów JavaScript, link do jeden z nich Zapisałem go w zakładkach przeglądarki. Na rozwiązanie testu masz 30 minut.
Następnie ułożyliśmy układ NeutronMail, ukończyliśmy Code Jam „DOM, DOM Events” i stworzyliśmy wyszukiwarkę YouTube.

Inne zadania drugiego etapu: Zadanie: Codewars – rozwiązywanie problemów na stronie o tej samej nazwie, Code Jam „WebSocket Challenge”. – wysyłanie i odbieranie wiadomości za pomocą gniazd internetowych, Code Jam „Animation Player” – tworzenie małej aplikacji internetowej.

Dość nietypowym i ciekawym zadaniem drugiego etapu było zadanie „Prezentacja”. Jego cechą charakterystyczną jest to, że prezentacja musiała być przygotowana i zaprezentowana w języku angielskim. Tutaj Można zobaczyć jak przebiegał etap bezpośrednich prezentacji.

I niewątpliwie najbardziej złożone i obszerne było ostatnie zadanie drugiego etapu, podczas którego zostaliśmy poproszeni o stworzenie własnej kopii aplikacji internetowej Piskel (www.piskelapp.com).
To zadanie zajęło ponad miesiąc, a większość czasu poświęciliśmy na zrozumienie, jak to działało w oryginale. Dla większej obiektywności końcowe zadanie sprawdzane było przez innego, losowo wybranego mentora. A wywiad po drugim etapie też prowadził przypadkowy mentor, bo my już się do swojego przyzwyczailiśmy, a on do nas, a w prawdziwych wywiadach z reguły spotykamy ludzi, którzy się nie znają.

Druga rozmowa okazała się znacznie trudniejsza niż pierwsza. Tak jak poprzednio, była tam przygotowana przeze mnie lista pytań na rozmowę kwalifikacyjną, jednak mentor uznał, że samo zadawanie teorii nie będzie do końca poprawne i przygotował zestaw zadań na rozmowę kwalifikacyjną. Zadania moim zdaniem były dość trudne. Na przykład szczerze nie rozumiał, co mnie powstrzymuje przed napisaniem bindu, a ja też szczerze wierzyłem, że to, że wiem, co to jest bind i czym jest polifill, to już dużo. Nie rozwiązałem tego problemu. Ale były też inne, z którymi miałem do czynienia. Ale problemy nie były proste i gdy tylko znalazłem rozwiązanie, mentor zmienił trochę warunek i musiałem rozwiązać problem od nowa, w bardziej złożonej wersji.
Jednocześnie zaznaczam, że atmosfera rozmowy kwalifikacyjnej była bardzo przyjazna, zadania ciekawe, mentor poświęcił dużo czasu na ich przygotowanie i starał się, aby rozmowa szkoleniowa w przyszłości pomogła przejść prawdziwą rozmowę kwalifikacyjną podczas ubiegania się o pracę.

Przykładowe zadania drugiego etapu:
Poczta Neutron
Paleta
Klient YouTube
Klon Piskel

W trzecim etapie zaproponowano nam zadanie Portal Kultury. Wykonywaliśmy to w grupie i po raz pierwszy zapoznaliśmy się z cechami pracy zespołowej, podziałem obowiązków i rozwiązywaniem konfliktów przy łączeniu oddziałów w Git. Było to prawdopodobnie jedno z najciekawszych zadań kursu.

Przykład zadania trzeciego etapu: Portal Kultury.

Po ukończeniu trzeciego etapu studenci, którzy aplikowali o pracę w EPAM i znaleźli się na liście 120 najlepszych, przeszli rozmowę telefoniczną sprawdzającą znajomość języka angielskiego, a obecnie przechodzą rozmowy techniczne. Większość z nich zostanie zaproszona do EPAM JS Lab, a potem do realnych projektów. Każdego roku EPAM zatrudnia ponad stu absolwentów szkoły Rolling Scopes School. W porównaniu do tych, którzy rozpoczęli kurs, jest to dość niewielki odsetek, ale jeśli spojrzeć na tych, którzy dotarli do finału, ich szanse na zdobycie pracy są dość duże.

Spośród trudności, na które trzeba się przygotować, wymienię dwie. Pierwszym z nich jest czas. Potrzebujesz go naprawdę dużo. Celuj w 30-40 godzin tygodniowo, możliwe jest więcej; jeśli mniej, jest mało prawdopodobne, że będziesz miał czas na wykonanie wszystkich zadań, ponieważ program kursu jest bardzo intensywny. Drugi to poziom języka angielskiego A2. Jeśli jest niższy, studiowanie kursu nie zaszkodzi, ale znalezienie pracy z tym poziomem języka będzie dość trudne.

Jeśli masz pytania, pytaj, postaram się odpowiedzieć. Jeśli znasz inne podobne bezpłatne kursy online w języku rosyjskim, udostępnij je, to będzie interesujące.

Źródło: www.habr.com

Dodaj komentarz