После 7-10 лет работы в профессии каждый день становится копией предыдущего: опять приходятся писать тест-кейсы или автотесты. Проекты не отличаются друг от друга, и даже все баги, кажется, известны заранее. Во время кризиса жанра душа просит чего-то нового. В статье, подготовленной при поддержке Факультета Тестирования ПО онлайн-университета GeekBrains, мы рассмотрим возможные пути эволюции тестировщика.
Для начала стоит определиться, хотите ли вы связать дальнейший путь с тестированием? Если ответ положительный, попробуйте понять, что вы больше всего любите в работе: анализировать, писать код или управлять проектами. В зависимости от ответа можно планировать карьеру.
Если вы успели написать несколько собственных фреймворков для автоматизации тестирования и поняли, что хотите и дальше заниматься чем-то подобным, стоит присмотреться к следующим профессиям.
Automation Test Architect
Должность в России довольно редкая и встречается преимущественно в филиалах иностранных корпораций, где счет идет на десятки тысяч автотестов.
Архитектор автотестов занимается стратегическим развитием автоматизации тестирования. Он может подобрать или разработать наилучшим образом подходящий под решаемые задачи фреймворк и построить инфраструктуру, на поддержку и настройку которой будут затрачиваться считанные минуты.
Архитектор должен внедрить автотесты в общий процесс CI/CD таким образом, чтобы не сломать работу других отделов. В его обязанности входит поиск новых инструментов и консультирование тестировщиков-автоматизаторов из разных команд. Чтобы претендовать на эту должность, желательно хорошо знать несколько языков программирования, а также обладать многолетним опытом работы и собрать портфолио из десятков крупных проектов.
SDET – Software Development Engineer in Test
В России эта профессия только начинает набирать популярность, поэтому за модным названием часто скрывается описание вакансии обычного автоматизатора. В иностранных компаниях это в первую очередь разработчик.
Как правило SDET владеет несколькими языками программирования. Он хорошо знаком с продуктом не только как обычный тестировщик, но и как программист. Уровень SDET позволяет проводить ревью кода, тестировать программу методом «белого ящика» и вносить в нее изменения. SDET тоже пишет автотесты, но это совершенно другой уровень, существенно отличающийся от обычной автоматизации.
Test Architect
Если вы не любите писать код, но можете часами анализировать ТЗ на сотни страниц, стоит подумать о должности Test Architect. Как и архитектор автотестов, архитектор тестирования нужен в крупных проектах и больших компаниях, например, в банках.
Такой специалист великолепно владеет техниками тест-дизайна, прекрасно разбирается в методологиях и видах тестирования. Он способен проанализировать сложные системы, понять их устройство и влияние отдельных компонентов друг на друга. Оценить, какие виды тестирования и для каких систем необходимо провести в случае разработки новой функциональности.
В обязанности архитектора входит определение стратегии, оценка рисков, анализ вносимых в ПО изменений и влияние этих изменений на процесс тестирования. Он помогает командам составлять планы, оценивать временные затраты на проведение тестирования и анализировать полученные результаты. Помимо этого тест-архитектор консультирует отделы разработки и другие департаменты компании.
Test manager
Обладающим хорошими управленческими навыками специалистам может прийтись по душе должность тест-менеджера. На этой позиции общаться придется со всеми: заказчиками, разработчиками, аналитиками и бизнесом. Необходимо информировать представителей других подразделений о ходе тестирования, выявленных проблемах и потенциальных рисках.
Тест-менеджер контролирует весь процесс: от сбора требований до отчета о результатах тестирования. Если во время тестирования возникают какие-то проблемы (не работает стенд или программисты никак не исправят блокирующий дефект), его задача – устранить ее в максимально сжатые сроки. В обязанности тест-менеджера входит подбор, обучение и развитие тестировщиков. Он помогает подчиненным в налаживании отношений с другими подразделениями, что весьма ценно, поскольку конфликты с разработчиками, мягко говоря, не редкость.
Тест-менеджер отвечает за качество продукта и соблюдение сроков реализации проекта. Если кто-то из команды заболел, он засучивает рукава и подключается к процессу. Конечно у хорошего менеджера такие ситуации возникают редко, потому что он умеет учитывать возможные риски и продумывает варианты действий на случай, если что-то пойдет не так.
С развитием в тестировании ситуация более-менее ясна, но как быть в случае, если вы не хотите оставаться в профессии? Не расстраиваться. Есть целый ряд специальностей в которых вчерашний QA может успешно себя реализовать.
Разработка
Чаще всего, тестировщики переходят в разработку. После несколько лет в автотестах специалист может не только писать приличный код, но и находить ошибки в чужом. Вчерашний QA уже написал несколько фреймворков с нуля и реализовал ряд приложений под собственные нужды. Таких, например, как генераторы тестовых данных. С солидным багажом знаний переход в разработчики не составит труда. Ко всем прочему тестировщик будет искать баги в своем коде прежде, чем передать его в тестирование. Это, конечно, плюс.
DevOps
Помимо разработки существует еще направление DevOps. В эту профессию переходят тестировщики, которые самостоятельно встраивали автотесты в процессы CI/CD. Им доводилось поднимать всю инфраструктуру автоматизации с нуля, создавать собственные системы мониторинга, а также разворачивать и поддерживать тестовые стенды, работать с Docker и писать bash-скрипты. Устроиться в DevOps будет чуть сложнее, чем получить должность программиста. Обычно, на эту позицию ищут специалистов уровня Senior, но можно попробовать найти работу в стартапе, где требования к кандидату будут ниже.
В сфере IT существует не только код. Есть целый ряд профессий, которые не требуют наличия технических навыков и при этом востребованы на рынке ничуть не меньше программирования. Если вы считаете, что кодить – это не ваше, обратите внимание на следующие специальности.
Product manager
Кто, как не QA знает все о продукте, над которым работает команда? Тестировщик непосредственно участвует в его развитии, знаком с фидбеком от пользователей и видит, что нравится клиентам, а что вызывает у них раздражение. Он понимает, сколько времени требует доработка и может спрогнозировать сроки реализации новой функциональности, а также знает сильные и слабые стороны продукта по сравнению с конкурирующими. В работе тестировщики опираются в том числе на аналитику и формальные метрики: для начала им стоит попробовать себя в качестве помощника PM на текущем проекте. Если не получится, можно предложить услуги конкурентам.
Project manager
Часто на эту должность тестировщика наталкивает обратная связь от пользователей. Когда видишь, чего не хватает клиенту и понимаешь, как это можно реализовать, рождается проект. Нередки случаи, когда руководство разрешает посвятить ему несколько рабочих часов. Если финансовые показатели подтверждают успех идеи, несколько часов превращаются в полноценную выделенную команду, а ее идейный вдохновитель превращается в PM.
Заключение
Тестирование – хороший старт для карьеры в IT. Перед тестировщиками открывается множество путей дальнейшего развития, если текущая деятельность перестала приносить им удовлетворение. При желании QA всегда может найти работу по душе.
Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?
Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:
- Основы программирования на Python.
- Профессия Python-разработчик.
- Алгоритмы и структуры данных.
- Математика для Data Science.
- Профессия Data Science.
- Frontend Basic: принцип работы современного веба.
- Профессия Фронтенд-разработчик.
- Обработка естественного языка. Полный курс.
На подходе еще больше 10 курсов для взрослых и детей.
Комментарии