Или почему я устал объяснять одно и то же на работе и превратил это в продукт.
Привет, Хабр! Меня зовут Сергей Камянецкий, я разработчик и автор курсов на Stepik. Последние несколько лет я параллельно писал код, преподавал и экспериментировал с форматами обучения. В какой-то момент понял, что преподавание — это тоже проект, просто с другим типом пользователей. В этой статье подробно расскажу, зачем вообще разработчику делать курсы и как системно подойти к их созданию. Бонусом в конце поделюсь советами и инсайтами, если захотите создать свой.
Как всё начиналось
Я всегда так или иначе был связан с образованием. Еще со студенческих лет преподавание шло где-то рядом. Изначально я поступил в Смоленский государственный университет (СмолГУ) на программиста («Прикладная математика и информатика»), но учёба оказалась не такой, как я ожидал: слишком много абстрактной математики и теории, с которой в школе я не пересекался. После года учёбы я решил взять паузу, чтобы понять, чего действительно хочу.
Вернулся уже на специальность «Математика и информатика», и это стало точкой, где программистская часть моей карьеры действительно началась.
Формально я должен был стать учителем, и, похоже, это многое предопределило: с самого начала у меня была тяга объяснять и помогать другим разобраться в сложных вещах. На старших курсах я занимался репетиторством по математике — алгебра, геометрия, в основном, для школьников 7–9 классов.
Ближе ко второму курсу университета я стал серьёзнее интересоваться практическим программированием, которое нужно рынку. Именно тогда, ещё студентом, я начал изучать C#, который стал для меня окном в профессиональную разработку.
На пятом курсе сначала писал под Windows Phone, после выпуска переехал в Москву и перешёл на WPF, а потом ушёл в бэкенд ASP.NET MVC, .NET Core. Со временем ушёл от монолитов к микросервисной архитектуре.
Чистая разработка для меня никогда не была самоцелью. Мне всегда хотелось не просто писать код, а помогать другим осваивать профессию. Поэтому параллельно с основной работой я вёл кружки по программированию, преподавал основы алгоритмизации и разработки для ребят из лицеев и школ. Время от времени выступал как популяризатор программирования на различных конференциях, в том числе участвовал в городских совещаниях департамента образования Москвы. Одновременно развивал собственные компетенции, посещая конференции.

Тогда онлайн-формат был ещё не распространён, поэтому приходилось ездить на мероприятия (что в рабочие дни удавалось делать не всегда легко). Всё это помогало сохранять баланс между технической и человеческой сторонами профессии.
Кажется, именно тогда понял, что мне важно не только решать задачи, но и объяснять, как они устроены.
Первое знакомство с онлайн-преподаванием
Первое знакомство с онлайн-преподаванием началось в 2014 году, когда я начал вести вебинары в проекте, который позже (через два года) стал известен как GeekBrains.
Первые вебинары были по самым простым основам — блок-схемы, JavaScript, базовые браузерные программы. Именно там я почувствовал, что онлайн-формат — не менее увлекательно, чем очное преподавание.
Потом были годы сотрудничества с разными платформами: GeekBrains, Skillbox, Нетологией и другими. Я писал программы, обновлял курсы, преподавал сам и всё это время находился в центре образовательного процесса.

Когда в 2022 году появилась возможность самостоятельно попробовать себя как независимого автора — я сделал свой первый пробный курс. Тогда это была лёгкая математическая история, больше как эксперимент. Позже я снял его с публикации, осознав, что хочу развиваться в другом направлении. Так и возникла идея делать полноценные курсы по разработке — от инструментов и базовых понятий программирования до первых шагов в микросервисах.
Идея курса
Идея курса появилась из наблюдения за тем, как обучаются новички. Я видел, что многие курсы делают опытные разработчики — для них всё очевидно: циклы, ветвления, логика кода. Они просто забыли, каково это быть в начале пути. Или другая крайность — обучение, где всё сводится к HTML и CSS, а подаётся как полноценное программирование. Мне хотелось найти баланс и показать IT изнутри: спокойно, последовательно, шаг за шагом.
Так появился мой курс на Stepik. Он начинается с ориентационного модуля — что вообще есть в IT, какие направления существуют, кто чем занимается.
Далее я знакомлю учеников с Visual Studio Code — базовым инструментом разработчика, показываю настройку и лайфхаки.

Потом мы плавно переходим к Markdown, немного работаем с LaTeX, затем изучаем HTML и CSS, осваиваем Git и GitHub.
Лишь после этого начинается то самое программирование на языке JavaScript, и дальше по нарастающей идёт C#, базы данных, архитектура и даже немного DevOps'а.
Я постарался сделать логичную эволюцию от «Hello, world» к реальной разработке.
Главная цель была проста: делиться знаниями и помогать другим осознанно входить в профессию. Не стремиться ни к личному бренду, ни к денежной выгоде, ни к поиску аудитории.
Всё, что делаю, — стараюсь быть полезным и делиться 12+ годами опыта в разработке и взаимодействия с индустрией.
Помню, самые первые вебинары в GeekBrains давались непросто — всё новое, камера, общение со слушателями, техника ведения беседы, классическое «если слышно, ставьте плюсик в чат» и вот это всё. Со временем это стало естественной частью моей работы.
Онлайн дал гибкость и масштаб: возможность рассказывать не десяти студентам в аудитории, а тысячам людей, объединённых одной идеей. И, пожалуй, именно это ощущение — когда твои знания действительно помогают другим — самое ценное в профессии.
Первые шаги
Всё началось спонтанно, без маркетингового планирования и тестирования аудитории. У меня не было базы подписчиков или ожидающих студентов, и никто вокруг даже не знал, что я собираюсь делать свой первый курс. Я просто хотел собрать системный продукт таким, каким сам бы хотел видеть обучение, когда начинал. Поэтому спрос я не проверял, а просто начал делать. Так появился мой курс «C#, JS: Войти в IT через Fullstack-разработку».

Сначала я задумал глобальную программу, где студент выбирает язык — JavaScript, Python, C#, Java, или даже C++. Хотел показать, что принципы программирования универсальны. Но вскоре понял, что на Stepik невозможно реализовать механику разветвляющегося сюжета вроде интерактивной серии «Чёрного зеркала». Пришлось полностью пересмотреть концепцию.
Я добавил модули по VS Code и Git, а чтобы студентам было проще сориентироваться, — вводный блок о ролях в IT: где разработка, где управление, где инфраструктура. Потом вставил практичное звено между инструментами и языками — модуль по Markdown. За ним логично появились HTML и CSS, а дальше выстроилась лестница перехода к JavaScript и C#.
Многие идеи возникали буквально на ходу. Когда я болел и две недели не мог записывать скринкасты, спроектировал будущие разделы по React и теориям API. Постепенно отказался от первоначальных Python/Java/С++ в пользу более прикладных направлений. Позже добавились SQL, базы данных, Entity Framework Core и даже мини-блок с Docker и развёртыванием проекта — чтобы курс завершался полноценным fullstack-приложением, которое действительно не стыдно показать.
Самое сложное — не в технической части, а в методике: сделать курс так, чтобы студент не потерял мотивацию по ходу. Поэтому я добавил короткие «встречки» — разговорные видео с личными историями, фейлами и поддержкой. Эти вставки оказались очень ценными — комментарии студентов это подтверждают.
Поворотный момент
Изначально курс был скорее личным проектом. Но однажды я увидел рекламу LMS с предложением создать свой курс, и случайно попал на вебинар для новых авторов. После него поймал себя на мысли: а почему бы не попробовать?
Просмотрев еще раз возможные платформы — выбор снова остановил на уже упомянутом выше Stepik, который показался единственной платформой с живой аудиторией (судя по отзывам и кол-ву учащихся) и хорошей инфраструктурой, где можно сосредоточиться на содержании, а не рекламе. Плюс у меня уже был негативный опыт самостоятельного запуска в 2018 году: закупка трафика, вебинары-продажи, сотни тысяч рублей вложений и ноль конверсий.
Так и появился мой первый курс, но первое время я не воспринимал его всерьёз. Просто опубликовал, добавил описания, и не ожидал особого внимания к нему. Но в июне-июле всё поменялось: пошли первые продажи, первые комментарии и, главное, отзывы. Появилось чувство, что мой подход действительно откликнулся аудитории.
За первый месяц, май 2024-го, курс принёс около двадцати тысяч рублей — немного, но для проекта без рекламы, аудитории и вложений это было уже интересно. В июне команда Stepik провела ревью и предложила повысить стоимость — после этого доход вырос почти до девяноста тысяч. Вот тогда я впервые понял, что это реально работает.
Я дополнил программу — добавил около пятнадцати часов нового контента, расширил курс и что-то обновил/переделал. Постепенно курс превратился в полноценный путеводитель по профессии: от знакомства с ролями в IT до деплоя fullstack-приложения на сервер.
Испытание монтажём
Когда я работал над первым курсом, объём исходников быстро вырос: в финальной версии получилось 35 часов готового контента, хотя изначально было около 70 часов записей. Это съёмки с веб-камеры в двух планах, скринкасты и две звуковые дорожки — всё нужно было аккуратно свести, синхронизировать и вычистить.

Я очень внимательно отношусь к обработке звука. Для меня недопустимы вздохи, скрипы, ахи, щелчки клавиш и длинные паузы с тишиной в финальном видео. Каждый ролик стараюсь довести до идеала, и именно эта часть работы занимает больше всего времени.
Позже я открыл для себя ребиндинг клавиш в Final Cut и настроил горячие сочетания под себя — монтаж стал заметно быстрее. Но постобработка остаётся самым ресурсоёмким этапом: технически это мой главный вызов.
Критика и хейт — это отдельная история
В 2021 году я сделал большой курс по паттернам проектирования на YouTube и столкнулся с жёсткой критикой. Тогда я не умел работать с негативом: сначала игнорировал, потом удалял комментарии и банил авторов. В итоге понял, что не хочу тратить на это силы — и ушёл с платформы.
На Stepik всё было иначе: платные курсы редко вызывают бессмысленный негатив. Если замечание по делу — исправляю материал, и конструктив всегда ценю выше похвалы.
Первый, он же самый большой отзыв написал Кирилл. В чате с командой Stepik тогда пошутили, что это, пожалуй, самый длинный отзыв в истории платформы. С тех пор было много тёплых слов, но именно этот отзыв стал для меня символом благодарного и требовательного студента, который прошел путь и смог сформулировать ценность. Для автора это дорогого стоит.

При создании курсов для новичков я уверен в своих силах — умею объяснять основы и выстраивать правильную логику обучения. А вот на продвинутых курсах, особенно по архитектуре и микросервисам, иногда появляется сомнение, когда на курс приходят разработчики на C# с многолетним опытом. Тогда я опасаюсь не оправдать ожиданий.
В таких случаях предлагаю возврат и новый формат — бесплатное мини-интервью перед покупкой, чтобы понять запрос. Это помогает направить новичков на базу, а опытных разработчиков — в сторону продвинутых тем или консультаций.
Настоящее и будущее
Сейчас у меня 14 курсов, и это уже не пилот для себя, а стабильный продукт с живой аудиторией — больше тысячи студентов. Для кого-то это немного, но для меня важнее качество вовлеченности и обратной связи.
Был довольно со стороны смешной, но для меня важный момент. В профиле преподавателя есть счётчик подписчиков, и до тысячи там честно висит число «меньше 1k». А вот когда переваливает за тысячу, появляется «>1k». Для меня эта визуальная отметка стала настоящим щелчком — как будто стало легче дышать. Не потому что цифра магическая, а потому что она отражает факт: курс и подход реально нашли свою аудиторию.
Атмосфера на курсе рабочая и доброжелательная: токсичности нет, хейта — тем более. Если где-то встречаются дизлайки — обычно это сигнал, что формулировку задания стоило уточнить, и я оперативно правлю.
Экспериментировал с тяжёлым курсом по CQRS/Event Sourcing — он оказался, как мне показалось, либо слишком высоким порогом для широкой аудитории, либо формат текстового курса для сложной темы не зашёл, плюс я попробовал иной формат (короткое вводное видео + код в тексте), и он зашёл хуже классических пошаговых скринкастов. Выводы сделал.
По дорожной карте — укрепляю C#-трек до уровня уверенного мидла, чтобы переход от джуна к уверенному мидлу был реальным, а не декларативным.
Рассматриваю отдельный трек по Java c микросервисами; думаю о Python-ветке, но осторожно — с прицелом на реальные сценарии. И есть давняя идея большого курса по математике: закрыть базу, которой часто не хватает разработчикам даже с опытом.
Советы и рабочие приемы из практики
Если вы только думаете о запуске курса, то мой совет: сделайте как-нибудь и сделайте платно. Не пытайтесь сразу собрать идеальный продукт — это ловушка, которая убивает скорость и мотивацию. Соберите минимально рабочий курс на 2–3 часа, выпустите, получите обратную связь, доработайте.
И второй принципиальный момент: не начинайте с бесплатных курсов, если нет платной версии. Бесплатное редко конвертится в устойчивую модель — ценность формируется там, где есть ответственность с обеих сторон. На что также рекомендую обращать внимание:
1. Звук и читабельность. Нормальный микрофон, чистка дыхания/шумов, 1080p скринкасты, крупный шрифт. Экран так, чтобы комфортно читалось 15–25 строк кода/текста.
2. Темп и монтаж. Убирайте наблюдение за печатью, ускоряйте рутины, оставляйте мысль и результат. Студент должен работать с задачей, а не смотреть, как набираются символы.
3. Поддержка и обратная связь. Комментарии — это часть продукта. Оперативные ответы удерживают и повышают ценность курса.
4. Уровень аудитории. Если курс для новичков, говорите простым языком и ведите по шагам. Если для практиков — меньше общих слов, больше предметных решений и ревью.
5. Инкрементальность. Курс — это не монолит на века, а серия релизов. Сначала MVP, потом расширения по реальным запросам.
6. План «20 коммитов — запись скринкаста — 20 коммитов — запись» предотвращает бесконечные переписывания и даёт естественную модульность уроков.
7. Каждая задача — сначала постановка в видео, затем разбор в отдельном видео. Это снижает порог входа и экономит время поддержки.
8. Перед релизом включите свои ролики на скорости x1.5–x2 и послушайте, не сыпется ли речь. Дайте посмотреть ещё одному человеку и спросите, купил бы он это.
9. Измеряйте время: 10 минут итогового урока обычно требуют 30–40 минут подготовки/записи/чернового монтажа. Планируйте это честно.
10. Не раздувайте «Hello, world». Новичкам важнее законченная маленькая практика, чем час наблюдения за печатью.
11. И ещё о мотивации. Внешняя похвала приятна, но курсы вытягивают внутренней дисциплиной автора курса: дневная квота (кол-во работы в день), быстрые релизы, работа с комментариями. Страх уходит, когда у курса появляется первая версия, пусть несовершенная. Дальше — итерации, рецензии, улучшения. Главное — стартовать и доводить каждый маленький кусок до публикуемого состояния.
Спасибо всем дочитавшим! Готов ответить на вопросы в комментариях, если такие имеются.