Привет, Хабр! Меня зовут Алексей Гвоздев. Ещё три года назад я занимался продажами, а теперь работаю тестировщиком в Ozon. Расскажу, как искал свою первую работу, оставил более 1000 откликов на вакансии, провалил несколько собеседований и всё-таки устроился стажёром. А ещё — как погружался в новую работу и какими задачами занимаюсь в Ozon.
Из продаж и спорта ушёл в IT
Я получил социологическое образование в Государственном университете управления и устроился в компанию Coca-Cola — сначала мерчендайзером, потом торговым представителем. Затем перешёл в Pepsi и работал в этой же сфере. Всё это время профессионально занимался спортом, обучился и стал тренером. Когда в Pepsi началось сокращение в пандемию, работа в спортклубе стала моей основной.
Чтобы работать в спортивной сфере, нужно было активно раскручивать свои социальные сети, а мне не хотелось этим заниматься. Мне захотелось найти более интересное занятие. Сначала попробовал освоить профессию фронтенд-разработчика, однако изучать HTML не понравилось. Большие темы про разметку страницы и вёрстку показались скучными, и я отложил эту затею. Спустя время решил попробовать свои силы в тестировании — одновременно учился и тренировал людей в спортклубе.
Познакомившись с профессией тестировщика, начал изучать рынок: смотреть вакансии и актуальные требования к кандидатам, необходимые скилы. Чтобы быть востребованным на рынке и претендовать на хорошую зарплату, одновременно освоил два курса в Практикуме: ручное тестирование и автоматизацию на Python.
По окончании последовал долгий этап работы над резюме. Мне повезло — с нами на курсе училась HR-специалистка с десятилетним опытом (привет, Оля!). Её советы по составлению резюме дополнили весомую помощь от программы трудоустройства Практикума.
Первые трудности
Главная сложность поиска первой работы — в отсутствии опыта. Преодолевается это только подработками и собственными пет-проектами. Можно зарегистрироваться на фриланс-биржах, рекламировать услуги по тестированию за символическую плату — всё ради опыта.
Поможет активный поиск проектов в соцсетях, через друзей и знакомых. Даже на работе, не связанной с IT, можно попробовать применить новые знания — на сайтах и сервисах, где вы знаете специфику. Когда известно, что и как должно работать, полезно самостоятельно это протестировать. Это даст хотя бы скромную строчку в резюме и возможность подтвердить свои знания реальным кейсом на интервью.
Ведь минимальный опыт нужно приобрести ещё до трудоустройства, чтобы вас в принципе начали приглашать на собеседования. Собеседующие будут дипломатично спрашивать, чем вы отличаетесь от других кандидатов на вакансию.
Ещё одна сложность — в том, чтобы показать свой интерес к профессии: вы не просто ищете лёгкий способ «войти в айти», а получаете от неё удовольствие и хотите развиваться.
Чтобы быть сильнее конкурентов, стоит знать азы автоматизации и углубиться в знание языков программирования.
В некоторых случаях важен бэкграунд — из какой сферы пришёл специалист. Кто-то долго работал в банках и знает их специфику изнутри. Таких людей охотнее возьмут тестировать банковские продукты.
А ещё на любых собеседованиях нужно уметь себя продавать. Показать себя с лучшей стороны, чётко рассказать о своих достижениях — не всегда просто. Но без этого не получится достойно заявить о себе за несколько минут беседы с HR.
Искал первую работу три месяца
В течение трёх месяцев после выпуска я откликался на вакансии более 1000 раз. Целенаправленно старался не пропустить ни одной, даже отзывался на позиции middle-тестировщиков. И эта стратегия сработала. Возможно, сыграло роль хорошо составленное резюме, но собеседование на позицию middle было первым, куда меня пригласили.
Это была компания, которая сотрудничает с московским метрополитеном и создает для них ПО, в том числе Face Pay. У меня было два этапа интервью — скрининг и собеседование с руководителем-техлидом. Решение принимали по тестовому заданию, которое я выполнил дома. Как стало понятно из фидбека, мне не хватило навыков в автоматизации. Но этот отказ помог мне стать лучше и закрыть пробелы в знаниях.
На один из откликов мне сразу, без скрининга, прислали тестовое задание. Задача была по ручному тестированию, смог выполнить её достаточно хорошо, но на эту позицию взяли более достойного кандидата. В компании тогда сказали, что внесли меня в кадровый резерв.
Был и ужасный опыт. Я откликнулся на вакансию, где нужно было автоматизировать тестирование бэкенда. Я подошёл к собеседованию основательно и попросил HR дать время на подготовку. Мне выслали пример кода, чтобы я знал, что именно встретится на техническом интервью. За неделю я постарался прокачать нужные навыки, даже взял несколько платных уроков у опытного разработчика, чтобы разобраться со сложными темами, например, что такое мок (mock) и как правильно мокать, научился работать и тестировать протокол WebSocket, попросил кейсы по бэкенду для тестировщика и примеры из реальных проектов.
Но на интервью с лидом всё пошло не по плану. Он задавал вопросы по поводу высланного мне фрагмента кода для сайта на локальном сервере и предложил набросать примеры тестов. Я начал писать их на бэкенде, а лид ответил, что ждал от меня тестов и на фронтенде. Я постарался перестроиться и предложить тесты для фронта, и в этот момент что-то пошло не так в PyCharm. Появились проблемы с интерпретатором, которые быстро решить не получилось. В итоге лайвкодинг не удался и я толком ничего не написал. Проблемой оказалось, что меня спросили о том, чего не было в вакансии и что мы не обсуждали с HR. Возник диссонанс между вакансией и техническим интервью. Для меня это было третье собеседование, и я растерялся. Надо было напомнить, что я откликнулся на вакансию про бэкенд и готовился к тому, о чём предупредили сотрудники компании.
После этого я выполнил ещё одно тестовое задание на одну из вакансий. Итого получилось всего четыре безуспешные попытки — мне повезло, это совсем немного.
На стажировку в Ozon с первой попытки не прошел, но потом всё получилось
На вакансии Ozon огромная конкуренция. Я даже не ждал, что мне ответят на отклик :) Но мне всё же написала HR, мы договорились о созвоне и провели получасовое скрининговое интервью. Всего, чтобы попасть на стажировку, я прошёл пять этапов собеседований. Теперь, если успешно пройду стажировку, перейду на позицию джуна.
Обычно на таких собеседованиях опрашивают поверхностно, но здесь были довольно серьёзные вопросы. От тестировщиков в компании ожидают, что они владеют каким-то языком программирования и могут автоматизировать хотя бы минимальную рутину, даже если при этом их основные задачи связаны с ручным тестированием.
Не справился из-за Git, но мне дали второй шанс
После интервью с HR мне назначили собеседование с одним из технических руководителей — разбор кейсов и лайвкодинг. Я завалился на вопросах с Git, потому что раньше не углублялся в его изучение, а остальное прошло хорошо. HR дала обратную связь, что руководителю я понравился, но нужно подтянуть слабые места и прийти на собеседование ещё раз — через неделю.
На следующей встрече я рассказал, что выучил про Git, ответил на новые вопросы, решил дополнительные кейсы и получил хороший фидбек. На это место взяли другого человека, руководитель порекомендовал меня в соседнюю команду. Так я попал на собеседование в подразделение, где сейчас работаю. Со мной провели встречу будущая начальница и руководитель группы инструментов тестирования Ozon. Всё прошло удачно, удалось ответить на вопросы и хорошо показать себя на лайвкодинге. В результате мне сделали оффер на стажировку.
Сразу в бой: учился справляться с микросервисами и окружением
В Ozon я занимаюсь тестированием бэкенда, фронтенда, написанием кейсов и ведением документации. Знания, с которыми пришёл после курсов, идеально попали в стек компании. Мне пригодилось почти всё, что проходили в Практикуме. Единственная тема, которой пока не касался на работе, это тестирование мобильных приложений.
Вливаться в рабочие процессы было тяжело. Первые задачи помогли погрузиться в специфику команды. Продукты Ozon содержат много логики, чтобы обрабатывать многочисленные corner cases. Поэтому для начала надо было изучить теорию, прочесть документы.
Практическая работа началась с регрессионного тестирования различной функциональности. Таких задач много, решать их я учился у других тестировщиков с нашего проекта. Регрессионное тестирование далось нелегко, потому что это рутинный процесс. Нужно быть готовым к тому, чтобы постоянно делать одно и то же на стабильно высоком уровне.
Чтобы я вливался в процессы быстрее, мне назначили наставницу. Рабочие задачи, которые попадали на доску, мы делали или вместе, или одновременно, а потом сравнивали результаты. Я видел, чем отличается подход опытной тестировщицы, получал обратную связь и делал выводы. Так и обучался, а когда наставница ушла в отпуск, уже был готов справляться с задачами самостоятельно.
На первых порах возникали сложности с бэкендом проекта из-за его специфики — Ozon построен на микросервисной архитектуре. Мне пришлось вникать в особенности взаимодействия сервисов друг с другом. Но опыт и помощь наставницы помогли справиться и с этим.
А ещё на проекте столкнулся с несколькими тестовыми средами. Например, среда, которую видит конечный пользователь, — продакшн. Но есть и тестовая среда. С ней может безопасно взаимодействовать тестировщик и разработчик — запросы не смогут сломать продакшн, только стейджинг :) Так я узнал, что происходит на уровень ниже среды разработки, где можно навредить бизнесу.
В команде я узнал, что меня не обошла стороной привычка торопиться. Многие новички хотят показать себя в хорошем свете и делают работу поспешно. Я понял, что брать количеством, а не качеством, — ошибка. Лучше подробно разобраться в задаче, вникнуть в документацию и требования и только потом начинать тестировать. На обратной связи сказали, что мне этого не хватает. Но у нас классная команда, в которой ладят и открыто говорят о таких моментах. Я спокойно общаюсь с разработчиками и многому учусь у них в процессе.
Советы по поиску первой работы
По моим наблюдениям, чтобы легче найти первую работу в тестировании, важно:
Завести пет-проект или брать заказы на фрилансе. Незадолго до того, как начать процесс трудоустройства в Ozon, я тестировал телеграм-бота для Практикума. В чат для выпускников кто-то сбросил этот вариант подработки, и я взялся. Мне помогло знание Python — у меня уже был свой маленький бот, написанный на этом языке. В итоге бота так и не запустили, но я занимался его тестированием и получил первый практический опыт.
Мониторить чаты по QA, например @qa_jobs, в поисках реальных задач. Подработку предлагают, хоть и редко. Не отказывайтесь от разовых проектов из разряда «протестировать и забыть» :) Это хороший опыт. Слышал положительные отклики о «мастерской проектов» Яндекс Практикума — тоже можно попробовать новичкам.
Знать хотя бы один язык программирования. В большие компании рассматривают только таких кандидатов — даже на позиции ручного тестирования. Такой порог входа.
Оформить профиль на GitHub с реализованными проектами. Я выкладывал туда дипломный проект с курса по автоматизации тестирования и бота на Python. Когда работал тренером, помогал с сайтом нашего спортклуба — писал автотесты для фронтенда, которые тоже оформил как пет-проект.