| сохранено

H IT-курсы: что остается за кадром


Всем привет, меня зовут Евгений Картавец, я руководитель отдела обучения IT-портала GeekBrains. Мы разрабатываем курсы для будущих программистов. При их создании мы опираемся на опыт практиков отрасли и стремимся дать набор навыков, необходимых для устройства на работу. Я расскажу вам, как среди практикующих программистов мы отбираем преподавателей и с чем сталкиваемся при создании курсов.


Только востребованные направления


Обычно новое образовательное направление мы выбираем по двум критериям. Первый — трендовость и популярность какой-то технологии. Мы должны понять, есть ли к ней интерес, и если да, то насколько сильный. Для анализа мы проводим регулярные опросы и делаем исследование рынка. Делаем email-опросы на портале, чтобы узнать, чем интересуются будущие студенты и что у них сейчас популярно. Также нам важно, чтобы по данному направлению было достаточно вакансий. Чтобы понять спрос на специалистов, мы анализируем порталы по поиску работы — HeadHunter и другие. Смотрим количество вакансий, динамику открытия и закрытия. Мы хотим, чтобы студенты после окончания обучения смогли трудоустроиться. Если вакансий нет, мы не будем открывать курс, иначе выпускникам потом будет негде работать.


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


Разрабатываем методологическую базу


Когда мы только начинали, то просто согласовывали программы курсов с преподавателями. Те подавали материал так, как считали нужным. С одной стороны, это был очень творческий процесс. Каждый преподаватель старался сделать занятия как можно лучше. Но с другой стороны, отсутствовала стабильность. Кто-то из преподавателей был звездой, а кто-то — терялся перед аудиторией. Мы хотим, чтобы студенты всегда получали продукт стабильно высокого качества, поэтому в итоге пришли к стандартизации и к подготовке учебно-методических пособий для каждого курса.


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


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


Учебную программу пишет методист, а утверждает рецензент


Сначала для написания методичек мы привлекали именно преподавателей. Но потом обнаружили, что не все способны логично изложить учебный материал «на бумаге». Люди делятся на две категории: тех, которые могут красиво преподнести, общаться с аудиторией, зажечь слушателей, и тех, которые могут понятно и просто написать. Поэтому мы разделили их на две специальности.


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


Зачем нужен рецензент? Благодаря ему можно избежать таких ситуаций, какая у нас произошла при разработке курса по компьютерным сетям. В рамках занятий нужно объяснить, что такое сетевой стек. В классическом формате сначала рассказывают, как работает интернет на физическом уровне, как перемещаются данные. Затем разбирается канальный уровень, транспортный и так далее, вплоть до уровня приложений, на котором рассматриваются протоколы SMTP, HTTP и прочие. Данные проходят много уровней вплоть до самого верхнего, на котором отправляют электронные письма и скачивают страницы. Методист предложил перевернуть эту пирамиду и начать рассказ сверху вниз. Его объяснение получилось очень доступным, мы сразу утвердили план лекции. Но когда эту лекцию стали читать другие преподаватели, материал «не лег». Нам пришлось всё переделать и вернуться к традиционному подходу.


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


Как мы набираем команду


Допустим, мы хотим открыть курс «Программист Kotlin». Первым делом мы ищем методиста, который будет разрабатывать программу. При отборе методиста мы смотрим на уровень подготовки. Опыт работы по профилю должен быть не менее трех лет. Желательно иметь публикации по теме курса и достижения в профессиональной области. Стараемся искать таких спецов, как, например, Игорь Симдянов, который разрабатывал и вел у нас несколько курсов. Игорь — соавтор более десятка книг по программированию, в том числе библии для PHP-разработчиков — книги по PHP 7.


Методист предоставляет свое видение программы, концепцию и готовый отдельный блок методички в качестве тестового задания. Мы оцениваем общий подход, глубину проработки темы и связность изложения. Если всё в порядке, человек присоединяется к команде. Над проектом работает, как правило, несколько методистов, которые параллельно создают разные уровни курса.


Работа над курсом идет от одного до шести месяцев. Методисты и рецензенты работают совместно. Материалы проверяются сразу после написания. Ждать, когда курс будет готов, а потом рецензировать, нецелесообразно. Может случиться, что в курсе будет упущено что-то важное, тогда его придется переделывать. Так мы потеряли несколько месяцев, разрабатывая курс по фреймворку Spring для GeekUniversity. При еженедельном рецензировании такие ситуации исключены. Методички по частям поступают рецензенту, который сразу даёт обратную связь. Неподходящий материал оперативно отправляется на доработку. То есть мы на раннем этапе можем понять, что есть проблемы, или что методист не может выдать хороший контент.


Сами методисты тоже рецензируют друг друга. Отслеживают, чтобы темы не пересекались и были согласованы. Мы разрабатываем сразу несколько курсов в рамках одной профессии, поэтому один уровень должен перетекать в другой. Нагрузка на студентов должна плавно увеличиваться, а материалы — сбалансировано перетекать в «домашку». Особенно важно работать согласованно при подготовке программы, в которой студенты выполняют один большой проект в течение двух курсов. Всё это достигается только плотной командной работой.


Мы всегда рады пополнить команду талантливыми программистами, которые хотят делиться знаниями. Присоединиться к команде можно здесь.


Кто еще работает над курсом


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


Затем материалы переходят в отдел качества, в котором смотрят, что в результате получилось. У нас есть внутренние стандарты качества курсов без привязки к специализации:


  • Должен быть соблюден баланс между теорией и практикой.
  • Теоретическая и практическая части должны коррелировать между собой.
  • Материала должно быть достаточно для углубленного изучения всеми желающими.
  • Должны быть домашние задания разного уровня сложности.
  • У каждого урока должен быть отдельный план.
  • Должны быть best practices.

Когда программа полностью готова, курс по ней могут вести уже двое — методист и рецензент. Бывает, что у кого-то меняются личные или семейные обстоятельства, и он не может остаться преподавателем. Но такое случается редко. Мы в первую очередь заинтересованы, чтобы специалисты, готовившие программу, потом вели по ней курсы. Часто сразу ищем дополнительных преподавателей, потому что поток студентов большой, а количество мест в группе ограничено. После этого анонсируем новый курс, утверждаем даты ближайших потоков и открываем запись.


Регулярно следим за качеством курса


После старта курса работа над ним не заканчивается. Мы отслеживаем результаты студентов, а они оценивают преподавателей, чтобы мы могли совершенствовать учебный процесс. Отдел качества постоянно мониторит возражения, недовольства и пожелания студентов. Как правило, курс ведет специалист, который его писал. Поэтому обратную связь от студентов он получает с первых занятий и вносит коррективы по горячим следам. Это наша постоянная практика — после обучения собирать пожелания и вносить изменения в программу.


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


Пробуем новые форматы


Сейчас мы экспериментируем с новым форматом обучения — создаем интерактивные курсы с качественными видеолекциями. Для них ищем прикольные, трендовые и перспективные направления, на которые еще нет бешеного спроса. Подобрав специальность, анализируем рынок, чтобы понять, что должно входить в программу обучения, какими знаниями и навыками должен обладать выпускник. Нам важно, чтобы человек не просто считался специалистом, а мог работать по профессии. Изначально мы выпускали курсы исключительно по мега-популярным профессиям, например, программист Java (больше тысячи вакансий). Но сейчас мы можем себе позволить делать нишевые образовательные проекты, которые будут востребованы в узком профессиональном кругу. Они будут только у нас.

+22
~9900

комментарии (12)

+1
poxvuibr ,  

Вот красиво написано! Учебную программу утверждает рецензент, за в процессе разработки курсов участвует много людей, за качеством курса следят.


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

0
akryukov ,  
кому пришла в голову гениальнейшая идея учить студентов программировать на одном языке программирования, а курс алгоритмов проходить для другого языка. И как те, кто рецензировал курсы, это пропустили.

Не исключено, что рецензенты как раз таки не пропустили курс алгоритмов на java. Об этом можно судить по цитате:


Методист предложил перевернуть эту пирамиду и начать рассказ сверху вниз. Его объяснение получилось очень доступным, мы сразу утвердили план лекции. Но когда эту лекцию стали читать другие преподаватели, материал «не лег». Нам пришлось всё переделать и вернуться к традиционному подходу.
+1
Kartavec ,  
В целом, даже сам факт знакомства с языком Си помогает лучше понять начинающему программисту, как на самом деле работает его программа. Мы на ВМиК, допустим, писали самостоятельно на Си реализацию коллекций — Списка, Словаря и т.д. Когда пишешь на языке высокого уровня, не задумываешься над тем, что происходит «под капотом». И как следствие на выходе получается код, который работает медленнее, чем мог бы. Именно поэтому мы решили дать языки Си.

Однако, практика показала, что студентам довольно сложно переключаться между языками, и сейчас на «Профессии Java» и «Факультете Java» в GeekUniversity дается этот курс уже на языке Java.
0
poxvuibr ,  
В целом, даже сам факт знакомства с языком Си помогает лучше понять начинающему программисту, как на самом деле работает его программа.

Факт знакомстав с языком Си помогает начинающему программисту лучше понять, как работает его программа, которая управляется JVM. Звучит абсурдно :)


Мы на ВМиК, допустим, писали самостоятельно на Си реализацию коллекций — Списка, Словаря и т.д

На курсе по Джаве, да?


Когда пишешь на языке высокого уровня, не задумываешься над тем, что происходит «под капотом». И как следствие на выходе получается код, который работает медленнее, чем мог бы.

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


Именно поэтому мы решили дать языки Си.

А ещё потому, что если курс алгоритмов на Си, то не надо тратить силы на составление отдельного курса алгоритмов для каждого языка :)


Однако, практика показала, что студентам довольно сложно переключаться между языками

Кто бы мог подумать :)


и сейчас на «Профессии Java» и «Факультете Java» в GeekUniversity дается этот курс уже на языке Java.

Хорошо, что здравый смысл восторжествовал. Хотя, я подозреваю, что если бы не mail.ru, ничего бы не изменилось.

0
mrAvenger ,  

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

+1
akryukov ,  
есть же функция x которую я могу использовать, зачем мне писать свою функцию y в 20 строк кода

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

0
poxvuibr ,  
Большая часть алгоритмов уже так или иначе реализована из коробки в яве вам просто нужно понимать как они работают, в этом плане си будет неплох

Си будет неплох в понимании, как работают алгоритмы в яве? Нет, Си тут, конечно лучше, чем HTML, но сильно хуже, чем сама джава :) .


студенты не будут пытаться скопипастить собственные реализации алгоритмов в своих проектах, используя вместо них встроенные

В курсе алгоритмов как раз надо использовать свои.


И не будет вопросов типа, есть же функция x которую я могу использовать, зачем мне писать свою функцию y в 20 строк кода

Во-первых, на этот вопрос преподаватель должен ответить в начале курса, объяснив, что писать свою функцию надо для того, чтобы понимать, как работает аналогичная в джаве. Во-вторых, на этот вопрос ответить значительно легче, чем на вопрос — я тут хочу научиться программировать на джаве, зачем вы мне показываете Си?

0
speshuric ,  
Допустим, мы хотим открыть курс «Программист Kotlin». Первым делом мы ищем методиста, который будет разрабатывать программу. При отборе методиста мы смотрим на уровень подготовки. Опыт работы по профилю должен быть не менее трех лет.

Если под "по профилю" понимать разработку на Kotlin, то релиз 1.0 вышел меньше 2,5 лет назад. Так что исчерпывающий список кандидатов должен быть у abreslav и у yole. Но это не упрек, так — занудства ради, вы делаете очень нужное дело.

+1
Mangol31 ,  
Добрый день!
Прочитал статью. Хм… Решил написать ответ. Сразу скажу, то что написано ниже это не реклама ваших конкурентов, и не специально написанный антипиар для вас. Пишу как есть.
Написано в статье все красиво, возможно что-то действительно изменилось к лучшему. Но могу рассказать о своих впечатлениях. Я учился у вас два года назад на профессии «Web-разработка». Прошел два курса «HTML\CSS» и «JS1». Оба преподавателя были, на тот момент, с самым высоким рейтингом по отзывам учащихся. Методички у нас тоже были на тот момент уже.
По результатам прохождения обоих курсов было четкое ощущение, что учиться у вас я не хочу. Т.к. это не обучение, а имитация какая-то. После HTML\CSS было явное понимание того, что база, которая была дана на курсе, не позволяет более-менее нормально сверстать даже простой макет. А после JS1 — вообще было какое-то недоумение от того, что это сейчас было и зачем. Учебу у вас я прекратил, забрал деньги у ушел. Отмечу, что благодарен вам за то, что прекращение обучения и возврат денег происходит четко и без проволочек.
После чего была длительная пауза, потом некоторое время брал код-ревью у ментора. Результат был существенно выше, чем у вас. При том, что парень частник, создавший сам сайт с уроками HTML\CSS\JS\PHP. Т.е. за ним не стоит Mail Group и та большая машина, которую описали вы в статье. Результат — существенное продвижение в уровне верстки. Получалось делать гораздо более сложные макеты. Но все-таки не оставляло ощущение отсутствия системности и говнокодинга.
Сейчас я буквально пару недель назад успешно закончил интенсив HTML\CSS 1 в HTML Academy. По времени оба курса (в GB и в академии) одинаковы, рассчитаны на тех, кто начинает учиться с 0. Но между вами ПРОПАСТЬ! Уровень знаний и опыта, который я получил в академии он настолько выше того, что давалось у вас, что оторопь берет. Онлайн уроки по HTML\CSS\JS, сложность проекта (который я смог сделать, обучившись на интенсиве!), демки с пошаговым разбором верстки, шорткаты, лекции о доступности интерфейсов и лучших практиках верстки, уровень преподавателей, все не идет ни в какое сравнение с подаваемым материалом у вас. Это не бодренький рассказ Кадочникова об основных HTML/CSS тегах/селекторах. Это действительно серьезная, системная и вдумчивая подача материала.
0
Mangol31 ,  
Да, забыл еще написать о таком важном моменте в Академии, как прикрепленный к каждому обучающемуся наставник. Который полностью ведет с тобой проект, постоянно помогает, разъясняет и обучает. Единственный преподаватель на курсе GB просто физически не в состоянии проделать эту работу.
0
matrixs ,  
Я года два назад записался в GB на бесплатный вебинар для начинающих по Java думал посмотрю как обучают и запишусь на платный курс, но почему то преподаватель весь урок учил нас как складывать 2+1 на JavaScript, может это и правильно, но тогда не зашло
0
nefone ,  
собираюсь пройти курс по PHP от geekbrains, заодно и оценю методички