Критерии выбора ИТ-курсов, или Почему я создал свой
[Михаил Кашкин — Python разработчик и автор курса «Практический Python с нуля»]
Эта статья будет полезна для тех, кто хочет понять, что человек должен получить от образовательных курсов и можно ли вообще на них обучиться. Призвана помочь выработать критерии для принятия осознанного решения.
Отражает мое личное мнение и результаты глубокого анализа ситуации в разных аспектах. Возможно, она окажется для вас полезной и поможет принять важное для себя решение.
Точка отсчета
Мне всегда нравился Python. С первых дней знакомства с языком сообщество очень помогло в изучении, документации, поиске работы и заказов. Как-то само собой получилось, что я стал помогать в ответ сообществу. Постепенно оброс обязательствами в этой области, организовывал PyCon и локальные события в разных городах. Согласно статистике, около 70% людей, которые приходят на конференции, называют себя новичками. Мне часто задавали вопрос: с чего начать. Сам я начинал с учебников, поэтому рекомендовал книги или курсы.
Больше года назад я закончил сотрудничество с одной компанией, после которого понял, что выгораю. Физически плохо становилось от мысли выйти на очередной звонок. И я взял паузу в карьере и начал писать учебник по Python’у. Когда была дописана половина, понял, что надо что-то с этим делать. Сначала решил опубликоваться просто как обычный автор. И я попробовал связаться с издательствами. Выхлоп от публикации книг не очень большой, особенно если сравнивать со средней зарплатой программиста. Заработок от продаж более-менее успешной книги составляет пару тысяч долларов. Звезды зарабатывают больше, но таких мало. Издатели платят переводчикам несколько сотен долларов за книгу, это маленькие деньги. Бюджетов, чтобы спонсировать что-то существенное кем-то неизвестным, у издателей нет.
Параллельно со мной общалась менеджер из Udemy и предлагала сделать свой курс. Я решил посмотреть в эту сторону. И, собственно, с этого момента начинается мой рассказ.
Консультации по карьере
Мне казалось, что курсы — это нечто такое цельное и хорошо проверенное. Не все, которые есть — но в целом. У меня был небольшой опыт общения с разными школами, но у меня дети и иногда хочется в отпуск. Так что после работы куда-то выезжать нет возможности, поэтому я обычно отказывал, и на этом все заканчивалось. Финансовая модель школ выглядит не так уж круто. Представьте, что вы после работы станете ездить на другой конец города и в течение нескольких месяцев преподавать людям. Посчитайте почасовую ставку программиста — и получите сумму, которую могли бы получать, просто продолжая сидеть в офисе. Многие школы не имеют бюджета на преподавателя-практика. Курсы по Python вполне может вести бывший студент курсов по Си этой же школы, с тремя месяцами опыта работы по программе, скопированной с сайта другой школы. И это не выдуманный пример.
Это сильно отрезвляет.
Я совершенно спонтанно записал видео — разбор резюме и собеседования на позицию начинающего разработчика со знакомым, и оно сильно взлетело. А потом встретился еще с несколькими выпускниками разных курсов, которые согласились пообщаться лично. То, что я узнал, вызвало недоумение, и мне захотелось разобраться лучше. Так начали складываться части пазла, хотя в целом картина еще была непонятна.
Мне было интересно узнать, какие вопросы возникают у тех, кто интересуется обучением в принципе, и я предложил записаться на консультации по карьере. То есть провести тестовое интервью и ответить на вопросы собеседников. Открыл свой календарь для записи через простую формочку — и созванивался с людьми каждую неделю во вторник и четверг несколько недель подряд. Я провел около 30 интервью с разными людьми. В большинстве своем, это открытые и честные ребята, которые хотят свободы, счастья и стабильности. Это не ленивые и глупые монстры, какими их любят выставлять в комментариях. Я могу рассказать множество историй людей, которые честно делали свою работу, а потом утыкались в полоток в своей профессии и понимали, что перспектив нет. Они трезво смотрят на жизнь и готовы меняться. Не во всех отраслях есть перспективы. В айти ситуация получше. Но я говорю не об отрасли в целом, а конкретно про деньги, уровень риска и стабильности.
На айтишных сайтах культивируется негативный образ вайтишника, но он отражает только часть картины. Да, на собеседования приходят люди, некоторые плохо выполнили домашнюю работу. И они действительно запоминаются лучше всех. Собеседование даже для профессионала — это стресс. Для новичка же — это стресс в кубе. Люди, которые проводят интервью, не всегда вежливые и понимающие. Вместо того чтобы поддержать соискателя, начинают самоутверждаться через него и загонять в еще больший стресс. Можно долго разбираться, почему плохие интервью проходят плохо. Но так или иначе, они запоминаются, а потом формируют образ неучей.
Курсы, которые окончили некоторые из моих собеседников, были недостаточно качественными, по их собственным словам. Во время бесед мы разбирали базовые вопросы из тех, что задают джунам, и часть собеседников, окончивших платные курсы, не могли ответить на них. Такова ситуация на рынке до пандемии.
Можно ли научиться онлайн
Пробуя себя в качестве преподавателя, я обратился к нескольким компаниям с предложением о партнерстве. И пара мне ответили. Например, одни разработчики софта для программистов предложили бесплатно получить их программы. Я им очень благодарен за поддержку, но предпочитаю другой софт.
Неожиданно откликнулся Яндекс. Да, я знаю, какой у компании имидж, поэтому очень аккуратно вышел на переговоры с их представителем. Руководитель Яндекс.Практикума меня очаровал, это умный и приятный задрот в лучшем смысле этого слова. Он верит, что образование может поменять что-то в этом мире к лучшему. И в течение нескольких месяцев я сделал для них свою часть образовательного курса по Python.
Самое интересное здесь — понять: можно ли действительно научить людей программированию онлайн? Если вам этот вопрос кажется праздным, то передо мной он стоял остро. Инфобизнес сформировал стойкий привкус обмана вокруг любого образования. С другой стороны, многие мои знакомые проходили курсы на Курсере и остались ими довольны. По себе судить я не стал.
Я считаю, что программирование — это ремесло. Да, тут есть место шедеврам и виртуозам. Но в целом автоматизировать вещи может практически любой здравомыслящий человек при должной подготовке. Ближайшая аналогия — вождение автомобиля: когда-то они были дорогими, и водители ездили в лакированных картузах и белых перчатках. Сейчас есть крутейшие гонщики, но более-менее управлять авто для решения собственных задач может каждый. Сделать скрипт и пару формочек для проверки введенных данных тоже может любой человек.
Совсем другое дело — брать ответственность за проект и выбирать это своей профессией. Но эта ответственность лежит на самом человеке, а не на преподавателе. И задача преподавателя в этом случае — просто делать свою работу хорошо.
Когда я наконец-то увидел код, написанный студентами курсов, которые я помогал создавать, то был искренне поражен. Есть «курсы с нуля», которые проворачивают такой трюк: находят ребят, сильно сомневающихся в себе, но долго учащихся самостоятельно. Отбирают на начальном тестировании тех, кто уже достаточно готов. Читают что-то полтора месяца в стиле «выучи программирование за 21 день», а потом присваивают себе успехи студентов.
Я же видел код, который писали ученики после первых этапов. И потом — код, который они же писали после прохождения лекций. Это был хороший и стабильный код, не хуже того, что встречается в разных компаниях. И это спустя четыре месяца с начала обучения! Прежде всего, говорю о своей фазе курса «Практикума». То есть люди действительно показали крутой прогресс.
Этот факт меня очень обрадовал и воодушевил.
Чего хотят работодатели
Сейчас я уже понимаю, что для того чтобы выучиться, нужны две вещи: получать от этого удовольствие и регулярно этим заниматься. Я получил практическое подтверждение того, что обучение само по себе работает.
Осталось найти ответ на второй главный вопрос: как студенту после окончания учебы устроиться на работу?
Надо прояснить один момент: вакансии есть, их много, и они закрываются не за один день. Есть компании, у которых существуют позиции для начинающих разработчиков. Но судя по аналитике Джина, огромная пропасть между теми, кто уже написал в своем резюме, что он джун, и теми, кого на самом деле ждут работодатели. Отзывов на вакансии очень много.
Поэтому возник еще один исследовательский проект. Мне повезло получить доступ к этому исследованию, пусть в необработанном виде. В документе были стенограммы опросов
Так была сформирована карта навыков, которые ожидались от соискателя. Я подробно расписал каждый пункт, и получилось больше 7 месяцев обучения без больших перерывов с лимитом времени 5 часов в неделю.
В этот момент стало понятно, что мой учебник, с которого я начал, отвечает лишь небольшой части реальных требований рынка. И я принялся составлять новую карту развития:
- Синтаксис языка
- Фреймворки
- Базы данных
- Портфолио
- Софт-скиллы
Если вам интересно почитать обо всех пунктах подробнее, то просто заходите на сайт, там есть описание каждого.
Это был поворотный момент, в который стало понятно, какой объем информации нужен, чтобы честно выполнить свою работу обеим сторонам:
- ученику, который хочет устроиться на работу и приносить пользу работодателю;
- преподавателю, который готовит студентов.
Теория обучения
Причина, по которой получилось у Яндекса, мне была не совсем понятна. Поэтому я обратился к теории обучения и когнитивистике. Мне очень помогли два близких человека.
Конечно, это моя жена, которая бесконечно верила в меня и мягко напоминала, что этот весь путь я проделываю не только для себя. В процессе решения собственных задач она увлеклась когнитивистикой и подсказывала очень много полезного, что сильно повлияло на продукт. Благодаря ей после каждого урока мы добавили по небольшому опроснику. Оказывается, наш мозг устроен так, чтобы отфильтровывать всю поступающую информацию: она кладется в «быструю» память, чтобы не тратить ресурсы на то, что потом не будет иметь никакой ценности. Но если по пройденному материалу задать хоть один вопрос, то мозг пропускает вопросы через «долгую» память. Такой простой трюк приводит к тому, что мозг запоминает материал на пару десятков процентов лучше. Любой, даже простой вопрос. И таких нюансов множество.
Мой папа был учителем, но мы никогда особо не обсуждали мой проект. Да я и не совсем представлял все детали. В марте у папы случился инфаркт, его положили в больницу. И он несколько дней ничего не говорил, чтобы нас не пугать. Плюс еще пандемия, а мы ждали рождения дочки. Как только я узнал о его состоянии, сразу же приехал в больницу, и мы смогли некоторое время пообщаться в палате. Я рассказал о том, чем сейчас занимаюсь. Сказал, что мне не совсем понятно, как вообще работает обучение и есть ли у меня какие-то особые навыки — или преподавать может любой студент, который взял в руки учебник. Папа дал мне ответы на эти вопросы.
С точки зрения теории обучения, для того чтобы выработать навык, нужно 3 компонента:
- Теория. Это то, что подается в учебниках, и то, что, оказывается, не является самой важной частью обучения. Это необходимо, но ценности представляет столько же, сколько и распечатка документации.
- Практика. Вот это уже интереснее и важнее, и самая большая проблема онлайн-курсов — в том, что почти нигде нет практики.
- Экспертиза преподавателя. Это те люди, которые знают, куда ударить молотком, и которые прошли большой путь и могут отбросить лишнюю теорию или направить практику в нужном направлении.
Этот ответ дал мне последнюю часть пазла. Помимо моих ценностей и миссии, важным еще оказался и мой опыт работы. А что добавить в программу, я уже знал.
Через день папы не стало. Поэтому я много раз прокручивал этот разговор в голове.
Постепенное погружение
Еще на этапе написания учебника я знал, что людей прежде всего интересует, как перейти к практике и как применять инструменты программирования. В одном волонтерском проекте я работал с девушкой, которая скачала какой-то курс и не могла продвинуться по нему. У нее были проблемы с тем, чтобы просто запустить код из редактора. Оказалось, в ее коде какие-то простые ошибки в синтаксисе. Новичку может быть сложно разобраться с такими вещами.
На человека без опыта сразу обрушивается множество требований. Надо установить и настроить кучу непонятного софта, и везде свои детали, которые могут привести к ошибке. Ученику может быть очень сложно начать. И я сразу решил, что лучше дать ему позитивный опыт написания кода, а потом уже переносить рабочее место на личный компьютер. Если ходить на оффлайновые курсы, то там предоставят компьютер. Но цена — ездить на обучение куда-то только ради этой помощи — слишком большая. Да и работать вы все равно будете на своем личном компьютере.
Поэтому у меня сразу было требование: иметь онлайн-тренажер, который позволяет выполнять код в браузере.
Я провел исследование разных образовательных систем и понял, что на рынке нет того, что мне надо. Поэтому почти сразу начал писать свою LMS (движок образовательного проекта). С тренажерами, домашними работами и разными вещами.
Что еще надо, чтобы устроиться на работу
Основной вопрос большинства людей — возьмут ли их на работу. И тут возникает интересный конфликт. Джунов не берут на работу, в том числе потому, что они не совсем понимают, как работать в команде, а не понимают, потому что не работали в команде.
Сейчас мне это кажется очевидным, но я ни разу не видел в программах обучения курсов уроков о том, как работать в коллективе. Как проходить собеседование или просто банально отстаивать свои границы. Мне бы хотелось работать с людьми, которые понимают такие вещи, поэтому я включил много софт-скиллов в свою программу обучения.
Одной из частых рекомендаций экспертов является предложение сделать несколько проектов на Github. Каждая ступень заканчивается практическим проектом и новым пунктом в портфолио.
Итог
Моя особенность в том, что я стараюсь все делать с большим погружением. Возможно, иногда это излишне, но пройдя этот путь, понимаю, что создание курсов — не такое простое дело, как кажется. Может быть, я слишком перемудрил. Сейчас определенно некоторые вещи сделал бы иначе, но я пока не на той стадии, чтобы давать советы по обучению.
Есть известное выражение: бизнес-консультации дают те, у кого не получилось построить собственный бизнес. Но это сильно обесценивает. Обесценивает те вещи, которые представляют угрозу. Не пытаюсь встать на защиту других школ или инфо-цыган, но тем не менее, присмотревшись к другим, я вижу, что преподаватели вкладываются — каждый по-своему. Врать окружающим сложно, и преподаватели действительно верят в то, чем делятся. Да и обратная связь прилетает очень быстро. Скорее, стоит задумываться о том, что много спроса на магию, а не на реальные навыки.
Лучший способ выйти из зоны комфорта — начать продавать. Это действительно больно — и, честно говоря, не рекомендую. Но если решитесь, то готов подсказать, что уже знаю.
Тем, кто решает, что лучше: «бесплатные» книги, торренты или платные курсы — скажу, что EdTech часто решает вопрос, как создать ощущение прогресса, а не обеспечить реальное продвижение. Это как лекарство, снимающее симптомы, чтобы подольше продавать услугу. Но для тех, кто готов развиваться, плохие учителя или системы не являются препятствием. Например, Курсера не дает практику, но студенты все равно получают знания и гордятся сертификатами.
Можно самому изучать теорию и искать практику. С третьей частью обучения — наставниками — сложнее. В теории, можно ходить на выступления или митапы. Но это ощутимо затратнее с точки зрения времени. Те, кто купят обучение, скорее всего, справятся быстрее — и займут ваше место, пока вы будете читать учебник.
Образование — это сервисный рынок: платите только тогда, когда получаете сервис. Отдельно информацию в отрыве от остального найти как раз несложно.
Надеюсь, мои наблюдения вам помогут.