Можно учиться на программиста — и при этом чувствовать растерянность. Лекции не помогают, домашние задания вызывают стресс, а мысли всё чаще возвращаются к вопросу: «А точно ли это моё?». Именно через это прошёл Максим Шапошников, Applied Scientist в FAANG и автор телеграм-канала max.sh. Всё изменилось, когда он открыл для себя Stepik.
Платформа прошла с ним весь университетский путь: от алгоритмов и теории вероятностей до первых собеседований и продакшн-кода. Сейчас Максим задумывается о том, чтобы вернуться на Stepik уже в роли преподавателя.
В этой истории он рассказывает, как Stepik стал его опорой в обучении — и как это повлияло на карьеру.
Моё знакомство со Stepik началось в 2015 году — как раз в тот момент, когда платформа начала бурно развиваться, наполняясь первыми MOOC-курсами. Тогда я тогда поступил в университет — и с этого момента Stepik буквально стал моим постоянным спутником. От экзаменов до первых стажировок, от практических коротких вечерних курсов до многомесячных образовательных марафонов. Это тёплые воспоминания — и про них есть, что рассказать.
Как всё начиналось
Моё первое знакомство с программированием в университете началось с курса по алгоритмам и структурам данных — классика для любого студента CS-специальности. И это было непросто.
Лекции казались устаревшими, объяснения — скомканными, а заданий было много. Рекурсия, деревья поиска, очереди с приоритетом... Всё это обрушилось сразу, и я впервые всерьёз задумался: а ту ли профессию выбирал? Почему так тяжело? Почему ничего не понятно?
Синдром отличника, конечно, не исчез после школы. Хотелось понимать всё, но не было ни структуры, ни направления. Тогда мне повезло — я нашёл Stepik. Именно в тот момент на платформе запустили первую итерацию легендарного курса Алгоритмы: теория и практика. Методы от CS центра.
Я попал на его запуск. Новые модули открывались постепенно, преподаватели были активны в комментарии, слайды и материалы дорабатывались по ходу курса — всё было живое и настоящее. А главное — то, что нужно.
Можно было пересматривать лекции в своём темпе, тавить на пауз, замедлять воспроизведение до 0.5х. Читать обсуждения, искать дополнительные материалы, задавать вопросы. И, конечно, — решать задачи прямо на платформе с автоматической проверкой. Тогда это казалось просто «Вау». Пишешь код, запускаешь прямо в браузере и сразу видишь.
Старт был тяжёлый: я совмещал курс на Stepik университетскими парами, и времени уходило вдвое больше. Но к середине семестра всё изменилось. Что-то щёлкнуло, и мне стало проще разбираться в новых темах, появилось ощущение уверенности. Я начал получать удовольствие от алгоритмов — они больше не страшили. Уверен, что сейчас на платформе можно найти ещё больше курсов на схожую тематику. Глубже, структурнее и разнообразнее, для каждого уровня и интереса.
Stepik меня по-настоящему очаровал. Я стал возвращаться снова и снова, , чтобы пройти ещё один «степ», решить ещё одну задачу. Учиться стало интересно. А главное — гораздо продуктивнее.
Почему Stepik стал моим «учебником Принца-полукровки»
Иногда мне казалось, что я нашёл свой собственный «Учебник Принца-полукровки» из Гарри Поттера — только в реальной жизни. В университете я многократно возвращался к Stepik, чтобы найти качественные материалы и спокойно разобраться в сложных темах. Возможность пересмотреть кусок лекции несколько раз — это то, как я действительно воспринимаю информацию. А постепенное решение задач с прогрессирующей сложностью — то, как я по-настоящему учусь. Stepik закрыл обе эти потребности.
Я проходил онлайн-курсы по нужным предметам параллельно с университетскими занятиями. В один вечер я закрывал модуль на платформе, решив десятки задач и усвоив теорию, а уже на следующий день на парах всё казалось простым и понятным. Stepik стал для меня настоящим трамплином: он помогал не просто выжить лекциях и отрабатывать практику, а использовать его для закрепления знаний, не теряясь от количества новой информации.
В таком формате я осваивал самые разные направления:
Про статистику, кстати, у меня, сохранилась отдельная история — особенно тёплая и важная.
Мое первое собеседование в зарубежную компанию
На третьем курсе университета я задумался о своей первой зарубежной стажировке. Тогда было модно подаваться в бигтехи-компании, так называемые FAANG-и. Я отправил заявку на одну из летних стажировок в Лондоне на позицию стажёра по Data Science — и, к моему удивлению, получил приглашение на первое собеседование!
В письме рекрутер предупредила: на интервью будет секция по тестированию статистических гипотез, задача на вероятность и общая дискуссия о статистике. Я запаниковал. Времени на подготовку было мало, тем много, а опыта почти никакого — особенно в статистике.
Тогда я вспомнил о легендарном бесплатном курсе Анатолия Карпова по основам статистики на Stepik. Это оказался именно тот курс, который создаёт у студента мощнейший фундамент: гграмотная структура, постепенное усложнение материала и, самое главное, невероятная доходчивость объяснений. Я сутками напролёт смотрел лекции, конспектировал, решал задачи — и впервые почувствовал радость от того, что понимаю сложную тему. Страх перед статистикой начал уходить.
На собеседовании одним из вопросов был классический пример: как проверить, что монета «честная», если после 10 бросков 7 раз выпал орёл. На курсе мы разбирали похожие задачи, и я чувствовал себя уверенно. Мне было легко рассуждать, объяснять свои мысли и отвечать на дополнительные вопросы, даже когда интервьюер уходил в детали..
Через несколько дней мне сообщили , что я прошёл на следующий этап. Это был мой первый серьёзный опыт — и первый раз, когда я осознал, что Stepik может помочь не только в учёбе, но и готовит к реальным задачам и собеседованиям. Это впечатлило.
Stepik помог выбрать специализацию: я выбрал машинное обучение
На первых курсах университета я точно знал, что хочу программировать, — но куда именно приложить знания, не понимал.. Тогда в IT стремительно росли сразу несколько направлений: распределённые системы, новые веб-фреймворки, фулл-стек инженерия. И, конечно, всё чаще звучали разговоры о таинственном «машинном обучении».
У меня не было чёткого плана, но было желание попробовать. Я начал смотреть курсы на Stepik: выбирал программу по разным темам, проходил модули неделю-две и, если чувствовал, что «не моё», спокойно переключался на другое. Платформа давала такую свободу — пробовать без риска потерять время зря.
Машинное обучение быстро откликнулось. Мне понравилась сама идея связать математику и программирование, обучать предиктивные модели — разве это не круто?
Я прошёл курсы по введению в компьютерное зрение — Нейронные сети от Samsung Innovation Campus , а потом курс по обработке естественного языка (NLP), который вёл Павел Браславский. Сейчас этот курс, кажется, уже недоступен на платформе. Именно на нём я остановился и понял: вот оно. Это то, чем я хочу заниматься.
Мои дальнейшие стажировки и проекты так или иначе были связаны с Natural Language Processing. А сегодня этот интерес привёл меня в мир LLM (Large Language Models) — больших языковых моделей. Модели и технологии меняются, но ключевые концепции, изученные тогда, остаются актуальными.
Stepik и онлайн-курсы помогли мне не просто получить навыки, а попробовать для себя сразу несколько карьерных треков и выбрать тот, который откликается больше всего.
История из работы: как Stepik помог освоить C++ в боевых условиях
Уже много лет спустя после университета, когда работая фулл-таймв сфере машинного обучения, я столкнулся с экстренной задачей. Тогда я тогда был ML-инженером в области синтеза речи, И передо мной поставили цель: интегрировать в продакшн новую модель. Требовалось написать логику запуска (инференса) модели — причём сделать это на C++ внутри старого неповоротливого фреймворка компании.
Проблема заключалась в том, что весь проект был на C++, а я (как и мои коллеги) никогда раньше не писал код на этом языке. Все сущности языка: указатели, ссылки, шаблоны казались страшным сном. А времени было критически мало. Около нескольких месяцев до релиза.
Я вошёл в трубо-режим, как в университете— пошёл смотреть, где можно получить много практики в сжатые сроки. Первая задача: научиться писать простой C++ код и понимать основные структуры языка. Вторая задача: научиться читать продакшн-код на этом языке.
За практикой я снова обратился на Stepik. Прошёл весь путь: от курса по основам алгоритмических задач на С++ до более продвинутого курса по многопоточности.
И это сработало. Я смог написать рабочую версию инференса: код без memory leaks, покрытый тестами и готовый обрабатывать тысячи транзакций в секунду (TPS). Не скажу, что это был самый лаконичный код в мире — но он был надёжным, понятным и работающим. И это было главное.
А что сейчас?
Сейчас находить время для регулярного прохождения курсов сложнее — банально меньше часов в сутках из-за полной занятости. Тем не менее, если в новостях вижу запуск новой образовательной программы, обязательно читаю, сохраняю в закладки и заношу себе в бэклог.
Образование — это непрерывный процесс. Учиться нужно всегда, в любом возрасте.
Если смотреть шире, я всё чаще ловлю себя на мысли: хочется не просто учиться, но и делиться накопленным опытом и знаниями с сообществом. Есть внутреннее желание сделать что-то полезное для платформы. Поучаствовать в её развитии, отблагодарить за то, как она помогла в карьерном плане. И,возможно, совсем скоро я вернусь сюда — уже не в роли ученика, а преподавателя.
А чтобы делиться своими мыслями о технологиях, готовить образовательные посты, делать обзоры статей и фреймворки по LLM-ах, а также рассказывать о карьере ML/Research-инженеров в крупных компаниях, я завёл телеграм-канал @max_dot_sh — буду рад видеть новых читателей.
Всем успехов! Учитесь вместе со Stepik.