Как мы обновляли курс по JavaScript: взгляд выпускника
- 21 июня 2021
За 4 года Алексей Александров окончил пять наших курсов — два по вёрстке и три по JavaScript. Это заняло больше времени, чем он планировал: не всё получалось сразу. Так, второй курс по JavaScript «Архитектура клиентских приложений» Алексей прошёл только с третьего раза. Зато он увидел большие изменения и рассказал, как они повлияли на его обучение.
Благодаря улучшениям за три потока, на которых учился Алексей, оценка курса студентами повысилась с 8.3 до 9.1. О том, как это удалось сделать, мы поговорили также с автором курса Александром Сушко.

Алексей, чем вы занимаетесь в свободное от прохождения наших курсов время?
Я уже 14 лет работаю техником на заводе по производству холодильников. В какой-то момент я понял, что не получаю удовольствие от того, чем занимаюсь. Я зарабатывал деньги, но сам процесс вызывал в лучшем случае равнодушие и скуку. Вот и решил найти себе дело, которое будет не только приносить прибыль, но и которое мне будет интересно. Пробовал одно, другое, третье, но ничего не цепляло. На веб-разработку наткнулся почти случайно, и мне понравилось. Это было в 2017 году. Начал проходить разные курсы в интернете и скоро вышел на Академию.
У вас уникальный случай: вы проходили курс «JavaScript. Архитектура клиентских приложений» 3 раза. А с другими курсами как обстояли дела?
Действительно, я проходил его три раза, и на это ушёл почти весь 2020 год. А до этого «Адаптивную вёрстку и автоматизацию», по-моему, в 2018 году со второго раза осилил. Там был очень большой объём работы. Нужно было написать много кода за короткий срок. А когда только учишься и опыта нет, то дело движется медленно. Много времени уходит на исправление ошибок и переписывание заново уже готового кода. Да и учёбу с работой совмещать нелегко. Насколько я помню, со следующего потока на этот курс стали отводить больше времени.
Инструкция для тех, у кого всё время что-то не выходит
Целый год, три попытки... Неужели не хотелось бросить?
Хотелось, особенно, когда не получалось. Я даже уже принял это решение — в конце первого подхода, когда оставались считанные дни до завершения. Застрял на одном моменте про взаимодействие с сервером — и очень глупо застрял. Постоянно всплывали ошибки, допущенные при выполнении предыдущих заданий. Помню, я завис на добавлении и удалении комментариев к фильму в проекте «Киноман». Исправлял один баг — вылезал второй, исправлял второй — появлялся третий.
Когда впервые делаешь сложный проект, то на начальном этапе не знаешь, что будет в середине и в конце. Нет видения проекта в целом, и поэтому велик риск с самого начала пойти не туда. Реализуешь какую-то функциональность — вроде всё работает. Но на следующем этапе понимаешь, что нужно было сделать по другому. И надо либо всё сначала переписывать, либо изобретать какие-то костыли.
Ничего не получалось, я подумал: ну всё, бросаю. Сидел и просто тыкал, пробовал одно, другое — случайно что-то заработало. И я решил заниматься дальше. Но защититься всё-таки не успел.
Вообще, моя главная мотивация была в том, что мне нравится сам процесс разработки и нравилось учиться.
А в чём, собственно, была проблема на 11 — вашем первом — потоке?
Сложный был курс, я даже не ожидал. Тогда моего уровня было недостаточно, чтобы его пройти.
Вроде бы я основательно готовился, прочитал все дополнительные материалы. Но как только курс начался, обнаружил, что совершенно к нему не готов. Постоянно натыкался на пробелы в базовых знаниях. Нет, материалы безусловно помогли. Благодаря им я не испытывал трудностей с пониманием наследования, к примеру. Но это только одна из тысячи тем! Помню, как в разгар интенсива я разбирался, как работает объект Date. Как-то получилось, что я не сталкивался с ним раньше и манипулировать датами учился практически на ходу. А ведь знать бы, что он понадобится, я бы подготовился заранее: время и возможности были.
Из отзыва Алексея после 11 потока
Главная проблема, как мне кажется, была в том, что разница в сложности между двумя курсами по JavaScript просто колоссальная. Первый я прошёл почти не напрягаясь, а во втором испытал массу боли и стресса. Я сдал проект на первую проверку в последний день защиты в 23:31 и считаю это большим достижением. А вот между вторым и третьим курсом по JavaScript таких больших различий не было.
У нас есть два направления для улучшения курсов.
В первую очередь, это наши планы. Мы строим их на несколько потоков и ищем отражение этих планов в отзывах. Мы общаемся с наставниками, знаем, что сейчас требуется на рынке, а что нет. Если студент хочет изучить что-то, идущее вразрез с планами, мы вряд ли этот отзыв применим на практике. Положим к себе в копилочку и будем иметь в виду.
Во-вторых, мы смотрим мнение студентов по конкретике, лайвам, разделам, материалам. И это нам сильно помогает: чем больше проблем по какому-то разделу, тем больше сил и времени нам нужно ему уделить. Сначала мы читаем негативные отзывы: самые развёрнутые комментарии пишут люди, которым что-то не понравилось. Потом мы обсуждаем их на планировании, выписываем как проблемы потока и превращаем в конкретные задачи. Потом уже читаем положительные отзывы. Там всегда много приятных вещей, это эмоционально заряжает. Там меньше конкретики, но тоже есть пожелания, впечатления.
Конечно, каждый поток мы не можем поправить сразу всё. Но если что-то критичное — стараемся внести изменения оперативно.
Александр Сушко об отзывах студентов
Что-то изменилось в следующем 12 потоке?
Да! Он отличался по содержанию. Было видно, что авторы пытаются сделать материал понятнее и ещё больше разжевать сложные моменты. А ещё нагрузку распределили более равномерно. Например, разбили два трудных раздела по MVP на три.
В этот раз базовых знаний уже хватало. А из-за чего были проблемы?
Помню, я завис на третьем задании: потратил порядка 15-17 дней. Оно было, в принципе, не сильно сложное, но очень объёмное. Мы писали свои функции, которые генерируют моковые данные (реальных у нас не было), чтобы на их основе можно было сделать приложение. Потом нужно было от функций перейти к компонентам, чтобы загружать данные туда.
Чтобы перераспределить нагрузку, мы «сушим» материалы. У любого автора есть желание рассказать всё и побольше. Но надо понимать, что, хоть курс и интенсивный, мы не можем человека научить всему. Поэтому мы исходим из прикладных задач, спрашиваем у «Лиги А.» и рынка, чего они ждут от выпускников. И вот если знания подходят под эти прикладные задачи, мы их оставляем, если нет — выкидываем.
Ещё мы меняем порядок повествования на курсе. Например, на 12 потоке из двух разделов по архитектурному паттерну MVP мы сделали три и теперь разбираем сущности этого паттерна — Presenter, View, Model — раздельно. Плюс мы стали потихоньку говорить о MVP уже с самого начала курса, чтобы хоть немножко подготовить студентов.
Мы поправили и учебный проект. Студенты видели в нём ошибки, которые, например, нарушали, наши же критерии. Или могло что-то не запускаться в каком-нибудь браузере, чего-то не хватало, а что-то было лишнее. Мы взяли и исправили всё это одним большим ударом. Это заняло два потока.
Конечно, каждый поток мы не можем поправить сразу всё. Но если что-то критичное — стараемся внести изменения оперативно.
Александр Сушко о перераспределении нагрузки на курсе
Как справлялись с этим заданием в третьем подходе (13 потоке)?
Между потоками есть перерывы, и я в это время не сидел сложа руки. Потратил их на работу над ошибками, и у меня на рутинные задания было уже много чего готового. Поэтому на последующих потоках я экономил время за счёт того, что брал какие-то готовые решения. На третьем потоке я больше думал, как построить датабиндинг, как части приложения будут взаимодействовать между собой. То есть тратил время на более творческие задачи.
Самым сложным для меня было задание 7.1. Я никак не мог понять, как мне перерисовать список фильмов так, чтобы открытый попап не закрылся. Когда я придумал способ этого достичь, проверил его и всё заработало, я понял, что успешно сдам проект. Больше серьёзных трудностей у меня не возникало. Разве что над заданием 9.1 пришлось немного подумать, так как на предыдущих потоках я до этого задания просто не успевал дойти.
Из отзыва Алексея после 13 потока
Как сильно изменился курс с 11 по 13 потоки, которые вы проходили?
Авторы сильно переделали курс. Материал между лайвами распределили по-другому. Лёгкое из лайвов вообще убирали, а сложное попытались растянуть на несколько. Потому что про элементарные вещи люди и сами могут почитать, а вот сложному лучше уделить больше времени.
13 поток стал апогеем всех наших изменений. Мы стали смотреть на курс не как на отдельный продукт, а как на часть профессии — четвёртый курс из пяти. За счёт этого мы смогли выкинуть то, что студенты проходят на втором курсе. Например, всё, что связано с окружением — Node.js, Webpack — с современными возможностями самого JavaScript. То есть те, кто проходят курсы по профессии, уже всё это знают из предыдущего курса. А к тем, кто проходит курс отдельно, теперь предъявляются начальные требования того, что они уже должны знать. Так мы сократили нагрузку.
Ещё мы послушали студентов, которые писали, что 5 раздел про части MVP сложный, а после него всего 2 дня на домашнее задание. А там много чего надо написать, порефакторить, осмыслить. И мы передвинули перерыв: был до раздела, поставили после.
Также упростили сложный для студентов раздел про офлайн режим. Всё-таки это последний лайв перед защитой проекта и не такой частый кейс.
Плюс мы стали разбирать учебный проект прямо на лайвах и перестали давать по нему домашнее задание. Сейчас студенты отрабатывают всё только на личных проектах — и времени на них стало больше.
Александр Сушко об изменениях в программе курса
Каждый поток вы совмещали обучение с работой?
Совмещал на всех потоках, кроме первого. Тогда все сидели на самоизоляции. У меня были идеальные условия, но всё-таки даже это не помогло. В третий раз, когда я защитился успешно, были новогодние праздники, и это мне сыграло на руку.
Наставники были везде разные?
На первых двух был один и тот же наставник. На третьем я записался сначала к одному, но мне показалось, что задания проверяются слишком долго. Поэтому перешёл к другому.
Как выбрать, на что обращать внимание
В апреле вы закончили ещё один наш курс «Разработка сложных клиентских приложений». Веб-разработка — ваше хобби?
Я пока не работаю по этому направлению. Собираюсь, но ещё не пробовал искать. Есть опасения, что более молодым людям проще пройти собеседование. А со мной часть работодателей вообще разговаривать не будет.
К тому же легко уволиться с работы, на которой всё плохо. Гораздо сложнее уйти оттуда, где много плюсов. На нынешнем месте нормально платят, есть соцпакет, медстраховка, хорошее отношение к людям со стороны руководства, особенно к тем, кто себя зарекомендовал. Минусы в том, что работа занимает очень много времени, да и скучновато. Чувствую, что это далеко не предел моих способностей.
Где работают выпускники Академии
Истории наших выпускников
Наши студенты иногда проходят курсы по несколько раз, если не всё получается сразу или хочется получше разобраться в темах. Поэтому они могут сравнить два или три потока и написать нам своё мнение. Такие отзывы особенно интересны. Студенты видят, что мы прислушиваемся к замечаниям и стараемся сделать продукты лучше. Это большая работа, за которой стоят авторы курсов. Благодаря ей почти каждый поток наши курсы обновляются на 15-20%.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше

Из Angular в React: Карина Королева рассказывает о программе роста до мидла
Как Карина выиграла грант Академии и теперь бесплатно развивает хард- и софт-скиллы.
- 12 мая 2023

Всё о стажировке в «Лиге А.»
Всё, что вы хотели знать о стажировке после Академии.
- 19 апреля 2023


Что такое «Старт в программировании»
Тренажёр? Курс? Навык? Сейчас разберёмся.
- 28 декабря 2022


Профессиональная разработка интерфейсов #27
Обновления, наставники, выпускники.
- 24 декабря 2022

Если вы тоже запутались в тарифах HTML Academy
Разобраться с максимальным тарифом проще, чем вы думаете.
- 21 декабря 2022

Профессиональная вёрстка сайтов #35
Обновления курса и отзывы студентов по 35 потоку.
- 16 декабря 2022


Как устроен «Акселератор» в HTML Academy
Как получить первый опыт разработки после курсов.
- 9 декабря 2022