Привет, я Антон, преподаватель JavaScript в Elbrus Bootcamp. Недавно Институт образования НИУ ВШЭ выяснил, что 94% поступающих к нам не имели опыта программирования, и при этом 93% устраиваются разработчиками в течение 3-х месяцев после обучения. Но разве реально всего за 12 недель научить кого-то разработке?
Мой ответ — да, если это не курсы, а буткемп. Решил показать Хабру один день в школе моими глазами. О том, что из этого обеспечивает результат, предлагаю подискутировать в комментариях.
Дисклеймер — я решил добавить в статью иллюстрации от нашего фотографа, который снимает выпускников на резюме и иногда фиксирует жизнь кампуса. Они были сняты в разные дни на повседневных событиях буткемпа.
8:30
У Elbrus Bootcamp 3 кампуса — в Москве, Санкт-Петербурге, а теперь еще и в Казани. Я преподаю в московском. На работу еду на метро: люблю прогуляться пешком от станции Ленинский проспект до бизнес-центра, где мы занимаем 3 этажа.
Кампус буткемпа похож на университетский — но не в России, а в Америке. На первом этаже у нас находится столовая и аудитории для лекций и других мероприятий. Каждую неделю проходит день открытых дверей, а по выходным собираемся на открытые мастер-классы по основам JavaScript и Python для всех желающих. На втором этаже — рабочие пространства: тут пишут код. Каждая аудитория и каждый кабинет носят название какого-то из языков программирования.
Кабинет основателя Elbrus Георгия Бабаяна — Ruby: этот язык он изучал в американском буткемпе. В нем висят фотопортреты первых двух сотен выпускников и фотография с вершины Эльбруса, на которой Георгий держит флаг буткемпа.
Самый большой зал — Assembler: тут всегда шумно от командных обсуждений. В Python приходят отдыхать: тут есть стол для пинг-понга, диван, книжная полка, кикер и баланс-борд, плюшевые игрушки для тех, кто подустал и хочет на ручки. Kotlin – зал для выпускников: тут они проходят карьерные тренинги и собеседования в IT-компании.
Возле кухни, у окна, есть барная стойка — тут желающие работают стоя. Рядом комната, где можно уединиться для медитации или молитвы.
Каждые 3 недели стартуют занятия у новой группы. По направлению JavaScript одновременно обучаются 3 группы студентов, разделенные на «фазы»:
1-я фаза — ванильный js
2-я фаза — backend на nodejs
3-я фаза — react
И еще 2 группы проходят обучение по направлению Data Science.
Тем временем все студенты на месте, нам пора начинать.
9.00
Ретроспектива в группах
Студенты и преподаватели расходятся по небольшим группам. Сегодня пятница, поэтому делимся друг с другом впечатлениями и событиями, пережитыми за неделю. Высказываются все. Единственное правило — не перебивать.
9.15
Общая ретроспектива
Все студенты и преподаватели собираются в зале, чтобы подвести итоги недели и обсудить общие новости школы. По традиции кто-то из преподавателей рассказывает забавный случай из практики.
В эту пятницу студенты будут работать над групповым проектом и презентуют его в конце дня. Напоминаем им, что главная задача — научиться работать в команде, освоить инструменты разработки и получить удовольствие от совместного творчества. Просим не приступать к кодингу сразу, а сначала продумать план работ, распределить задачи, согласовать план с преподавателем и только потом кодить.
В конце общего сбора просим студентов анонимно оценить работу преподавателей на этой неделе, чтобы мы могли проанализировать свою работу и улучшить процесс обучения.
10.20
Рассредотачиваемся между студентами, выслушиваем и даем рекомендации к их плану реализации проекта на сегодня.
Моя группа сейчас проходит 2-ю фазу — backend на nodejs. Их задача — создать приложение с викториной. Группа разделена на 4 команды по 4 человека в каждой. Сорок минут мозгового штурма, и они презентуют мне схему базы данных, основные элементы веб-интерфейса и распределение задач внутри своей группы.
Вношу корректировки:
Правим таблицы в postgresql и связи в них. Убираем избыточность и проговариваем, насколько такое представление оптимально.
Мы уже прошли js на стороне клиента, поэтому обсуждаем, какие элементы можно отображать без перезагрузки всей страницы, изменяя с помощью ajax запросов.
Выясняем, кто какую часть задачи берет на себя, и как будет происходить разработка приложения с использованием git.
11.00
Пока все заняты, самое время заняться рутинными вопросами. Вношу корректировки в обучающие презентации, обсуждаю с коллегами планы ввести type script и выделить студентам больше дней для изучения react, работаю над pet-проектом.
12.30 - 14.00
Обеденное время. Кто-то дремлет на диванчике: обучение в буткемпе идет с 9 до 18 каждый день, и даже на выходных большинство студентов заняты кодом. Поэтому ребята учатся эффективно использовать свободное время. Те, кто сегодня выспался, идут обедать с преподавателями и болтать о жизни. Так мы помогаем студентам освоиться в IT-среде, знакомим их с этой «субкультурой».
14.00
Собрание преподавателей. Обсуждаем обратную связь и успеваемость студентов. Договариваемся, кто какие лекции читает на следующей неделе. Кроме меня в московском кампусе работает еще 3 преподавателя: старший преподаватель JavaScript Семен Жолобов, в прошлом разработчик в Apriorum Group, преподаватель Data Science Павел Думин, который до буткемпа заведовал DS-лабораторией в университете, и Улюмжди Улюмджиев, в прошлом эколог и геохимик, а сейчас тоже преподаватель DS.
14.30 - 16.50
Отвечаем на вопросы студентов, возникшие по ходу реализации групповых проектов. Например, в теге <script> забыли прописать defer, и он отрабатывает до того, как на странице появляются DOM элементы. Или как выводить вопросы последовательно без перезагрузки всей страницы.
Аккуратно наталкиваем на решения, не давая ответ напрямую: «Помнишь, мы как-то на лекции обсуждали очень похожую проблему, когда у меня не срабатывал скрипт? Давай попробуем вспомнить, какая ошибка была в консоли браузера и как мы ее решили».
Вообще ключевой принцип обучения в буткемпе — это 20% теории, 80% практики. Только так можно действительно понять и запомнить тему.
Кто-то не успевает выполнить все, что запланировал в начале дня, и впадает в панику. Возвращаем процесс в рабочее русло: объясняем, что можно урезать часть функционала, и ничего страшного не произойдет. Показываем, как важно уметь планировать и управлять временем. Когда становится ясно, что надо работать над другими этапами, студенты возвращаются к написанию кода и прекращают прокрастинировать из-за того, что какая-то часть остается нереализованной.
17.00
Группы готовы презентовать свои работы. Каждая фаза занимает отдельную аудиторию и по очереди представляет своим коллегам по опасному бизнесу, что удалось реализовать за день. Студенты отрабатывают навык защищать свою работу перед другими, даже если какую-то часть выполнить не удалось.
18.00
Сегодня первая пятница после выхода в кампус новой группы: это значит, что занятия оканчиваются на час раньше и всех ждут пицца, настолки и другие активности. Студенты обожают сбрасывать напряжение, тусуясь на кампусе в компании друг друга — интенсивная работа сближает. Многие находят тут друзей, которые остаются рядом надолго. Ну а мне пора домой )
Кстати, каждую неделю в кампусах проходят дни открытых дверей. Ближайший — во вторник, 21 декабря. Если хотите посмотреть на все сами, заглядывайте к нам.