Мы знаем, как сложно сейчас устроиться на первую работу в IT, особенно если коммерческого опыта ещё нет. Есть разные стартовые позиции: кто-то программировал со школы и хочет сделать увлечение профессией, кто-то приходит сразу после университета, а кто-то решает сменить карьерный путь на 180 градусов уже во взрослом возрасте и ищет работу после курсов. Мы делимся тремя историями выпускников Практикума, которые недавно устраивались на первую работу по новой специальности.
Один из них — Павел, кандидат наук, провалил своё первое тестовое задание и не прошёл испытательный срок на первой работе из-за сокращения, но стал билд-инженером в геймдев-компании. Олег, бывший ресторатор, после неудачных собеседований на разработчика получил оффер QA-инженера в Сбер. А Иван был менеджером проектов в банковской сфере, теперь разрабатывает чат-ботов.
Провалил первое тестовое, не прошёл испытательный срок на первой работе и устроился в американскую геймдев-компанию
Компания: Saber Interactive
Должность: Билд-инженер на Python
Меня зовут Павел Пацей, я окончил физико-механический факультет СПбГПУ, работал инженером-расчётчиком и параллельно учился в аспирантуре, восемь лет потратил на написание и защиту кандидатской. А потом решил всё изменить и пошёл учиться программировать.
Провалил очень странное тестовое
Курсы Практикума окончил в августе 2022 года и сразу начал искать работу. Откликался на вакансии на hh.ru, искал работу в Telegram. Первое тестовое задание получил странное. Всех кандидатов, около 15 человек, добавили в один список в Битрикс24. Требовалось сделать простую API, при этом на чём её писать — не сказали.
Я выбрал фреймворк Django REST API и прислал готовый проект на GitHub. Сделал подробное описание, как запускать и пользоваться API. Сложилось впечатление, что проверял задание тоже начинающий специалист. Он не мог запустить то, что я сделал. Пришлось несколько раз проверять, дописывать и доделывать. Возможно, проверяющий не прочитал моё описание на GitHub или умел работать только с FAST API. В итоге меня молча удалили из списка, и это испытание я запомнил надолго.
Попал под сокращение на испытательном сроке
Осенью я устроился работать в нижегородскую компанию, которая занималась телефонными ботами. С её представителем познакомился на одном из мероприятий, посвящённых Python, в Санкт-Петербурге. Собеседование было простым, и меня взяли на испытательный срок на должность Python-разработчика логики.
Нужно было писать простые скрипты на Python, и вместо общих библиотек мы пользовались написанной сотрудниками компании. Но проработать удалось всего два месяца. В ноябре из-за сокращения бюджета двух из четырёх человек уволили — в том числе меня.
Сначала сильно огорчился, но переживал недолго. Работа мне не особо нравилась, из-за удалённого формата не успел почувствовать себя частью команды. После увольнения начал решать больше алгоритмических задач, взялся за контесты от Тинькофф и Яндекса. Это выручило на последующих собеседованиях.
Нашёл ту самую команду
Начав искать новую работу, обратился в Практикум за услугой карьерного сопровождения. Вооружившись подсказками, снова отправился покорять hh.ru и нашёл вакансию компании Saber Interactive, которая занимается разработкой игр. Всего новые поиски заняли у меня три месяца. И это оказалась та самая компания. Я поучаствовал в двух собеседованиях. На последнем мы начали с декораторов, поговорили про генераторы, итераторы, а потом мне предложили решить задачу. В процессе я понял, что происходит что-то не то. Оказалось, что задача — на графы, бинарные деревья. Я честно сказал, что понял задачу, но сейчас не могу её решить.
Такие знания — алгоритмы и подобные темы — давались на базовом курсе в небольшом объёме. В основном нас учили работать с Django и Django REST API. Я понял, как пользоваться фреймворками, и смог решать простые задачи, это прикладная вещь. Но выпускается очень много людей, способных это делать. А как только нужны ещё более глубокие знания, приходится подключать самообразование.
Меня взяли, но на должность не Python-разработчика, а билд-инженера: такой специалист занимается сборкой игр, помогает автоматизировать разные рутинные процессы, например тестирование. Моя роль похожа на профессию DevOps.
Совет новичкам: быть активными и учить алгоритмы
Выпускникам нужны конкурентные преимущества. Для этого учите теорию, пишите пет-проекты, решайте задачи с LeetCode. Многие студенты не любят алгоритмы и структуры данных, но это важно уметь.
Признаюсь, что на работодателей производил впечатление мой инженерный бэкграунд, техническое образование. Степень кандидата наук, по их словам, говорит о моей усидчивости и целеустремлённости. Конечно, это частный случай, не могу порекомендовать всем идти в аспирантуру и защищать кандидатскую диссертацию. Предполагаю, что это преимущество сглаживало мои слабые стороны. Например, если у меня не хватает знаний, руководитель надеется, что я всё наверстаю.
Мне кажется, сейчас все студенты находятся в положении лягушек из известной притчи. Кто-то взбивает масло и выбирается из кувшина, а кто-то тонет в молоке. Тот, кто будет активнее, найдёт работу быстрее. А ещё помогут контакты в IT-сообществе и умение завести полезные знакомства.
Сделал 400 откликов и подался в QA-инженеры в Сбере
Компания: Сбер
Должность: QA Engineer Junior
Меня зовут Олег Кузнецов, до 2020 года я работал в сфере обслуживания — директором ресторана. Но пандемия коронавируса сильно ударила по ресторанному бизнесу, пришлось искать новые возможности. Меня всегда интересовала IT-индустрия, я решил двигаться в этом направлении и даже устроился IT-рекрутером в компанию, где работали друзья.
Примерно через полтора года я отправился на курсы Практикума — без цели перейти в разработку. Просто хотелось развиваться, изнутри понять, что такое программирование. Но в процессе увлёкся и решил, что смогу попробовать себя в разработке или тестировании профессионально.
Сначала — сплошные отказы
Поиск работы начал ещё до написания диплома. Просто в спокойном темпе составил список интересных компаний, в которые хотел бы устроиться. В основном откликался на вакансии с hh.ru, LinkedIn, Хабр Карьера и на сайтах самих компаний.
Первое время получал сплошные отказы, мне даже тестовые задания не присылали. Я был готов к тому, что джуниор-разработчик без коммерческого опыта не будет востребован.
На первых порах откликался только на вакансии разработчика, спустя два месяца мне лишь дважды предложили выполнить тестовое. С одним я справился, хотя задание было объёмным, включало в себя несколько интеграций и парсингов. Со вторым не удалось справиться: оно было сложным и с редкими инструментами.
Я поучаствовал в трёх собеседованиях, и только одно из них было на должность Python-разработчика. Я пережил серьёзный стресс: на прошлой работе я занимался набором персонала, но сам уж очень давно не собеседовался. Вопросы задавали базовые, темы были не сложные. А еще был лайвкодинг — задачки на алгоритмы. Я выбрал не совсем правильный ход решения, понял это и растерялся.
Сделал 400 откликов и почти устроился Ruby-разработчиком
Одно из собеседований было на Ruby-разработчика. Но благодаря прошлому опыту неудачных собеседований меньше нервничал и был более собранным. Вопросы задавали скорее в целом по разработке, чем по Ruby. А алгоритмические задачки можно было решать даже на Python. В целом я хорошо справился, но получил отказ. Причина — в документах: предполагался переезд в Черногорию, а у меня заканчивался срок действия загранпаспорта.
В общей сложности я сделал около 400 откликов на нескольких площадках. Понимал, какая ситуация сложилась на рынке труда. И всё же после каждого отказа, каждого сопроводительного письма без ответа на душе оставался неприятный осадок.
Из разработки — в тестирование
В результате стал рассматривать и другие направления кроме разработки. Во время курса мы проходили небольшой блок по тестированию, который мне понравился. Было интересно находить ошибки и улучшать код. Поэтому стал рассматривать и вакансии по ручному и автоматизированному тестированию, подтянул знания по теории и начал откликаться.
В первой десятке откликов на вакансии тестировщиков был Сбер. Меня позвали на собеседование и сделали оффер. В Сбере множество сайтов и сервисов. Тестировщики занимаются проверками в рамках своего функционального подразделения — будь то сайт Сбербанк Онлайн или мобильное приложение. Есть главная страница, пользователь заходит на неё и совершает определённые действия.
Как член подкоманды нагрузочного тестирования, я разрабатываю методику: описываю, что и с какой нагрузкой должно быть протестировано, какие результаты хотим получить, а затем составляю план, как ведут себя пользователи. Например, сколько процентов пользователей перешли с главной страницы в раздел «Платежи и переводы», в «Поиск» и так далее. Пишу сценарий, создаю скрипты, которые эмулируют поведение пользователя. В результате запускаются тесты, создающие поток, равный нескольким тысячам обращений. Все действия выводятся на графики, которые я мониторю. По результатам составляю отчёт с описанием, какие выявились проблемы и как их можно решить. Релизное окно — две недели. Так тестируется каждый новый релиз.
Перешел из Python в Java и C
Чтобы справляться с этими задачами, понадобилось закрыть много вопросов по инструментарию. Он сильно отличается от того, с чем я работал на курсе. Главное различие в том, что в Сбере пишут на Java и C, а я изучал Python. Поначалу много времени потратил на то, чтобы разобраться в синтаксисе этих языков. Инструменты тестирования попались такие, с которыми я не сталкивался: LoadRunner, Performance center, JMeter.
Много вопросов было по архитектуре приложения, с которым работаю. Оно комплексное, предполагает много интеграций. Приходится уточнять на каждом шагу, ведь каждым элементом занимается отдельная команда. В теории я могу перейти в разработку — не раньше чем через пару лет. Пока мне есть чему учиться, куда расти и развиваться, хватает интересных задач и материалов для изучения.
Если бы я проходил курсы тестировщиков, мне было бы легче влиться в эту профессию. Тем не менее изучение Python-разработки дало сильную базу. Теперь осталось разобраться в специфике инструментов, которые используют для тестирования.
Совет новичкам: проявлять интерес и много спрашивать
Сейчас планка для джунов стала выше. Нужно многое дополнительно изучать самому, чтобы просто попасть на первую работу. Но мне нравится, что, по сравнению со сферой обслуживания, в IT больше ценятся специалисты. К людям человеческое отношение. Никто не пытается выжать из сотрудника все соки, наоборот — стараются предоставить комфортные условия.
Важное качество кандидата — заинтересованность в сфере, где ищешь работу. Даже после рабочего дня полезно почитать что-то, что пригодится в будущем. Рекомендую не стесняться задавать вопросы. Джуниор многого не понимает, это нормально. Лишний раз страшиться задать вопрос — вредит и развитию специалиста, и рабочим процессам. Потому что наставники неправильно оценивают, как он справляется, нужна ли помощь. Здесь пригодится стойкость характера, ведь первое время всегда сложно. Кажется, ничего не понимаешь. Надо перебороть это ощущение, и станет легче.
Соединил бэкграунд с разработкой и теперь создаёт чат-ботов
Компания: Умные решения для бизнеса. СПЕЙСТЕЛ
Должность: Джуниор-разработчик голосовых и чат-ботов
Меня зовут Иван Голенко, я окончил бакалавриат и магистратуру РАНХиГС. По первому образованию — менеджер проектов, по второму — специалист экономической безопасности. Шесть лет работал по специальности, руководил проектами в крупных российских банках. Но решил сменить профессию, прошёл курсы по Python-разработке. Было интересно после гуманитарного образования попробовать себя в прикладной, инженерной сфере.
Самостоятельные поиски не удавались
Раньше у меня не было опыта с языками программирования. Выбирая Python, учитывал применимость: много ли программ и сайтов на нём пишется. А ещё хотел начать именно с бэкенда — узнать, из чего состоит сайт или приложение, понимать, как всё работает.
После окончания курсов осенью 2022 года начал искать работу в IT. Ответов на мои отклики было немного: получил штук пять тестовых заданий, прошёл одно интервью с HR и одно техническое собеседование. Самостоятельный поиск не дал результатов, на которые рассчитывал.
В январе 2023 года появилось больше свободного времени на поиски и выполнение тестовых, именно тогда я присоединился к программе акселерации. Там мне объяснили, что поиск работы — это тоже полноценная работа, которой нужно уделять много времени. Программа даёт базовый контекст: сколько откликов делать, как часто, как выполнять тестовые задания, как общаться с HR. Дополнительный инструмент — карьерный трекер. Он отлично помогает искать вакансии и фиксировать прогресс по ним. Это удобнее, чем записывать все отклики в блокнот.
Количество откликов во время самостоятельного поиска и во время программы акселерации примерно совпадало. Но поначалу мне, видимо, не хватало инструментов для стабильного поиска. Не получалось правильно искать вакансии и фиксировать шаги.
Первые тестовые и собеседования давались нелегко
Первые тестовые задания я получал от знакомых, которые уже работают в IT-сфере. Эти задачи больше подходили для мидл-разработчика. Приходилось нелегко, потому что у меня был один уровень знаний, а HR-специалисты ожидали совершенно другого. Во время участия в программе акселерации большинство вакансий было на позицию джуниора, что соответствовало моему уровню.
Даже если человек хорошо усвоил курс, пройти собеседования тяжело. Надо готовиться: смотреть видео и читать, как проходят интервью; искать образцы тестовых. Могу сказать на своём примере: без дополнительной подготовки далеко пройти не удастся. На курсах дали базовые знания для разработки на Python, а вот умение проходить собеседования нужно прокачивать самостоятельно.
Самое сложное тестовое — то, что связано с незнакомыми библиотеками и фреймворками. Никакое онлайн-обучение не может дать всех знаний. Тем более я окончил курс для новичков, где мы прошли несколько библиотек, подготовились к работе с фреймворком Django. Работодатели могут искать Python-разработчика на совершенно другой стек. Нужно хотя бы познакомиться с требуемым фреймворком, знать принципы его работы. Если предстоит собеседование — суметь ответить на вопросы, если тестовое задание — попробовать этот фреймворк на практике.
Когда получаешь тестовое, нужно соизмерять задачу со своими силами. Лучше честно написать работодателю: такое задание не получится выполнить за отведённый срок. Но желательно хотя бы попробовать. На этом основывалась моя тактика общения с HR. Я в любом случае не игнорировал письмо с тестовым заданием и либо отвечал, что постараюсь справиться в срок, либо благодарил и отказывался.
Сложнее всего мне давались технические собеседования. На них задают любые вопросы: как устроен интернет, как работает сервер, что делает такая-то функция, какой результат даёт эта часть кода. Просят написать реализацию в режиме лайвкодинга.
Создают роботов, которые умеют продавать
В итоге нашёл работу на стыке управления проектами и разработки. Сейчас я разработчик голосовых и чат-ботов в СПЕЙСТЕЛ. Моя задача — разработать умного робота, с которым можно пообщаться в любом мессенджере или по телефону. Роботы умеют совершать и исходящие звонки — опросы, продажи, лидогенерацию.
Эту вакансию я нашёл на hh.ru. Было одно тестовое задание и два собеседования с руководителем, который занимался самостоятельным поиском сотрудников. Для компании это новое направление, но бизнес действует давно, это развитая компания в сфере телефонии, связи, интернета. После этих трёх этапов мне сделали оффер. Удачно, что пригодилось и новое, и прежнее образование: я занимаюсь и ведением проекта, и созданием продукта.
Главный совет тем, кто ищет первую работу: сразу начинайте готовиться к техническим собеседованиям. Узнайте, какие вопросы чаще всего задают, изучите тестовые задания — хотя бы те, что есть в открытом доступе. А ещё попробуйте решать задачки по Python: практика языка очень важна. После окончания длинного обучения иногда забывается базовая информация, а на собеседованиях на позицию джуниора начинают спрашивать, как правило, именно с этого.