Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет! Меня зовут Юра, и в этой статье я хочу поделиться своим опытом поиска работы. И это вряд ли блестящая история успеха — на этом пути нашлось место и самым неожиданным факапам, и офферу от галеры, и отчаянию. Спойлер: на работу я всё-таки устроился, хоть и совсем не в том качестве, в котором планировал.
Точка отсчёта
Начну с момента, когда я только начал поиски. У меня за спиной была прочитанная книга Пола Бэрри «Изучаем программирование на Python», почти пройденный курс «Python-разработчик» в Яндекс Практикуме, а ещё немного опыта сверху — тогда мы вместе с одногруппником писали сайт для Joystick161, магазина видеоигр в Ростове. Я дружу с его директором и сам предложил ему помощь. Для меня это было полезной практикой, а у него появился новый сайт вместо сделанного в конструкторе.
В остальном у меня был тот же набор знаний, что и у большинства не самых сильных студентов. Я работал в центре диагностики и мониторинга устройств инфраструктуры РЖД, там была бешеная загруженность, далеко не в рамках «с 8 до 17 часов». На освоение максимума информации просто не было времени. Поэтому мой стек был скромным: я знал базу Python (как окажется скоро, не очень хорошо), благодаря проекту подтянул Django и Django REST Framework. Было общее понимание CI/CD, Docker.
Попроще стало на этапе работы над дипломным проектом. Впереди оставались в основном проверки — я понял, что успеваю, и решил искать работу.
Первый оффер и увольнение через два дня
Я сделал резюме и стал откликаться на hh.ru и «Хабр Карьере». Дёргал всех знакомых из IT — вдруг где-то нужны разработчики или хотя бы стажёры. Мониторил тематические каналы в Telegram и сообщества IT-компаний в Ростове, чтобы не пропускать митапы. На них знакомился с IT-специалистами, рассказывал о себе, спрашивал о вакансиях, просился на собеседования. На тот момент всё было безуспешно, но в будущем такая тактика мне помогла.
На hh.ru пришлись где-то 70% моих усилий. Ещё 10% — на «Хабр Карьеру». А оставшиеся 20% в равной степени распределились между источниками поменьше. Всего я насчитал 297 отправленных откликов. Ответов было немного, но что меня удивило: первое предложение я получил всего через две недели.
Небольшой местной компании требовался Python-разработчик на джуниорскую позицию. Стек совпадал с моим. Мне прислали тестовое задание.
Я отправил HR готовый API и получил ответ, что нужна ещё и вёрстка. Я нарисовал шаблоны в Bootstrap и настроил импорт данных через Django. В итоге тимлид согласился, что сам ошибся в формулировке тестового. Доработать проект было легко, но сейчас я понимаю, что уже в тот момент мне стоило насторожиться.
Так я получил оффер. Первый день показался ничего — меня добавили в Jira, рассказали про задачи. Я решал простенькие кейсы: прикрутить к сайту авторизацию, написать пару микросервисов на DRF. Поначалу мне нравилось. Закралась мысль: неужели я так просто нашёл свою первую работу? Но потом наступил второй день.
Я изучил сайт компании и понял, что у него не работают редиректы и кнопка «Назад», а если покликать по ссылкам в хедере, то всё вообще ломается. Профессиональная команда так писать не может. Тут же прилетает задача: прикрутить платёжную систему к интернет-магазину. Я этого никогда не делал. Начал читать, понял, что подходов к решению много и что задача-то совсем не джуновская. Обратился за помощью к тимлиду: попросил рассказать, как они делали это раньше, описал возможные варианты и предложил одну из реализаций. Тимлид в помощи отказал — сказал, что при найме компания рассчитывала, что я буду справляться сам.
Тогда я написал в телеграм-группу наших ростовских айтишников и узнал, что компания — галера, берёт заказы на биржах и передаёт их своим сотрудникам. Своих разработчиков, кроме меня, у них нет, и текучка там огромная, а когда кто-то не справляется с задачей, что рано или поздно происходит, его увольняют.
Тимлид подтвердил, что разработчик в компании только я и код там больше никто не пишет. В общем, с таким же успехом я мог и сам работать на фрилансе. И какой смысл? В общем, первый опыт был негативный, и из компании я ушёл.
Попал на интервью — и в ловушку новичка
Так я вернулся к поиску. В следующий раз помогло сарафанное радио. У друга — владельца магазина видеоигр, которому мы делали сайт, много покупателей-айтишников. И вот у кого-то из них он спросил, не найдётся ли для меня вакансия. Показал моё резюме. Так меня пригласили на собеседование в WIS Software, очень крутую ростовскую компанию.
И это был мой первый и самый яркий факап. Я серьёзно готовился, повторял Django и DRF, думал, как решать продуктовые задачи. А меня гоняли только по базе Python, и оказалось, что у меня в ней куча пробелов.
Например, меня попросили написать маркером на доске простенький алгоритм. Есть строка из четырёх слов, задача — развернуть её задом наперёд. Мне нужно было написать на доске код и рассказать, как он работает. Я простоял в ступоре 10 минут, хотя, конечно, знал, как она решается. Я так привык работать в IDE, где всё подсвечивается, что из головы, как выяснилось, вытянуть элементарные знания мне не под силу.
Были и каверзные вопросы. Например, спросили, могут ли ключи в словаре быть изменяемыми. Я ответил, что не могут. Но вдогонку приходили новые и новые вопросы. А кортежами? А если кортеж из списков? И тут легко посыпаться, особенно если разволноваться.
Мне до сих пор обидно, что я туда не попал, но зато это собеседование подсветило все мои пробелы. Решил, что, пока не подтяну основы, на интервью ходить не буду.
Как мне почти удалось устроиться DevOps-инженером
Я повторил основы и стал откликаться заново. Я искал вакансии везде, где только мог, подключал нетворкинг, ходил на несколько митапов каждый месяц. И на одном из них меня осенило. Зачем общаться только с разработчиками? Ведь на мероприятия ходят и HR-специалисты, и они, в отличие от программистов, всегда знают об открытых вакансиях в компании.
Гостем на том митапе был представитель HR-отдела из ростовской компании Zuzex. Я набрался смелости, познакомился и спросил о вакансиях. Оказалось, что компания ищет DevOps-инженера, причём готова обучать джуниора. Я заинтересовался.
В тестовом задании понадобился стек, которого у меня не было. Настройка phpMyAdmin и триггеров через Elasticsearch… Это я видел впервые. Начал гуглить, писать знакомым, спрашивать ChatGPT. И всё решил.
На собеседовании спрашивали базу Python. Я, уже наученный горьким опытом, проверку не завалил. По теории DevOps были проблемы, потому что это всё-таки не моя сфера. Я не прошёл, но зато получил честный фидбэк и узнал, как подтянуть навыки по DevOps. Мегакрутой опыт и, как мне на тот момент показалось, уже какой-то успех.
Выгорание и новое резюме
После хорошей, но неудачной попытки я вернулся к поискам и столкнулся с тем, что hh.ru как не работал, так и не работает. Нетворкинг тоже — знакомые уже перебрали все вакансии, и мне ничего не подошло, отличался либо стек, либо требуемый уровень опыта. Время поисков на тот момент приблизилось к трём месяцам, а количество откликов уже перевалило за 200. Кроме этого, я ушёл из РЖД и занимался только подработками. Всё это очень давило. Поиск работы был изнурительным. Я начал выгорать.
Тогда я обратился в Карьерный центр Практикума — это программа трудоустройства, где студентов учат собирать портфолио, писать резюме и сопроводительные письма, тренируют в прохождении собеседований. Специалист Центра Катя дала мне несколько советов.
Главный — сместить акценты в портфолио. Весь мой опыт был подсвечен как учебный, плюс проект для Joystick161. Катя предложила оставить всё как есть, но оформить учебные проекты как проектную деятельность и добавить небольшие программы, которые я писал в рамках тестовых заданий.
На отклики стали отвечать чаще. Потом, когда я спрашивал у работодателей обратную связь, узнал, что многие из них относятся скептически к выпускникам онлайн-школ. Они объясняли это тем, что многие студенты не развиваются после курсов. Кто-то мог и вовсе схалтурить на обучении. Ну и выпускников просто много — если кандидатов десятки, то среди студентов с похожими резюме и проектами будет трудно кого-то выделить.
А ещё я расширил выборку и искал вакансии не только Python-разработчиков, но и DevOps-инженеров, инженеров по тестированию. Перестал искать предложения только в Ростове и начал рассматривать удалённую работу.
Наконец, удача — как я устроился на работу
После очередного отклика меня позвали на собеседование. Это была вакансия инженера по тестированию в компании «ТТК Цифровые решения». На первой встрече проджект-менеджер спрашивал меня, как я учился, что освоил, как нахожу общий язык с коллегами.
В тестовом задании нужно было протестировать программу. Что-то вроде калькулятора, который высчитывает площади фигур и отрисовывает их. Нужно было найти 28 ошибок в интерфейсе. Я быстро сориентировался, нашёл 20-часовой курс на Stepik, прошёл его за один день и решил тестовое. Ну как решил... Нашёл 27 ошибок из 28, упустив самую очевидную — что фигура отрисовывалась не по центру. Тем не менее меня пригласили на техническое собеседование.
На нём нужно было написать мини-тесты для коротенькой программы. По сути, API, который обращался к каким-то эндпоинтам. Ничего сложного — мы такое проходили. Попросили показать проекты и сказали, что свяжутся в течение недели. И связались — на следующий день меня пригласили на финальное собеседование. Правда, предупредили, что у меня есть пробелы по теории тестирования и их стоит подтянуть.
Последний этап оказался для меня самым простым. На нём тимлид задавал вопросы по теории. После этого меня погоняли по софтскилам и снова пообещали связаться. Через два часа я получил оффер.
Я работаю в «Цифровых решениях» уже почти полгода. Сейчас я занимаю должность ведущего специалиста в области тестирования. Наша компания разрабатывает CRM-системы — у нас много госконтрактов, так как российские организации переходят на наше ПО с зарубежного. Например, мы работаем с РЖД, «Газпромом». И для каждой компании разрабатываем уникальные решения.
На позиции ведущего я также менторю тестировщиков. Один, например, уверенно пишет автотесты спустя два месяца. Помогает мой опыт обучения, ну и то, что написание автотестов — это всё-таки гораздо проще, чем программирование.
Спустя шесть лет работы в РЖД я поймал себя на мысли, что наконец-то занимаюсь тем, что мне нравится. И это мой самый крутой результат
Я стараюсь не забывать про разработку. Например, когда есть время, придумываю и пишу что-то для Joystick161. Но фокусируюсь я на тестировании. Мне нравится автоматизация, и в ней тоже много вещей, в которых интересно разбираться.
Как продолжать искать работу, если вы новичок и вот-вот опустите руки
Какие-то из моих рекомендаций прикладные, и ими можно руководствоваться в процессе трудоустройства. Другие — фундаментальные, и они говорят о том, насколько просто вам будет как искать работу, так и работать в IT.
Учите базу. Работодателю вряд ли будет интересно, насколько глубоко вы знаете фреймворки и погружены в продуктовую разработку. А вот базовую теорию языка спросят наверняка, потому что это фундамент. Без прочного фундамента всё развалится. Как у меня на том злосчастном интервью в WIS Software.
Вот как я повторял теорию:
Перепрошёл уроки Практикума, в частности вводную часть и теорию объектно-ориентированного программирования.
Прошёл курс Сергея Балакирева «Добрый, добрый Python» на Stepik — он бесплатный, и в нём есть все основы.
Перечитал «Изучаем Python» Марка Лутца.
Ищите работу везде, где можете. Используйте нетворкинг, пишите всем знакомым из IT и ищите вакансии на всех площадках.
Поделюсь своим набором подписок в Telegram и VK, где я искал вакансии, новости о митапах и просто интересные посты:
QA Вакансии. Работа для тестировщиков. QaRocks
Web-Development Job Offers
junojobs → junior вакансии и стажировки в IT
Python Job | Вакансии | Стажировки
НМГ Тех | Работа в IT и Digital
Точка входа в IT
Python вопросы с собеседований
Python Nation