Опыт offline/online курсов Ruby on Rails c обязательными ДЗ
Как сделать так, чтобы студенты на курсах программирования не только присутствовали, но чтобы и получали реальные результаты в процессе и на выходе? В статье повествую про наш опыт организации курсов, благодаря которому нам получилось достичь неплохих результатов как для участников, так и для организаторов.
В Харькове, да и вообще в наших краях, увы мало рубистов даже для нашей небольшой Ruby on Rails компании из 20 человек. Многие компании открывают бесплатные курсы, после чего отбирают себе лучших выпускников. К сожалению, солидная часть отобранных студентов очень быстро начинают игнорировать не только домашние задания, но и вообще сами занятия. Поэтому важно получить изначально мотивированных кандидатов в разработчики на Ruby on Rails. Ничто так не мотивирует и не подтверждает готовность учиться, как участие, оплаченное своими кровными. Кроме собственно Ruby и Rails на курсах мы поставили целью дать людям в теории и на практике получить базовые навыки работы с репозиторием git, командной работой, основам работы с Linux системами на базе Ubuntu.
До этого около 90% работающих сотрудников у нас проходили стажировку на руби, во время которой мы получили опыт обучения с нуля до начинающего джуниор разработчика. Этот опыт и многолетняя работа над коммерческими проектами дали понимание, что нужно новичкам для уверенного старта.
Курсы решили назвать Ruby Bursa, так как с одной стороны все другие обучающие слова вроде «school», «academy», «university» были заняты. С другой стороны, хотелось назвать как-то «по-нашему». Бурса — название ПТУ в Украине и в южной части России (сленг).
Стоит добавить, что в представлении многих не IT-шников быстрый старт в нашу web сферу, как им кажется, кисельных берегов, идет через чистый PHP. Мы дали возможность старта курсов на Ruby on Rails.Стоит отметить, что многие из окружающих были возмущены фактом самой идеи «платных курсов», мотивируя это тем, что дескать, «другие делают бесплатно, почему вы выделываетесь?». У меня есть твердая уверенность, что честный труд организации и проведения курсов должен быть честно оплачен. Бесплатное не бывает хорошим?
Какие цели мы перед собою ставили? Можно ли за два месяца из неподготовленного человека сделать отлично программиста? Думаем, что скорей всего нет. Мы старались создать жесткую систему, попав в которую каждый участник был бы вынужден или дойти до конца или с шумом вылететь (деньги мы при первом запросе возращали). И судя по отзывам и результатам учеников, у нас получилось.
Ключевым отличием от всех других курсов, в том числе курсов вождения, английского, являлось жесткое требование к домашним заданиям. После первого срыва дедлайна участнику публично выставлялась желтая карточка. После второго — «это залет, рядовой» и красная карточка. Один ученик даже назвал нашу систему «учеба как в Европе». Если посмотреть трезво на этот подход, то он исключительно выигрышен для всех. Те, кто вылетают, как правило, по факту ничего не теряет. Так как обычно, если человек перестает делать домашние задания, то он уже крайне редко догоняет группу и почти всегда перестает учиться. В то же время громкий акцент на публичном исключении делает отличную встряску для других участников процесса.
Дополнительной мотивацией был рейтинг студентов. На балы рейтинга влияли скорость. своевременность и правильность выполнения практических заданий, а также результаты тестов по пройденному материалы. Почти все участники курсов признавались, что частно вынуждены были доделывать задания ночью недосыпая. Но при этом никто не был недоволен ситуацией. Все понимали, что «птицу не толкнешь — не полетит».
По плану решили сделать первый месяц посвященный Ruby, второй — Rails. Кому интересна собственно программа, она выложена на сайте.
Сам сайт курсов мы сделали в стиле одностраничника, на которой постарались подробно разъяснить чего стоит ждать от курсов, подробная программа, отзывы наших стажеров с компании и даже промо Ruby on Rails.
На Ярмарках вакансий за два года активного участия мы собрали около 900 контактов, по которым мы сделали рассылку о курсах. Дополнительно пиарили курсы через IT сообщества Харькова, сайты о работе и просто социальные сети.
Из 42 участников на курсах проходили участие также и 5 стажеров нашей компании. На первых занятиях они помогали с «бытовыми» и «детскими» проблемами, с которыми сталкиваются все начинающие на Ruby on Rails.
Аудиторию, которая пришла на курсы можно разделить на несколько частей:
1) Так называеме «свитчеры» с других языков. Говорят, «сколько языков ты знаешь, столько раз ты человек». Думаю, можно утверждать аналогично, что «сколько языков программирования ты знаешь — столько раз ты программист». Знание нескольких языков, фреймворков, подходов к разработке помогает более широко мыслить и применять наилучшим образом IT инструменты. По понятным причинам эта категория оказалась наиболее сильной. После месяца учебы стоит отметить, что далеко не все выпускники сразу переквалифицировались на Rails разработчиков.
2) Тестировщики, которым нужен был Ruby как скриптовый серверный язык. В основном это были девушки, которые сознательно не дошли до второго месяца посвященному фреймворку Rails.
3) Компании присылали своих сотрудников обучению второму или N-ному языку. Наверное, ради бонуса
4) Новички в коммерческом программировании, которые составили где-то четверть всех участников. Этой категории по понятным причинам пришлось несладко. Прежде эти студенты, как правило, уже изучали программирование в школах и университатах. Но именно благодаря «шоковой терапии» они прошли 7 кругов RoR и на выходе стали готовы для старта в IT
Из необычных студентов стоить отметить Дмитрия Кривошеева, владельца сети курсов английского языка из 9 отделений по городу. К удивлению организаторов, он также с успехом дошел до конца. Мотивацией для прохождения курсов оказалось желание написать свою систему-социальную сеть для изучения иностранных языков именно на Ruby on Rails.
Курсы мы решили в качестве эксперимента сделать в онлайн и оффлайн формате. По четвергам были полноценные трехчасовые занятия с 19:00–22:00. По понедельникам учеба проходила в формате онлайн с 21:00–22:30. В течение полутора часов в формате вебинара информация излагалась преимущественно теоретического плана. Из плюсов такой системы стоит выделить:1) многие студенты по понедельникам/средам/пятницам вечерами посещают курсы английского, танцевальные или спортивные секции2) на транспорт у некоторых участников тратилось до часа. Раз в неделю этого можно было избежать.3) В онлайн режиме можно было внимательней рассмотреть презентации, чем на проекторе. Записи этих занятий делались автоматически и не требовали оператора.
Вступительная неделя была исключительно вживую, чтобы лучше познакомиться и дать слушателям уверенность, что у них все получится. На первом занятии вместо теории по стандартоному туториалу, на ноутбуках участников создали блог и загрузили его на бесплатный Rails хостинг heroku.
Далее, несмотря на неспокойную обстановку в стране в феврале-апреле курсы шли по плану.
На втором месяце началось изучение фреймворка Rails с постепенным переходом в групповую работу над учебными проектами.
Мелкой, но приятной радостью для участников оказались кофебрейки в перерывах между занятиями.
Вместо экзамена мы решили устроить сюрприз. Вначале пригласили нашего Senior разработчика, который перед всеми проинтервьюирировал одного из смелых курсантов, чтобы показать, что ждет слушателей на собеседованиях.После чего объявили, что вместо экзамена будет празднование завершения курса.
На неожиданном выпускном все дошедшие до успешного конца получили сертификаты.Курс успешно прошли 37 из 42 участников.
В инструментальном плане курсов мы не стали выдумывать велосипед и создавать специальное приложение.В качестве инструментов использовали:
1) Для online занятий в формате Webinar — Wiziq. На момент курсов он предоставлял 30 дней беспланого неограниченного пользования. Шарить рабочий стол преподавателя не получалось, но с основными задачи по онлайн презентациям и коммуникации в чате он отлично справлялся.
На следующих курсах планируем использовать Citrix Gotowebinar, который кроме прочего позволит успешно транслировать рабочий стол преподавателя, а если понадобится — то и столы участников курса.
2) Для домашних заданий, публикаций записей прошедших заданий и коммуникаций между участниками курса нам отлично подошел по бесплатный сервис Piazza. Планируем его использовать и в следующем курсе.3) Для наглядного подсчета рейтинга использовали старый добрый гуглдок.Отзыв участника Павла Ковалева — лидера рейтинга: https://medium.com/@mr_kovalyov/4f1303dbf1dd
Лучшим участникам согласно рейтингу мы подарили книги по Ruby on Rails:
Выводы:1) Онлайн + Оффлайн система проведения оказалась успешной. Такой подход без скромности по достоинству оценили как ученики, так и перподаватель. Периодическое живое общение подкреплялось еженедельными онлайн трансляциями.
2) Системы карточек с предупреждениями и исключениями, а также рейтинговые системы были отличными мотиваторами. Несмотря на бессонные ночи, ученики усердно грызли гранит науки RonR.
3) Коммерческая система обучения для нашей компании себя оправдала c позиции кадров. После завершения курсов наша компания взяла к себе на борт двух разработчиков, с несколькими сейчас ведутся переговоры. 5 стажеров получили систематизированные знания и отработку навыков, что так сложно организовать в небольшой фирме в виду операционной текучке дел и занятости опытных разработчиков.
Дополнительно: Многие посетители нашего сайта из Днепропетровска, Одессы, Новосибирска и других городов спрашивали о возможности участия на курсах удаленно. Поэтому с 16 июня мы решили начать первый online курс по обучению Ruby on Rails: http://rubybursa.com. Предварительно регистрация проходит до 12 июня.