article-spots
article-carousel-spots
programs
Истории

«Хорошее не бывает дешёвым, но бывает бесплатным». Независимый отзыв о тренинге от RS School

31 янв. 2020

Этот материал написан девушкой Ириной, которая прошла бесплатный курс по JavaScript / фронтенду от Rolling Scopes School. Это не реклама, а мнение со стороны.

RS School - это бесплатные курсы, проводимые сообществом разработчиков The Rolling Scopes. Здесь может учиться каждый, независимо от возраста, профессиональной занятости и места жительства. В обучении участвуют разработчики из различных компаний и стран. На курсах совмещается онлайн и оффлайн обучение. Грызть IT-гранит студентам помогают 250+ менторов. Выпускники RS School могут претендовать на место в лаборатории EPAM Training Center и на последующее трудоустройство в компании.

Я узнала об этом курсе случайно, информации в сети о нём, на мой взгляд, немного, а курс отличный и заслуживает внимания. Думаю, эта статья будет полезна тем, кто пытается самостоятельно изучать программирование. Во всяком случае, если бы мне кто-то раньше рассказал об этом курсе, я точно была бы благодарна.

Что даст мне этот курс?

  • подскажет что учить, как и в каком темпе
  • поможет отличить хорошие и достойные внимания источники информации от некачественных и устаревших
  • предложит большое количество практических заданий
  • позволит стать частью сообщества увлечённых и заинтересованных людей, которые занимаются тем же, что и ты
На протяжении курса мы постоянно выполняли задания: проходили тесты, решали задачи, создавали собственные проекты. Всё это оценивалось и шло в общую таблицу, где можно было сравнить свой результат с результатами других студентов. Атмосфера соревнования – это хорошо, весело и интересно. Но баллы, хоть они и важны для прохождения в следующий этап, не были самоцелью. Организаторы курса приветствовали поддержку и взаимопомощь – в чате студенты обсуждали возникшие в ходе решения заданий вопросы и пытались вместе найти на них ответы. Кроме того, в учёбе нам помогали менторы, что для бесплатного курса вообще уникальная возможность.

Курс работает практически непрерывно: запускается два раза в год и продолжается полгода. Он состоит из трёх этапов. На первом этапе изучается преимущественно Git и вёрстка, на втором – JavaScript, на третьем – React и Node.js.

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

Этап 1 (длительность: 1 месяц)

Это самый массовый этап. В моём наборе его начинали 1860 человек – т.е. все, кто зарегистрировались на курс. Обучение могут проходить люди разного возраста, но большинство учащихся – студенты старших курсов и те, кто, проработав несколько лет в другой сфере, решил сменить профессию.

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

Самое объёмное задание первого этапа: вёрстка сайта Hexal (пример: Hexal задания)

Самое интересное задание первого этапа: игровой Code Jam на знание css-селекторов «CSS Quick Draw»

Самое сложное задание первого этапа: задачи по JavaScript (пример: Найти количество нулей в конце факториала большого числа в указанной системе счисления)

По результатам выполненных заданий первого этапа 833 человека получили приглашения на интервью. Прохождение студента во второй этап в ходе собеседования определял его будущий ментор. Менторы Rolling Scopes School – это действующие разработчики из Беларуси, России, Украины. Они помогают и подсказывают, проверяют задания, отвечают на вопросы. В зависимости от наличия свободного времени ментор может взять от двух до пяти студентов, но на интервью к нему направляется на два студента больше, чтобы в ходе собеседования он мог выбрать тех, с кем будет заниматься.

В нашем наборе менторов было больше 150. Распределение студентов и менторов было одним из самых интересных и волнующих моментов курса. Организаторы внесли в него небольшой игровой элемент – данные о наставниках хранила распределительная шляпа, при клике по которой можно было увидеть имя и контакты своего будущего "мастера". Когда я узнала имя своего ментора и посмотрела его профиль на LinkedIn, поняла, что очень хочу к нему попасть. Он опытный разработчик, сеньор, уже несколько лет работает за границей. Такой ментор – это действительно большая удача. Но и требования у него, как мне казалось, будут очень высокими. Позже выяснилось, что я ошибалась.

Как проходить собеседование?

Вопросы предстоящего интервью были известны, так что подготовиться к нему можно заранее.

  • ООП удобно учить по видео [J]u[S]t prototype this!. Его автор – Сергей Мелюков – рассказывает исключительно доступно и понятно.
  • Структуры данных и нотация отлично раскрыты в статье Шпаргалка для технического собеседования.
  • К интервью удобно готовиться вдвоём на сайте skype.com/interviews/ – задавать друг другу вопросы, придумывать задачи. Это достаточно эффективный способ подготовки: когда выступаешь в разных ролях, лучше понимаешь того, кто находится по другую сторону экрана.
Наибольшие сомнения вызывала задача по JavaScript, которая непременно будет на интервью. Решать задачи я, в общем, люблю, но с Google и в консоли браузера, а если решать нужно ручкой и на бумаге (или мышкой в блокноте) – всё становится намного сложнее.

На что было похоже это собеседование?

В моем представлении это собеседование выглядело как экзамен, где есть экзаменатор и экзаменуемый. На самом деле, эвсе было совсем не так. Это можно назвать, скорее беседой двух увлечённых людей, которые занимаются одним делом. Собеседование прошло исключительно спокойно, комфортно, доброжелательно, вопросы были не очень сложными, задача достаточно простая, причём ментор совершенно не возражал против решения её в консоли и даже разрешил заглянуть в Google (на работе пользоваться Google никто не запретит).

Главная задача собеседования – не проверить наши знания и умение решать задачи, а дать возможность ментору познакомиться со своими студентами и показать им, как выглядит собеседование вообще. И то, что от процесса остались только хорошие впечатления, было результатом его сознательных усилий и желания показать, что в собеседовании на самом деле нет ничего пугающего, и проходить его можно с удовольствием.

Другой вопрос, почему это достаточно легко удалось сделать человеку с техническим образованием, и очень редко удаётся преподавателям. Все ведь помнят, с каким волнением шли на экзамен, даже если отлично знали материал. И раз уж речь зашла об официальной педагогике, поделюсь ещё одним наблюдением. На курсе учились, в том числе, и студенты старших курсов IT-специальностей. И вот они утверждали, что формат обучения, который предлагает Rolling Scopes School, намного полезней, интересней и результативней, чем обычная вузовская программа.

После успешного собеседования ментор назначил каждому своему студенту день недели и время для дополнительного общения.

К этому дню я готовила вопросы, он на них отвечал. Вопросов по выполняемым проектам у меня было не очень много – большую часть ответов находила в Google или чате школы. Зато он рассказывал о своей работе, о возможных проблемах и путях их решения, делился своими наблюдениями и замечаниями. В целом, эти беседы были исключительно полезными и интересными. Кроме того, ментор – это практически единственный человек, которому интересно, что и как ты делаешь, человек, который посмотрит на твою работу, подскажет, что с ней не так, и каким образом её можно улучшить. Наличие менторов – это действительно огромное преимущество школы, роль которого трудно переоценить.

Этап 2

Самое интересное и динамичное задание второго этапа: Code Jam «JavaScript Arrays Quick Draw», такие соревнования в школе проходят захватывающе и увлекательно.

Намного более сложным оказался Code Jam «CoreJS». 120 задач по JavaScript, на решение которых отводилось 48 часов, стали серьёзным испытанием. Дальше мы сверстали макет NeutronMail, выполнили Code Jam «DOM, DOM Events», создали поисковик по YouTube.

Самое необычное задание второго этапа: таск «Presentation».

Основная его особенность в том, что презентацию необходимо было подготовить и представить на английском языке. Здесь можно посмотреть, как проходил очный этап презентаций.

Самое сложное и объёмное задание второго этапа: создать собственную копию веб-приложения Piskel (пример: PiskelClone).

На это задание ушло около месяца. Для большей объективности, финальный таск проверял другой, случайно выбранный ментор. И собеседование после второго этапа тоже проводил случайный ментор, потому что к своему мы уже привыкли, и он привык к нам, а на реальных собеседованиях, как правило, встречаются незнакомые между собой люди.

Другие задания второго этапа: Codewars – решение задач на одноимённом сайте, Code Jam «WebSocket Challenge.» – отправка и получение сообщений при помощи веб-сокетов, Code Jam «Animation Player» – создание небольшого веб-приложения.

Второе собеседование оказалось намного сложнее первого. Как и раньше, имелся список вопросов для собеседования, к которым я подготовилась, но ментор решил, что просто спрашивать теорию будет не совсем правильно, и к собеседованию подготовил набор задач. Задачи, на мой взгляд, были достаточно сложными. Например, он искренне не понимал, что мне мешает написать bind polyfill, а я так же искренне считала, что то, что я знаю, что такое bind, и что такое polyfill, это уже много. Эту задачу я не решила. Но были и другие, с которыми справилась. Вот только задачи были не простыми, и, как только я находила решение, ментор немного менял условие, и решать задачу приходилось снова, в уже более сложном варианте. При этом отмечу, что атмосфера собеседования была очень доброжелательная, задачи интересными, ментор потратил много времени, чтобы их подготовить, и стремился, чтобы учебное интервью в будущем помогло пройти реальное интервью при устройстве на работу.

Этап 3

На третьем этапе студентам предложили таск Culture Portal. Его нужно было выполнять в группе, чтобы познакомиться с особенностями командной работы, распределения обязанностей, разрешения конфликтов при слиянии веток в Git (Пример задания: Culture Portal).

Это было одно из самых интересных заданий курса.

После окончания третьего этапа студенты, которые претендовали на работу в компании EPAM и вошли в список 120 лучших, прошли телефонное собеседование на знание английского языка, и в настоящее время проходят технические интервью. Большую часть из них пригласят в EPAM JS Lab, а затем на реальные проекты.

Каждый год более ста выпускников Rolling Scopes School получают работу в EPAM. На фоне тех, кто начал курс, это довольно небольшой процент, но если смотреть на тех, кто дошёл до финала, для них шанс получить работу достаточно большой.

Из трудностей, к которым нужно быть готовым, назову две. Первая – это время. Его нужно довольно много. Ориентируйтесь на 30-40 часов в неделю, можно больше, если меньше – маловероятно, что вы будете успевать выполнять все задания, так как программа курса очень насыщенная. Вторая – английский уровня А2. Если он ниже, учиться на курсе это не помешает, но найти работу с таким уровнем языка будет достаточно сложно.

Вопросы и ответы

Это чисто онлайн-курс?

Да, для меня преимущество курса как раз в том, что он полностью доступен онлайн и открыт для всех желающих.

Если нет планов после него идти работать в Минский EPAM и не скрывать этого, то это никого не будет смущать?

Отсутствие планов трудоустроиться в EPAM совершенно точно никого не будет смущать, могу это утверждать на собственном опыте.

Подскажите, пожалуйста, какой порог вхождения?

Считается, что начинать курс можно с нуля. Практика показывает, что чем больше студент будет знать к началу курса, тем легче ему будет учиться. Я видела комментарии тех, кто утверждал, что начал с нуля и дошёл до финала. Вполне допускаю, что так оно и было. И знаю действующих разработчиков, которые посмотрев какие задания им предлагают, покинули курс. То есть начальные знания это хорошо, но намного более важна мотивация и целеустремлённость. Для совсем новичков обычно советуют cs50. Это прекрасный курс, который ведёт исключительно обаятельный и харизматичный профессор из Гарварда и сам курс тоже считается одним из лучших в мире.

Каждый день по 3-4 часа после 17:00, достаточно ли для изучения всего материала и прохождения всех заданных тестов?

Если добавите ещё и выходные, скорее всего, да. Но будет сложно. Время, это то, чего действительно постоянно не хватало. С другой стороны, большинство тех, кто проходит этот курс, где-то работает или учится, так что проблема дефицита времени общая, а не чья-то персонально.

Интересно, после прохождения курса, после всей изученной информации можно легко на работу устроиться или на фрилансе начать?

Про легко можете забыть. Первую работу найти всегда было тяжело, тем более сейчас. Дефицит кадров в IT действительно существует, но нужны разработчики с опытом, которого курсы не дают. Если живёте в городе, где есть большие it-компании, выясните, нет ли при них очных курсов и подходите ли вы под их критерии отбора. Как правило, такие курсы бесплатные, но там ожидается наличие определенного уровня подготовки на входе и происходит достаточно жесткий отбор. Зато те, кто его прошёл, получают возможность получить работу в данной компании, что для человека с улицы маловероятно.

Курс абсолютно бесплатный и ноль потраченных денег? А то у некоторых курс якобы сам бесплатный, а на практике оказывается что надо покупать в дальнейшем курс html-академии и подобные.

Да, курс совершенно бесплатный, Нет. покупать ничего не нужно. Платить тоже ни за что не нужно. На курсе нет платных преподавателей или менторов, люди занимаются им во внерабочее время на добровольной основе.

Подскажите как проходил момент отчисления людей с курса, те ~1000 людей которые не прошли во второй этап? Ну и соответственно в третий этап… Ведь практически все учащиеся заинтересованы пройти дальше? Как дела обстояли с отчислением?

Задания первого этапа я перечислила. Их нужно было выполнить за пять недель. Для такого срока это очень большой объём работы, а некоторые задания к тому же достаточно сложные. Те, кто сделал больше, попали на собеседование, те. кто сделал меньше — не попали. У меня нет сейчас перед глазами таблицы с результатами первого этапа, но, насколько я помню, у многих не было сделано вообще ни одного задания.

Дальше организаторы смотрят сколько менторов будет в данном потоке и скольких студентов они соглашаются вести. Некоторые менторы приходят со своими студентами, это вполне в порядке вещей. К примеру, менторов 150, каждый указал скольких студентов он может взять, всего получилось 500 студентов. На первое интервью направляют для каждого ментора дополнительно два студента, чтобы в процессе интервью они определились с кем будут работать дальше, с кем нет. Чем больше менторов, тем больше студентов попадёт во второй этап.

Если говорить о проходном балле во втором и третьем этапах, это было не меньше чем 50% набранных баллов. Т.е, если за все выполненные задания можно было получить около 1800 баллов, то сертификат выдали тем, кто набрал хотя бы половину от этого количества. Это не слишком высокие требования, согласитесь. Если перечислять причины, по которым люди не получили сертификаты, первые позиции занимают отсутствие свободного времени, недостаточная мотивация и настойчивость.

Подскажите про лекции. Это просто изложение теории или есть лайвкодинг? Их можно смотреть в записи? Каким образом происходит здача и оценка заданий? Нужно ли защищать проекты?

Лекции есть, они проводятся регулярно, два-три раза в неделю, как правило в виде вебинаров, то есть по ходу изложения материала есть возможность задавать вопросы, на которые лектор ответит, есть лайвкодинг, лекции записываются, выкладываются на YouTube, их можно смотреть в записи.

На первом этапе менторов нет и все задания проверяются автоматически. На втором этапе часть заданий по-прежнему проверяется автоматически (тесты, задачи), часть заданий проверяют менторы. Защиты проектов не было. Разве что задание PiskelClone нужно было презентовать чужому ментору рассказав что там и как работает. В прошлом потоке в качестве финального задания второго этапа была игра, её жители Минска презентовали очно. Рассказывали, что на этой презентации некоторые уже получали приглашения на работу.

А могли бы вы указать свой начальный уровень познаний в JS, CSS, HTML перед стартом? Интересно все же понимать с каким багажом начинают те, кто успешно прошел курс.

Уровень у всех очень разный. Кто-то начинает курс совсем с нуля, кто-то приходит с IT-вузом, в котором его пять лет учили, есть и практикующие разработчики.

Если говорить обо мне, то стартовый уровень был, пожалуй, чуть выше среднего, но сильно ниже топа. HTML/CSS я учила довольно давно по курсам HTML Академии. JavaScript учила по учебнику learn.javascript.ru, дошла до ООП. Решала задачи на codewars. Прошла курс JavaScript 30. Сделала несколько мини-проектов. Хорошо умею гуглить. Это тоже важный навык.