Как стать мидл python-разработчиком за полгода: опыт выпускников Практикума

В июле 2020 года Яндекс.Практикум запустил курс для бэкенд-разработчиков, которые хотят улучшить свои навыки, а не учиться с нуля — «Мидл python-разработчик». Что происходит с выпускниками, когда они завершают обучение и получают диплом? Достаточно ли знаний, полученных на курсе, чтобы претендовать на позицию мидла?

Мы поговорили с выпускниками первых наборов, которые получили офферы практически сразу после защиты дипломных проектов, и выяснили, насколько сложно было учиться и что помогло быстро найти работу. А ещё спросили у тимлидов и эйчара нанимающей стороны, как они видят выпускников Практикума и насколько те готовы к реальным задачам.

image-loader.svg

Немного о курсе и дипломах


Курс для мидлов-питонистов рассчитан на полгода. За это время студенты успевают изучить популярные фреймворки, попробовать асинхронное программирование, разобраться с чувствительными данными, UGC и системой уведомлений. В качестве финального проекта студенты должны написать сервис для онлайн-кинотеатра: биллинг, рекомендательную систему или голосовой помощник.

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

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

Мы собрали истории студентов, которые трудоустроились меньше чем за месяц после защиты диплома. У некоторых до курса не было коммерческого опыта разработки на Python, но при этом у них получилось пройти технические собеседования.

Многие первые выпускники устроились в «ЦИАН» — на защитах присутствовали лиды команд из этой компании, и они решили нанять «горячие» кадры. Ещё выпускники получили офферы из PandaDoc, EPAM и X5.

Что говорят студенты


image-loader.svg

Олег Смирнов, младший python-разработчик, «ЦИАН»


В институте мне очень нравилось заниматься разработкой, но я пошёл работать по специальности — специалистом по информационной безопасности. В свободное время занимался разработкой и автоматизацией бизнес-процессов внутри той же компании.

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

В это же время несколько моих знакомых учились на различных курсах Практикума или уже закончили их. Они давали только положительные отзывы, поэтому я оплатил курс здесь.
На входе у меня уже были навыки программирования на Python, а также на других языках, опыт работы с реляционными СУБД, Docker, да и в целом неплохая база после института. На курсе научился работать с базами данных NoSQL, различными фреймворками и технологиями, познакомился с принципами и архитектурными подходами в разработке сервисов и много с чем ещё.

Во время учёбы я познакомился с крутыми ребятами: студентами, наставниками, кураторами — все очень открытые и отзывчивые. Мне понравилось, что курс построен вокруг реализации конкретного продукта — мы делали сервис для онлайн-кинотеатра. Это расширило кругозор во многих технических вопросах.

Каких-то сложностей при поиске работы я не испытал, и у меня была рекомендация после защиты диплома в Практикуме. При выборе компании у меня было два критерия: она должна быть продуктовой и большой. В больших компаниях есть чему поучиться, а также можно переходить из команды в команду, чтобы менять проекты и задачи. Как правило, именно такие компании задают векторы развития для остальных, так как у них больше технических задач. Исходя из этих пожеланий я и выбрал «ЦИАН». Собеседования проходили стандартно — помогали знания, полученные на курсе. Меньший грейд я выбрал сознательно: для меня было приоритетней пойти джуном в большую компанию, а не мидлом в маленькую.

Сейчас я занимаюсь разработкой различных микросервисов. Мне всё нравится: я занимаюсь тем, что приносит мне удовольствие, и меня окружает крутой коллектив. Трудности тоже есть: в основном они касаются изучения внутренних процессов и инструментов, но у меня есть ментор, что значительно упрощает ситуацию.

Что может посоветовать джун (по крайней мере по должности) джунам? Учитесь, развивайтесь, ищите возможности — так вы достигнете желаемого.

image-loader.svg

Виталий Кузовников, python-разработчик, «ЦИАН»


У меня инженерное образование, связанное с автомобильными деталями, — я учился в МАДИ. Правда, по специальности так и не работал. При этом мне всегда нравилось программирование: в школе кодили на всяких «турбо паскалях», и это было интересно. Так что в целом меня можно назвать самоучкой.

Многому я учился на работе. Например, нужно было автоматизировать свои задачи, а потом появились какие-то базы данных — нужно было их изучать, строить хранилища, чтобы собирать данные. Потом появился Python, а когда захотелось немного поработать с вебом, появился Django.

В феврале 2020 года я полностью перешёл на работу разработчика с позиции менеджера. К августу понял, что хочу глубже погрузиться в бэкенд, расширить экспертизу. В сентябре начал учиться в Практикуме.

На входе у меня были знания Python, знание веба, знания Django, знание того, как работает монолит. На выходе разобрался с микросервисной архитектурой, как её деплоить и как она работает. Ещё понял, какие есть асинхронные фреймворки и как с этим жить.

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

С прошлой работы я ушёл ещё до сдачи диплома. В течение двух недель после окончания курса у меня было много собеседований. «ЦИАН» был самым оперативным — вообще, это были самые приятные люди, с кем пришлось общаться. С ними было комфортнее всего проходить собеседования. Другие компании тоже предлагали работу, но процессы шли медленнее, да и с ними было не так прикольно и приятно общаться.

Первое собеседование было общее, чтобы познакомиться, потом прошёл техническое собеседование с ребятами из команды, в которой мне предстояло работать. Последнее — с руководителем и HR-директором. Это было собеседование на софт-скилы, которое определяло, насколько я подойду.

У меня нет никакого рецепта по удачному прохождению собеседований. Мне кажется, это было дело случая: мы друг другу понравились, и на большинство вопросов, которые мне задавали, я смог адекватно ответить.

В «ЦИАН» я работаю уже несколько месяцев — делаю инструменты для риелторов. Постепенно привыкаю работать с новой для себя системой. В монолите достаточно легко понять, где что происходит, и ты сам можешь дотянуться до любой части системы. В микросервисной архитектуре, где много сервисов и много ответственных за каждый сервис, достаточно сложно разобраться, где же нужные тебе данные и сервисы. Но в целом постепенно складывается понимание этих связей, тем более всегда есть те люди, которые помогут.

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

image-loader.svg

Иван Фролов, python-разработчик в команде онлайн-маркетинга, «ЦИАН»


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

У меня был опыт системного администрирования и разработки на платформе »1С». Ещё я разрабатывал небольшие сервисы на Python, активно изучал этот язык. То есть у меня было общее понимание работы компьютерных систем, базовые знания Python, навыки разработки на уровне бизнес-логики.

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

Вообще Практикум открыл для меня новый мир в смысле технических вызовов и процессов, которые могут происходить внутри высоконагруженных сложных сервисов. А ещё у нас был классный ментор и не менее классная команда курса.

В «ЦИАН» я устроился где-то через месяц после защиты. Офферы приходили, но главная сложность была в географии — я жил в Хабаровске, в итоге перебрался в московский часовой пояс.

Было два типа собеседований: в Яндекс и во все остальные компании. В Яндекс прошёл все технические собеседования и финалы с командами. Это было сложно, например, лайв-кодинг без возможности запуска, но больше с психологической стороны. Но, признаться, такой подход мне понравился больше — проверка как перед полётом в космос.

В «ЦИАНе» и других компаниях технические собеседования проводил тимлид команды. Помимо стандартной процедуры была возможность немного обсудить какие-то интересные вещи, узнать о проектах и процессах. Затем следовал раунд с HR и руководителем подразделения, где речь шла о ценностях компании, глобальных задачах и всём таком.

Я выбрал «ЦИАН», исходя из субъективных ощущений — мне понравились люди. Особых сложностей с поиском работы не было, тем более, команда курса помогала и болела за меня. Мне нравится атмосфера в компании, нравится, что работаю с тем, что изучал на курсе.

Сейчас я разрабатываю инструменты, которые помогают объявлениям появляться в топе поисковых систем, когда пользователь ищет себе квартиру. Основная сложность — адаптироваться к новым инструментам и подходам. Но это всё — вопрос времени.

Совет для джунов: растите, изучайте программирование — это основа пути к более интересным задачам. А чтобы было проще, старайтесь разбирать на части всё, что видите в работе — так вы быстрее поймёте, как работает та или иная система.

Мнения лидов


image-loader.svg

Слава Безбородов, руководитель команды «Профессиональные инструменты», «ЦИАН»


У меня сложились очень приятные впечатления от тех защит, на которых мне удалось поприсутствовать. Я увидел атмосферу, которая принципиально отличается от традиционных защит в тех же вузах: меньше стресса, акцент на нетворкинге.

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

Те, кто пришёл к нам после курса Практикума, выполняют все задачи наравне с другими участниками команды. Это и разработка новых фич, и поддержка существующих, и работа с дефектами, и задачи технического развития наших компонентов.

В первую очередь я обращаю внимание на софт-скилы кандидата, на его работу в команде, на то, как он общается. Я убеждён, что хард-скилы прокачать легче и быстрее, а вот взрастить в человеке внутреннюю зрелость — задача не из лёгких. Если я вижу, что у кандидата есть предпосылки к работе в команде, я готов поговорить про техническую подготовленность, про опыт использования различных технологий и фреймворков.

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

Каждому разработчику нужно пробовать новые технологии и подходы, учиться на своих ошибках и пробовать снова. Менять что-то вокруг себя, а обучение в Практикуме — уже начало этих изменений. А ещё рассказывайте о себе и о своём опыте так, чтобы нанимающие компании просто не смогли вам отказать!

image-loader.svg

Фёдор Фролов, технический руководитель направления «Онлайн-маркетинг», «ЦИАН»


Считаю, что с появлением Яндекс.Практикума индустрия обучения в IT сделала огромный шаг вперёд. Вместо шаблонных лекций и пересказов литературы создана коллаборативная среда, максимально приближенная к реальной разработке.

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

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

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

Кандидат мне определённо не подойдёт, если он пассивен и безынициативен. Гораздо проще работается с людьми, которые горят своей работой и готовы предлагать новые решения. Другая крайность — менталитет «рок-звезды». Такие люди не смогут влиться в команду и постоянно будут недовольны тем, что всё делают не так, как нужно им. Ещё я обязательно смотрю на умение общаться в целом: корректность, агрессивность, вспыльчивость, обидчивость. Если попадаются взрывные люди, то, как правило, они будут вечным источником проблем.

Позиция HR


image-loader.svg

Георгий Новиков, глава IT-рекрутмента, «ЦИАН»


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

В «ЦИАНе» образ мидл-разработчика складывается из совокупности хард- и софт-скилов, которые мы определяем по результатам двух отдельных встреч: сначала идёт техническая, потом софтовая. Техническую встречу проводят ребята уровня сениор, где они проверяют знания кандидата по основным техническим блокам: Python, тесты, БД, асинхронность, архитектура, а также смотрят на опыт работы с конкретными инструментами. Если по результатам такого собеседования кандидат получает оценку грейда от мидла и выше, то мы приглашаем его на вторую встречу, где знакомим с тимлидом и HR BP продуктовой команды. Если по результатам второй встречи мы подтверждаем соответствие кандидата нашим основным ценностям — честность, открытость, гибкость, ориентация на результат, командная работа, — то его можно считать мидл-разработчиком.

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

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


Если вы хотите углубить свои знания по бэкенду или чувствуете, что засиделись в джунах, то приходите на курс «Мидл python-разработчик». Большая часть программы посвящена не особенностям Python, а брокеру очередей, отказоустойчивости, логированию, Nginx. Это как раз подходит под требования тех вакансий, которые сейчас актуальны на рынке.

© Habrahabr.ru