Привет!

31-го января начинается новый поток нашей школы Metaclass по курсам начинающего бэкендера и фронтендера.

Для нас это особенно важно, ведь эти курсы мы впервые запустили еще в 2018 году и с тех пор проводим каждые полгода. Каждый поток собирает сотни человек, из которых до конца доходят самые сильные. Для нас это прямой поток потенциальных стажеров, а для студентов — отличный способ прокачаться, погрузившись в реальную практику.

Мы поймали одного из наших стажеров, который прошел курс «Начинающий Backend-разработчик», и подробно расспросили: с какими знаниями пришел на курс, что было сложно, какая главная польза получилась от обучения?

Приглашаем ознакомиться всех, кому интересны наши курсы: интервью с Сергеем Ординым.

Содержание:

  1. Об опыте программирования до школы

  2. Как узнал про школу и почему решил учиться

  3. Что в учебе было сложным

  4. Сколько времени отнимали занятия

  5. Об обратной связи от преподавателей

  6. О чувстве новых знаний...

  7. ...и насколько легко они давались

  8. Сколько навыков из курсов удалось применить на практике

  9. Что изменилось после обучения

  10. Как изменилась карьера

  11. Что больше всего понравилось в школе

  12. О новом потоке

Об опыте программирования до школы

Я начал программировать с поступления в университет. За первые два курса универа успел изучить языки программирования C# и C++. Сейчас я студент 3-го курса, и в прошедшем осеннем семестре у нас было немного фронтенд-разработки на JavaScript. 

Но основной практический опыт я получил, поступив на программу «Технополиса». Это проект mail.ru наподобие «Технопарка». В основном там обучают на Java-разработчиков. На 1-м курсе я записался на открытый семестровый курс «Введение в Java».

На 2-м курсе в рамках некоторых университетских математических дисциплин я немного увлекся Data Science. Поэтому решил изучать Python, проходил разные курсы по DS, но в какой-то момент понял, что хотелось бы поработать бэкенд-разработчиком и наработать навыки программной инженерии, проектирования архитектуры, основ построения веб-приложений. Летом на 2-м курсе плотно начал проходить курсы по Python. Я проходил их на платформах Stepik, Coursera.

Как узнал про школу и почему решил учиться

Летом я проходил курс «Погружение в Python» на Coursera и дошел до раздела по асинхронному и параллельному программированию. 

Вскоре я понял, что материалов курса мне не хватает. Начал гуглить и нашел статью на Хабре об aiohttp. В ней я прочел о наборе студентов на курс «Начинающий бэкенд-разработчик на Python». 

Мне понравилась программа курса, она включала асинхронный стек программирования на Python. До этого я немного работал с Django, но полноценная асинхронность там пока не реализуется. Мне показалось, что такой стек Python современнее и более востребован. Поэтому решил пройти курс KTS — подал заявку и поступил.

Пример структуры курса

Что в учебе было сложным

После работы с Django я частично представлял, как в целом строится архитектура веб-приложений, какие есть бэкенд-технологии. Сложность заключалась в изучении нового для себя материала. 

Например, сложности поначалу возникали с пониманием асинхронного программирования. Приходилось много гуглить, чтобы разобраться. Я даже пробовал писать свой Event Loop, чтобы понять, как это все работает «под капотом». 

Другими новыми технологиями для меня были асинхронные библиотеки. В Интернете по ним очень мало материала, например, на stackoverflow тоже было мало информации. Спасали официальные репозитории на Github, где были тесты для кода и приведены некоторые примеры кода. В конце концов, со временем я во всем разобрался и к середине курса уже хорошо понимал, что происходит.

Сколько времени отнимали занятия

Информацию мы получали в текстовом виде. С теорией я знакомился быстро, а все основное время уходило на решение домашних заданий. Поток начался в августе, поэтому времени было достаточно. Но и во время учебы совмещать было по силам.

С учетом всех разборов теории я тратил на задания от 1 до 3 дней.

Пример карточки

Об обратной связи от преподавателей

Я нечасто писал преподавателям и старался разбираться сам. Если не мог, гуглил. Пару раз я задавал вопросы, и отвечали на них достаточно быстро.

Надо сказать, что очень помогало другое — общий чат потока. Ребята, начавшие делать задания раньше меня, уже задавали вопросы, и в чате были ответы от менторов. Поэтому я находил много подсказок в общей беседе курса.

О чувстве новых знаний ...

Могу точно сказать, что курс очень помог прокачать навыки. 

В первую очередь, я понял стек, который был на курсе, и на котором работают в компании. Раньше повода изучать его не было, поэтому и знаком я с ним не был.

Кроме технологий давали еще и базовые знания — сети, основы тестирования, базы данных, немного проектирования. В этих областях у меня уже был некоторый университетский опыт. Эти знания я скорее закреплял, что тоже было полезно.

… и насколько легко они давались

Поскольку вся информация давалась в виде текста на учебной платформе, конспектировать ничего не приходилось. Если нужно было что-то вспомнить, я смотрел либо на платформу, либо в документацию. 

Еще иногда приходилось смотреть лекции с прошлого потока. В них в устной форме объясняли все буквально на пальцах. Эти лекции тоже оказались очень полезны, потому что в устной форме все воспринималось легче. 

Когда я говорю про «базовые знания», имею ввиду такие вещи, как углубленная концепция Python, GIL, как устроен интерпретатор CPython. В рамках ДЗ приходилось, конечно, разбираться глубже, изучать новые технологии, библиотеки, смотреть на примеры разработчиков в официальных репозиториях GitHub.

Не могу сказать, что все было легко, но со временем понимание приходило.

Сколько навыков из курса удалось применить на практике

Сейчас все будущие проекты я планирую делать на стеке, который изучил на курсе. Этих знаний вполне достаточно, чтобы писать свои высоконагруженные приложения.

Конечно, для этого не хватает еще ряда технологий, нерассмотренных на курсе, — работы с очередями, кэширование и т.д. Но такие вещи можно погуглить самому. Главное — понять в целом, как устроен бэкенд.

Сейчас я пользуюсь всем, что давали на курсе. Это основной минимум, который нужен каждому бэкенд-разработчику.

Что изменилось после обучения

Многое, но в основном — карьера.

Еще я почувствовал, что овладел новыми знаниями и получил реальный практический опыт, потому что за время курса нужно было самостоятельно разработать достаточно большое приложение. 

Это сильный полезный опыт, которым я очень доволен.

Как изменилась карьера

После окончания части курса мне написала HR KTS. 

Я прошел собеседование, получил предложение и сейчас тут и работаю бэкенд-разработчиком. По-моему, это самый важный результат от курса.

Что больше всего понравилось в школе

Модель обучения студентов.

Все было автоматизировано и очень практично. Мы постепенно делали реальный проект. Задания декомпозированы так, чтобы в итоге прийти к единому результату. 

Еще оказались полезны видеоразборы. Даже если студент что-то не понимал, до конца дедлайна можно было посмотреть разбор и успеть кое-где подтянуть гайки. 

В GitHub была настроена CI/CD конфигурация, так что при пуше все автоматически проверялось через Github Actions. Это было очень круто само по себе, но еще было интересно попробовать разобраться, как это работает. На момент курса у меня были практически нулевые знания по девопсу, и так я немного познакомился с этим направлением.

О новых потоках

Новые потоки запустим в августе 2023. Почитать программу курсов и записаться можно по ссылкам:

Начинающий Backend-разработчик
Начинающий React-разработчик

Чтобы не пропустить старт бесплатной школы, вступайте в наш Телеграм-чат:
https://t.me/kts_dev

Приходите!


Другие интервью с нашими студентами-выпускниками:

Статья о том, как мы разрабатывали систему проверки студентов:
От тестов до IDE в браузере: как мы разрабатывали систему проверки студентов для онлайн-школы