article-spots
article-carousel-spots
programs
Истории
Я не планировал переходить в .NET, но это решение стало лучшим из всех возможных. Re-skill история Павла Высоцкого
1 февр. 2023

В этой статье мы расскажем вам историю нашего коллеги, чтобы показать, как re-skill программа открывает новые возможности, доступ к интересным технологиям и расширяет выбор проектов. «Знания никогда не бывают лишними» – уверен герой этой статьи, Павел Высоцкий, Junior Software Test Automation Engineer. Давайте на его личном примере убедимся, что путь из Java в .NET автоматизацию может быть легким и вдохновляющим.  

Как ты попал в профессию и почему выбрал именно тестирование?  

– До перехода в IT я 15 лет работал в оптовой торговле, занимался компьютерной техникой и комплектующими. 2 года был индивидуальным предпринимателем, 3.5 года – руководителем собственной фирмы. Но в какой-то момент просто устал от закупок, поставок, продаж и стресса, связанного с бизнес-деятельностью. Решил выбрать сферу, которая даст мне спокойствие и одновременно интересные задачи и возможности для дальнейшего развития. Еще в школе мне нравилось программирование на Pascal. Поэтому, когда я пришел на курсы по Java-разработке, это не стало для меня чем-то непонятным и пугающим. Обучился и взялся за покорение IT-сферы. Начал ходить на собеседования, но итог был ожидаемый для начинающего специалиста: мое резюме обещали рассмотреть и связаться позже. В результате я взял инициативу в свои руки и по рекомендации знакомого написал в LinkedIn рекрутеру EPAM. Я знал, что она занимается поиском инженеров-автоматизаторов, но подумать не мог, что наше с ней общение станет настолько результативным.    

Мне сразу выслали тестовое задание и уточнили наличие опыта в автоматизации. Я честно признался, что занимался Java-разработкой, с тестированием на практике не сталкивался, но готов самостоятельно во всём разобраться. В результате я уложился в указанные сроки, качественно выполнил задание и мне предложили перейти на следующий этап собеседования, чтобы претендовать на позицию Junior Test Automation инженера.  

Через 5 дней после собеседования пришел offer, а с ним – старт работы на внутреннем проекте. Я тогда не понимал, что значит «внутренние проекты», и был в легком замешательстве: берут меня всё-таки на работу или нет? В мае 2021 года началась моя история в EPAM: около двух недель занял onboarding, потом какое-то время со мной работал ментор, который помогал в адаптации. Он давал задания, контролировал, позволял самому находить ответы и не вмешивался в процесс, пока я сам не начинал просить о помощи. Где-то через полтора месяца совместной работы ментор ушел в отпуск, предварительно пожелав удачи. Он в меня поверил – и я полностью оправдал его ожидания.  

Как бы ты описал профессию Test Automation инженера?   

– Автоматизаторы пишут код, который имитирует действия пользователей и проверяет продукт на соответствие желаемому результату. Мануальное и автоматизированное тестирование – это пересекающиеся направления работы. Когда проект разрастается, при добавлении новых фич предыдущие действия тоже нужно повторять, и зачастую это выливается в кромешный ад для мануального тестировщика. Автоматизаторы с помощью автотестов облегчают этот процесс – они пишут код и добавляют его в так называемый CI/CD. Это система, которая автоматически запускает тестирование и позволяет увидеть, прошла ли функциональность проверку, какие ошибки возникли и что нужно проанализировать для изменения в коде.   

Как выглядят твои ежедневные задачи? 

– Все начинается с ежедневного короткого митинга (“daily”), на котором мы определяем задачи: что сделали, что собираемся сделать и какие есть блокеры. После звонка я иду в Jira и беру себе тест-кейс по приоритету. Если горячих кейсов нет, забираю любой на выбор. 

Я открываю свой тест-кейс, “трогаю его руками” и детально изучаю – порой бывает, что в тест-кейсе уже есть баг, и лучше сначала протестировать все руками, а не тратить время на написание кода и в конечном итоге столкнуться с несоответствиями. Если все в порядке, начинаю писать код. В зависимости от сложности задачи это может занять полчаса / день / неделю – время часто разнится. По окончании я делаю pull request либо merge request (зависит от сервиса), и тогда уже другие члены команды автоматизаторов начинают проверять код и оставлять комментарии. Обычно в комментариях идет дискуссия, на основании которой я вношу правки. Дальше я пушу исправленный код и, если нет конфликтов, мержу его в главную ветку. Если конфликты есть – исправляю их и мержу.  

Плюс к этим задачам я также помогаю с написанием фреймворка и его структуры и участвую в code review других коллег.   

В какой момент ты перешел из тестирования на Java в .NET? 

– Я подключился к внутренней программе переобучения в октябре 2022 года. Вышло так, что я не успел пройти ассесмент на middle-специалиста до конца текущего проекта, а новые проекты искали A2+ кандидатов. Но времени на бенче я тоже не терял: прошел несколько профессиональных курсов, подтягивал английский.  

Ресурсный менеджер посоветовал зайти на портал Test Automation as a Service (TAaaS). Тогда я познакомился с Crowd тестированием и начал брать задачи, требующие автоматизацию на Java. В среднем мое сотрудничество с TAaaS заняло около полугода, пока менеджер не пришел с новостями: проекты есть, требуются автоматизаторы. Но не на Java, а на языке С#. И рассказал про возможность переобучения на С# автоматизацию для дальнейшей работы с .NET фреймворком.  

Мне дали неделю на принятие решения. Сначала я задумался, взвешивал «за» и «против», а потом пришел к выводу: это же новый язык, новый опыт, новые технологии. Потом при собеседовании на проект менеджеры увидят мои навыки и скажут: «Да кто это такой? Срочно берем его к нам!» 😊  

«В любом случае, ты ничего не теряешь» – сказал менеджер, и я не мог возразить. Полезные знания никогда не бывают лишними. Всего за полторы недели я прошел re-skill .NET-программу и сразу начал работать на текущем проекте.  

 Как проходило твое обучение?  

– Первые два дня обучения у меня был ступор. Я не сделал ни одного задания, потому что никогда не сталкивался со средой разработки Visual Studio и даже не знал, как запустить в ней проект и вывести на экран Hello World. Тогда мне впервые написал удивленный ментор, который планировал подключиться на более сложных этапах. Позже он уже в шутку приходил ко мне с фразами: «Остановись, дай проверить предыдущие задания». Но я уже вошел в активный ритм обучения и не переставая высылал pull requests. Проекту срочно требовался .NET Test Automation инженер, необходимо было выстраивать процессы тестирования с нуля. Пришлось приложить усилия, но мы с ментором справились быстрее заявленных сроков программы. Java и C# разные backend языки, но имея опыт работы в автоматизации – переучиваться не сложно. Из преимуществ С# перед Java я бы выделил гибкость языка, что тоже помогает в обучении. Если возникал вопрос, шел в Google: «Вот так я делал на Java. (Например, организовывал процесс сортировки). Как мне это же реализовать на С#». 

С какими вызовами на работе приходится сталкиваться? И как с ними справляешься? 

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

Удается ли соблюдать work-life balance?  

– У меня получается разграничивать дом и работу в том числе благодаря тому, что я практически каждый день приезжаю в офис. Вечером – прогулки по городу, бассейн, занятия спортом, встречи с друзьями. Хобби у меня тоже спокойные и расслабляющие: игра на гитаре, чтение, просмотр фильмов. И еще раз вспомню добрыми словами команду: у всех отлично с тайм-менеджментом и дисциплиной. Поэтому все задачи мы равномерно распределяем и справляемся в назначенный срок. 

Что пожелаешь тем, кто только начинает свой путь в тестировании? 

– Прежде всего, не бояться пробовать новое. Как-то ко мне обратились коллеги из Manual QA с вопросом, стоит ли обучаться автоматизации, если они никогда раньше не работали с кодом. И я ответил: как минимум пройдите доступные курсы. Тогда будет с чем сравнивать и из чего выбирать. А еще во всем важна дисциплина. Если решение принято – ему надо следовать. Невозможно прийти к цели, не зная, куда идешь.