Привет!
31-го января начинается новый поток нашей школы Metaclass по курсам начинающего бэкендера и фронтендера.
Для нас это особенно важно, ведь эти курсы мы впервые запустили еще в 2018 году и с тех пор проводим каждые полгода. Каждый поток собирает сотни человек, из которых до конца доходят самые сильные. Для нас это прямой поток потенциальных стажеров, а для студентов — отличный способ прокачаться, погрузившись в реальную практику.
Мы поймали одного из наших стажеров, который прошел курс «Начинающий Backend-разработчик», и подробно расспросили: с какими знаниями пришел на курс, что было сложно, какая главная польза получилась от обучения?
Приглашаем ознакомиться всех, кому интересны наши курсы: интервью с Сергеем Ординым.
Содержание:
Об опыте программирования до школы
Я начал программировать с поступления в университет. За первые два курса универа успел изучить языки программирования 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
Приходите!
Другие интервью с нашими студентами-выпускниками:
Сменить профессию и не сойти с ума: интервью с выпускником курса «Начинающий Backend-разработчик»
Курсы дали больше университета: интервью с выпускником курса «Android-разработчик»
Статья о том, как мы разрабатывали систему проверки студентов:
От тестов до IDE в браузере: как мы разрабатывали систему проверки студентов для онлайн-школы