AI, данные и инженерия

SDET (Software Development Engineer in Test)

SDET — это разработчик, чей продукт — система тестирования: фреймворки автотестов, прогоны в CI/CD и тестовые окружения, с которыми команда релизится быстрее.

Также называют: Software Development Engineer in Test, Software Engineer in Test, Test Automation Engineer, Test Infrastructure Engineer, Quality Engineer.

Кто такой SDET и чем он занимается?

SDET (Software Development Engineer in Test) — это разработчик, чей продукт — система тестирования: фреймворки автотестов, прогоны в CI/CD и тестовые окружения. Он пишет код уровня продакшена, только этот код проверяет продукт, а не является им:

  • проектирует архитектуру автотестов и пишет фреймворк, на котором их пишет вся команда;
  • встраивает тесты в CI/CD и следит за скоростью и стабильностью прогонов;
  • разбирается с нестабильными тестами и устраняет их причины, а не перезапускает прогон;
  • строит тестовые окружения, моки и генерацию тестовых данных;
  • ревьюит код разработчиков с точки зрения тестируемости и предлагает изменения в архитектуре.

Когда компании нужен SDET?

SDET нужен, когда тестирование стало узким местом релизов: прогон тестов идёт часами, тесты падают без причины, а разработчики перестали им доверять. Обычно это продуктовая компания с несколькими командами и частыми релизами, где ручная регрессия и разрозненные автотесты уже не справляются. Ещё один триггер — переход к модели, в которой разработчики сами пишут тесты, и им нужны удобные инструменты. Роль не сработает, если продукт маленький и меняется редко, а главная проблема — непродуманные сценарии и пропущенные риски: тогда нужен QA Engineer.

Чем SDET отличается от QA Automation Engineer?

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

Почему SDET сложно нанять?

SDET сложно нанять, потому что нужен разработчик полного уровня, который при этом выбрал тестирование своей специализацией.

  • Название используют по-разному: под вакансией SDET часто скрывается обычная автоматизация тестов, поэтому кандидаты с нужным уровнем не верят таким вакансиям.
  • Сильные разработчики редко уходят в тестовую инфраструктуру, а большинство людей из автоматизации тестирования не дотягивают до уровня разработки.
  • SDET должен писать на языке ваших разработчиков, и это сильно сужает круг кандидатов.
  • Результат работы плохо виден в резюме: «написал фреймворк» не говорит, насколько быстрее и стабильнее стали релизы.

Что выяснить до найма SDET?

  • Что есть сейчас: автотестов нет, есть нестабильный набор тестов или фреймворк, который нужно масштабировать? Строить с нуля и чинить чужое — разные задачи и разные кандидаты.
  • Какие уровни тестирования важнее: unit, API, UI, контрактные, нагрузочные, оценка ML-моделей? От ответа зависит, чей опыт ценнее: бэкенд, фронтенд или ML.
  • Сколько сейчас идёт прогон тестов в CI и как часто он падает без причины? Это стартовая точка, по которой потом оценят работу SDET.
  • На каком языке и стеке пишут ваши разработчики? SDET на другом языке не сможет ревьюить их код и встроить тесты в их работу.

Где искать SDET?

SDET чаще всего приходят из продуктовых компаний со зрелой инженерной культурой: крупных B2B- и B2C-продуктов, финтеха, инструментов для разработчиков, облачных платформ. Одни — Backend Developers, которые ушли в тестовую инфраструктуру, другие выросли из автоматизации тестирования до уровня разработки. Сильный сигнал в профиле — фреймворк или инструмент, который человек построил и который используют другие команды, а также open-source вклад в инструменты тестирования. NEWHR ищет таких кандидатов по результатам работы, а не по откликам на вакансию.

Как проверить SDET на интервью?

SDET проверяют разбором тестовой инфраструктуры, которую кандидат строил, кодинг-интервью на уровне ваших разработчиков и задачей на проектирование. В задаче кандидат решает, как тестировать конкретный ваш сервис: какие уровни, какие данные, как встроить это в CI. Со стороны компании участвуют Engineering Manager или QA Lead и разработчик из команды, которая будет пользоваться результатом.

Сильные сигналы:

  • рассказывает, сколько шёл пайплайн до и после его работы и как изменилась частота ложных падений;
  • предлагает изменить код продукта, чтобы его стало проще тестировать;
  • объясняет, какие тесты стоит удалить, а не только какие добавить.

Красные флаги:

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

Сколько длится поиск SDET?

Первых кандидатов на роль SDET показываем через 5–7 дней после брифа.

Смежные роли

  • QA Engineer — идёт от продукта и пользователя: тест-дизайн, риски, исследовательское тестирование.
  • DevOps Engineer — отвечает за CI/CD и инфраструктуру в целом, а не за систему тестирования.
  • Platform Engineer — строит внутреннюю платформу для разработки, а не систему тестирования.
  • Evals Engineer — строит систему оценки качества AI-моделей, близкую по логике к тестовой инфраструктуре.

Есть роль, которую никак не закрыть? Давайте обсудим.

contact@new.hr