Найти в Дзене
Stepik

Развитие QA Engineer: Какие софт и хард скиллы важны для роста инженера

Для специалиста в любой отрасли важно непрерывно развиваться и расти. Индустрии постоянно эволюционируют, требования к кандидатам ужесточаются, а конкуренция с каждым годом становится все острее. Особенно ярко это проявляется на перегретом рынке IT. Подробнее про это сегодня расскажет автор любимого курса по тестированию на Stepik — Тестирование REST API в Postman - легкий старт в автоматизацию, Давид Согоян. Парадоксально, но чем более опытен специалист, тем больше времени он уделяет своему образованию и развитию. Это неудивительно, ведь чем выше его позиция в команде, тем больше ответственности и ожиданий ложится на его плечи. Одной из распространенных ошибок в саморазвитии является акцент исключительно на технических навыках, оставляя без внимания важность soft skills. В этой статье мы рассмотрим ключевые направления роста для QA Engineer и объясним, почему важно развивать оба набора навыков. Одной из распространенных ошибок в саморазвитии является акцент исключительно на технически
Оглавление

Для специалиста в любой отрасли важно непрерывно развиваться и расти. Индустрии постоянно эволюционируют, требования к кандидатам ужесточаются, а конкуренция с каждым годом становится все острее. Особенно ярко это проявляется на перегретом рынке IT. Подробнее про это сегодня расскажет автор любимого курса по тестированию на Stepik — Тестирование REST API в Postman - легкий старт в автоматизацию, Давид Согоян.

Парадоксально, но чем более опытен специалист, тем больше времени он уделяет своему образованию и развитию. Это неудивительно, ведь чем выше его позиция в команде, тем больше ответственности и ожиданий ложится на его плечи.

Одной из распространенных ошибок в саморазвитии является акцент исключительно на технических навыках, оставляя без внимания важность soft skills. В этой статье мы рассмотрим ключевые направления роста для QA Engineer и объясним, почему важно развивать оба набора навыков.

Техническая Экспертность
Техническая Экспертность

Техническая экспертность

Одной из распространенных ошибок в саморазвитии является акцент исключительно на технических навыках, оставляя без внимания важность soft skills. В этой статье мы рассмотрим ключевые направления роста для QA Engineer и объясним, почему важно развив

Развитая техническая экспертность позволяет специалисту эффективно выбирать инструменты и подходы тестирования для оптимального решения задач команды.

Для QA Engineer можно выделить следующие векторы развития технической экспертности:

Общие компетенции и навыки:

  • Теория тестирования: Понимание теоретических основ тестирования полезно для большинства IT профессий, а для QA — теоретические основы обязательны.
  • Техники тест-дизайна: Владение различными техниками тест-дизайна позволяет проектировать качественные, оптимальные и эффективные тесты.
  • Тестовые артефакты: Создание и управление тест-кейсами, чек-листами, баг-репортами, тест планами и матрицами покрытия.
  • Знание основных протоколов: Понимание протоколов, таких как HTTP, является ключевым для тестирования веб-приложений и API.

Основные направления тестирования:

  • Manual Testing: Ручное тестирование браузерных приложений и API.
  • Web Testing: Специализация на тестировании браузерных приложений и API.
  • Mobile Testing: Тестирование мобильных приложений, которое имеет свою специфику и требует отдельных навыков.
  • GameDev Testing: Тестирование игр, часто разработанных на движках Unity или Unreal Engine. Базовое знание этих движков полезно для GameDev QA.
  • Automation Testing: Автоматизация тестирования с использованием популярных языков программирования.
  • Web Autotesting: Автоматизация тестирования веб-приложений и API.
  • Mobile Autotesting: Автоматизация тестирования мобильных приложений.
  • Performance Testing: Тестирование производительности, особенно актуальное в крупных компаниях с высоконагруженными сервисами.
  • Security Testing: Тестирование на проникновение и белый хакинг для обеспечения безопасности приложений.

Изучение разработки:

  • Языки и фреймворки: Изучение языка программирования и фреймворка, используемых в вашей команде, откроет доступ к написанию unit-тестов и участию в код-ревью. Это также поможет лучше понять процесс разработки и интеграции тестирования.

QA Engineer может развиваться как вертикально, так и горизонтально в зависимости от своих предпочтений и карьерных целей. Вертикальное развитие подразумевает специализацию в одном направлении, что позволяет стать экспертом в узкой области, например, в Performance Testing. Горизонтальное развитие предполагает расширение компетенций в нескольких направлениях, что позволяет быть универсальным специалистом и адаптироваться к различным задачам.

Инженерная Культура

Инженерная культура — это набор правил, ограничений и практик внутри команды или компании. QA Engineer вносит значительный вклад в развитие и поддержание инженерной культуры. Какие проблемы в инженерной культуре может заметить и решить QA Engineer?

Документация команды не ведется или не поддерживается:

Отсутствие актуальной документации усложняет понимание процессов и снижает эффективность работы команды. QA Engineer может драйвить создание и регулярное обновление документации, что поможет улучшить коммуникацию и обеспечить прозрачность процессов.

Продукт не покрыт автотестами или покрыт не оптимальным образом:

Недостаточное или неэффективное покрытие автотестами может приводить к увеличению количества багов и снижению качества продукта. QA Engineer может разработать стратегию автоматизации тестирования, выбрать подходящие инструменты и внедрить их в процесс разработки.

Тестирование начинается поздно:

Позднее начало тестирования может привести к выявлению критических багов на поздних стадиях разработки, что увеличивает затраты на их исправление. QA Engineer может предложить внедрение практики раннего тестирования, например, тестирования на этапах проектирования или декомпозиции.

Не определены и не формализованы критерии готовности задачи к работе и выполнения задачи:

Отсутствие четких критериев может приводить к недопониманию и снижению качества выполнения задач. QA Engineer может помочь в разработке и формализации этих критериев, что улучшит процесс управления задачами и повысит прозрачность работы команды.

Не определены или не формализованы метрики качества в команде:

Без четких метрик качества сложно оценить эффективность тестирования и качество продукта. QA Engineer может предложить набор метрик, таких как покрытие кода тестами, количество багов, время на исправление багов и другие, а также внедрить их сбор и анализ.

Большое количество багов доезжает до продакшена:

Большое количество багов на продакшене может свидетельствовать о наличии проблем в процессах разработки или тестирования. QA Engineer может выявить причины большого количества багов, проанализировать и предложить меры по улучшению процессов тестирования и контроля качества.

QA Engineer может заметить и решить проблемы в инженерной культуре, улучшая процессы внутри команды и компании. Работая над этими аспектами, QA Engineer не только способствует повышению качества продукта, но и развивается самостоятельно, приобретая ценные навыки и опыт.

Коммуникация

QA Engineer должен владеть сильными коммуникативными навыками и постоянно развивать их. Под сильными коммуникативными навыками подразумеваются следующие способности:

  • Уважение к коллегам: Важно проявлять уважение к мнению других, умение выслушивать и принимать разные точки зрения. Это способствует созданию открытой атмосферы в команде.
  • Умение аргументированно донести свою точку зрения: QA Engineer должен уметь чётко и аргументированно излагать свои мысли и предложения, чтобы быть понятным и убедительным.
  • Избегание конфликтов: Предпочтение конструктивных диалогов и фасилитации позволяет решать проблемы и разногласия без возникновения конфликтов, что способствует продуктивной работе команды.
  • Урегулирование конфликтов: Если конфликт всё же произошёл, важно уметь урегулировать его, перевести в конструктивный диалог и найти совместное решение.
  • Презентация своих идей и обратная связь: QA Engineer должен уметь эффективно презентовать свои идеи и давать обратную связь команде, что помогает в улучшении процессов и продуктов.
  • Инициирование диалога: Самостоятельное инициирование диалога с другими командами, с Product Owner или с Product Manager способствует решению возникающих вопросов и помогает синхронизироваться.
  • Фиксирование договоренностей: Важно фиксировать достигнутые договорённости и решения, например, в Confluence или Notion. Это помогает сохранить информацию и обеспечивает доступ к ней всем членам команды.
  • Выступления на демо: Способность уверенно и четко представлять результаты работы команды на демо-сессиях. Это включает в себя умение объяснять технические детали доступным языком и обоснованность решений.

Обучение других и саморазвитие

Саморазвитие — это неотъемлемая часть работы специалиста. Как понять, что у вас все в порядке с саморазвитием? Рассмотрим основные признаки:

  • Систематическое изучение новых технологий и навыков: Например, вы изучили Python и написали свой первый автотест.
  • Внедрение лучших практик в команду: Вы не только изучаете хорошие практики, но и активно применяете их в работе команды.
  • План развития: У вас есть план или роадмап, которому вы следуете.
  • Завершение обучения: Вы не бросаете обучение на полпути и не переключаетесь с одной технологии на другую в процессе обучения.
  • Целенаправленное обучение: Вы изучаете только действительно нужные вещи. Например, не изучаете Unity, если работаете в финтехе, но изучаете, если вам нравится GameDev и это ваше хобби.
  • Самостоятельный поиск информации: Вы черпаете информацию из различных источников и самостоятельно ищете нужные данные.
  • Регулярная оценка процесса обучения: Периодически, например, раз в квартал, оцениваете процесс своего обучения. Если за квартал нет заметных продвижений, проводите работу над улучшением процесса обучения.

При планировании обучения старайтесь ставить амбициозные, но достижимые цели. Научитесь декомпозировать цели и соблюдать сроки обучения.

Обучение других - это наилучший способ обучиться чему-либо самому. Обучая других, вы прокачиваете себя с разных сторон, что делает этот процесс взаимовыгодным. Где искать обучаемых?

  • Создание курсов: Создайте курс, например, на Stepik или на внутренних платформах компании.
  • Создание гайдов и туториалов: Разработайте гайд или туториал по тестированию в Confluence или Notion команды.
  • Онбординг и менторство: Помогайте новичкам в команде, составляйте план их развития, формулируйте и фиксируйте критерии успешного онбординга, проводите регулярные встречи и поддерживайте их в рабочем мессенджере. По завершению онбординга давайте обратную связь, подчеркивайте сильные стороны новичка и указывайте на точки для улучшения.
  • Проведение воркшопов: Регулярно проводите воркшопы на тему тестирования для команды.
  • Выступления на конференциях: Делитесь своим опытом и знаниями с широкой аудиторией.
  • Менторинг и помощь в профессиональных сообществах: Оказывайте поддержку коллегам и другим специалистам в профессиональных сообществах, например, в телеграм-каналах.

Обучение других никогда не бывает преждевременным. Если у вас уже есть некоторая экспертиза, вы можете начинать обучать других, например, обучая друга. В процессе вы откроете для себя новые горизонты и инсайты, что поможет вам расти как профессионалу и делиться своими знаниями с другими.

Вместо заключения

Нас, QA инженеров, любят, ценят и уважают не за то, какими инструментами и технологиями мы владеем. Напротив, ценность инженера заключается в том, какой вклад и ценность он привносит для команды и продукта. Технологии, которыми мы владеем - это лишь средство достижения целей и задач команды.

Важно быть проактивным, стремиться к улучшению процессов, поддерживать своих коллег и постоянно развиваться.

  • Будьте лидером: Инициируйте улучшения, предлагайте новые идеи и берите на себя ответственность за их реализацию.
  • Сотрудничайте: Работайте в тесном взаимодействии с другими членами команды, делитесь знаниями и опытом, помогайте решать проблемы и достигать общих целей.
  • Стремитесь к совершенству: Не бойтесь ставить перед собой амбициозные цели и стремиться к их достижению.

Развивайте свои навыки, учитесь новому, делитесь своими знаниями и всегда стремитесь быть лучшим в своем деле. Технологии приходят и уходят, но ваши способности и вклад остаются на долгое время, создавая прочный фундамент для успеха вашей команды и продукта.