Старший QA-инженер Алексей Чмутов занимается автоматизацией тестирования последние два года. До этого он был преподавателем и менеджером учебной лаборатории, а начинал свой путь в IT как Java-разработчик.
Алексей рассказал, почему несколько раз менял направление работы и в итоге остановился на тестировании.
Из разработчика – в менеджера по обучению
В 2006 году я пришел в EPAM как Java-разработчик. Спустя два года покинул компанию, чтобы, как оказалось, вернуться через пять лет – но уже на другую должность. За это время я успел поработать в разных местах и понял, что мне интересно развиваться не только свои технические навыки, но и soft skills. Ещё в EPAM я попробовал себя в роли тимлида и технического интервьюера, и продолжил выполнять эти обязанности в других компаниях. Мне нравилось общаться с кандидатами и узнавать об их опыте и стремлениях, вводить новичков на проекты, обучать и помогать решать проблемы.

Однажды я случайно увидел вакансию «Менеджер по обучению в EPAM» и подумал: «Я занимаюсь разработкой уже 13 лет, может, пришло время попробовать что-то новое?». У меня остались теплые воспоминания о компании и о коллегах – и я решил откликнуться. В 2013 году в петербургском офисе компании ещё не было собственного учебного центра, поэтому меня собеседовали коллеги из белорусского офиса. Всё прошло отлично, и я приступил к новым обязанностям.
Как я работал в учебной лаборатории
В лаборатории я проработал четыре года. Первое время я был единственным сотрудником учебной лаборатории в Петербурге, поэтому мне приходилось совмещать обязанности преподавателя с менеджерскими задачами. Я не только учил студентов азам Java, но и составлял учебный план, писал отчеты, активно общался с коллегами из Беларуси.
Больше всего в работе мне нравилось та часть, которая была связана именно с преподаванием. Скажу честно, учить студентов – нелегко. Нужно уметь объяснять сложные вещи простыми словами, быть готовым отвечать на миллион вопросов. А ещё строить занятия так, чтобы у человека не пропал интерес к учебе. Я сначала давал ребятам теорию, а затем делил их на небольшие команды и предлагал практические задания. Было очень интересно наблюдать, как они взаимодействуют друг с другом – общаются, распределяют роли, вместе ищут решение. В такие моменты – когда видишь, что человек применяет на практике знания, которые ты ему дал, – понимаешь, что твоя работа важна и ты всё делаешь правильно.
Почему я решил перейти в тестирование
Лаборатория активно развивалась: у нас начали появляться наборы в группы по разным языкам, тестированию. Преподавать в них начали сотрудники из продакшна. C одним из них мы довольно много общались. Он занимался автоматизацией тестирования и рассказывал студентам о специфике этой работы. Он объяснял, что тестировщики-автоматизаторы – это люди, которые следят за качеством продукта и улучшают его. Их работа не менее значима и интересна, чем задачи разработчиков.
Меня лично привлекло то, что автоматизаторы могут довольно часто менять контекст своей работы. Обычно проектная команда состоит из одного-трех автоматизаторов и разработчиков, которых в разы больше. Так как автоматизаторов мало, у них есть возможность взять в работу сразу несколько задач из бэклога и переключаться между ними. Надоело писать автотест? Можно заняться улучшением какого-нибудь скрипта. У разработчиков в этом плане пространства для маневра меньше. А ещё у автоматизаторов есть уникальная, на мой взгляд, возможность самим решать, на каком языке писать автотесты.
Чем больше я общался с моим коллегой, тем чаще подумывал о том, чтобы вернуться в продакшн – но не как разработчик, а как автоматизатор. Я понимал, что долго переучиваться мне не нужно, я ведь много лет писал код на Java. Коллеги и мой тогда ещё будущий менеджер поддержали меня – и я начал действовать.
Мой первый проект в новой роли
Обычно, если человек хочет сменить специализацию у нас в компании, он проходит программу менторинга или курсы в тренинг-центре. Моя история, скорее, исключение из правил. Мне хватило опыта, чтобы сразу пройти интервью с заказчиком и выйти на проект.
Я попал на Big Data-проект – и работаю на нем уже два года. Наша команда занимается тестированием ПО для работы с юридическими документами. Этим решением пользуются клиенты компании – судьи, адвокаты и юристы – по всему миру.
Раньше мне не доводилось использовать Big Data-стек, поэтому первым делом я начал осваивать Hadoop. Потом переключился на Spark, а затем – на CDAP. Автотесты на проекте мы писали на Scala, поэтому параллельно я изучал этот язык.
Конечно, первое время я не брал сложных задач. Я начинал с того, что переводил некоторые модули проекта, в которых содержались автотесты, на Apache Maven. Это классическая задача для начинающих автоматизаторов. Постепенно список моих обязанностей рос, и я применял свои новые знания на практике. Сейчас я занимаюсь Selenium-тестирование конфигуратора продукта заказчика и пишу Scala-тесты, которые проверяют правильность загрузки данных из Oracle в HDFS.

Не жалею ли я о своем выборе
Мне нравится быть QA-специалистом: я вижу смысл в своей работе – отвечать за качество продукта перед клиентом. Не просто нажимать на кнопки и что-то тестировать, а постоянно общаться с заказчиком и его командой, чтобы понять, какого результата они ждут. И это интересный процесс, который помогает развивать навыки коммуникации и другие soft skills.
Кроме того, автоматизация – это область, которая стремительно развивается. Ещё пять лет назад тестировщиками-автоматизаторами называли тех, кто знает Selenium и умеет автоматизировать UI на Jave. Сейчас QA-инженеры всё чаще берут на себя некоторые задачи разработчиков (скажем, написать unit-тест) и DevOps-инженеров (например, отстроить CI-процессы, сконфигурировать несложную проектную инфраструктуру в облаке). Таких специалистов начали называть Developers in Test или Software Engineering in Test, и они очень востребованы.
***
Сейчас, спустя два года работы автоматизатором, могу точно сказать: в карьере разработчика я поставил точку, а вот с преподаванием решил не завязывать. После годового перерыва я вновь начал вести курсы по Java Core. Два раза в неделю читаю лекции для коллег – функциональных тестировщиков, которые хотят стать автоматизаторами. В будущем хочу разработать свой авторский курс.
Полезные ссылки:
Всем начинающим автоматизаторам я советую обратить внимание на эти курсы по Java Core:
- Java Essential Training for Students
- Learning Java 8
- Programming Foundations: Data Structures
- Programming Foundations: Object-Oriented Design
- Java Essential Training: Objects and APIs
- Learning Java Lambda Expressions
- Functional Programming with Streams in Java 9
- Learning Regular Expressions
- Git Essential Training: The Basics
- Introducing Maven
Фотографии: личный архив Алексея Чмутова.
Комментарии