Роль
Мы ищем SDET, который поможет нам вывести на рынок крупномасштабную платформу аналитики данных, состоящую из нескольких сервисов — конвейеров приема и обработки данных, API аналитики, веб-приложений и функций на базе GenAI поверх них. Вы будете инженером, который обеспечит надежность, скорость и доверие ко всему этому по мере его роста.
Вы относитесь к автоматизации тестирования как к дисциплине разработки программного обеспечения, а не как к второстепенной задаче. Вы будете проектировать и создавать фреймворки для различных сервисов, интегрировать их в CI/CD и сотрудничать с разработчиками, инженерами данных и продакт-менеджерами для ускорения цикла обратной связи. Тестирование GenAI-компонентов — где детерминированных утверждений уже недостаточно — является частью работы, наряду со слоями аналитики, данных и приложений, составляющими платформу.
Что вы будете делать
Автоматизация и инженерия тестирования
- Проектирование, создание и владение фреймворками автоматизации для API, UI, интеграционного и сквозного тестирования.
- Написание тестового кода производственного качества, который уважают инженеры — рецензируемый, версионируемый, рефакторенный и рассматриваемый как первоклассная часть кодовой базы.
- Интеграция тестовых наборов в конвейеры CI/CD и непрерывное сокращение времени обратной связи для команды разработки.
- Вклад в управление тестовыми средами и тестовыми данными.
- Улучшение наших практик «сдвига влево»: интеграционное и сквозное тестирование, эфемерные среды, предварительные развертывания — основа уже заложена; мы хотим сделать ее более четкой, быстрой и надежной.
- Использование AI-агентов и ассистентов в вашей повседневной работе — наша команда активно создает их для разработки и тестирования, и мы хотим, чтобы вы продолжали развивать эту практику.
Лидерство в области качества
- Помощь в установлении планки качества: что означает «готово», что автоматизируется, что остается ручным исследовательским тестированием, и почему.
- Четкая передача сигналов о качестве продукту, инженерам и заинтересованным сторонам — от отчетов о нестабильных тестах до готовности к выпуску.
Обязательно
- 5+ лет в области QA ПО, из них не менее 3 лет написания и поддержки кода автоматизации тестирования производственного качества.
- Сильные навыки программирования хотя бы на одном из языков: Python, JavaScript/TypeScript или Java. Вы относитесь к тестовому коду как к коду производственного качества.
- Практический опыт работы с современными фреймворками автоматизации: Playwright с продвинутыми фикстурами, современные версии JUnit с JUnit Extensions, pytest, Vite/Jest или аналогичные.
- Глубокие знания в области тестирования API: REST, WebSocket, контрактное тестирование.
- Свободное владение CI/CD: GitHub Actions, GitLab CI, Jenkins или аналогичные — вы создавали и поддерживали конвейеры, а не просто использовали их.
- Рабочее знание Docker — достаточное для развертывания тестовых сред, сборки образов и понимания сетевых взаимодействий.
- Сильные навыки работы с Git, проведения код-ревью и соблюдения гигиены разработки ПО.
- Отличное письменное и устное общение — вы можете четко изложить риски и вопросы качества нетехническим специалистам.
Значительное предпочтение
- Тестирование больших данных / аналитики: SQL, Spark, ElasticSearch, качество данных, происхождение данных.
- Нагрузочное тестирование в масштабе (k6, Locust, JMeter, Gatling) для нагрузок, связанных с данными или ИИ.
- Свободное владение инструментами наблюдаемости: распределенная трассировка, структурированные журналы, метрики — OpenTelemetry, Prometheus, Grafana, Datadog.
- Облачные платформы: AWS, Azure или GCP на уровне самостоятельного выделения собственной тестовой инфраструктуры.
Что мы ищем (помимо формальных требований)
- Инженерное мышление — вы предпочтете найти первопричину нестабильного теста, чем трижды перезапустить его в CI.
- Любопытство к ИИ и агентным системам — вы уже пробовали создавать что-то с LLM, даже если это был побочный проект.
- Прагматизм превыше догматизма — вы знаете, когда нужно написать eval, а когда просто использовать ручную проверку.
- Склонность к быстрой обратной связи — вы считаете 30-минутный CI багом.
- Комфорт в условиях неопределенности — тестирование недетерминированных систем ИИ означает существование в «серых зонах», и вы готовы к проектированию в таких условиях.
Желательно
- Опыт работы с Kubernetes — отладка подов, чтение манифестов, работа с Helm или kustomize.
- Контрибьюции в open-source — в инструменты тестирования, фреймворки оценки, агентные библиотеки или любые другие.
- Публичные статьи или выступления по автоматизации тестирования, оценке ИИ или качественному инжинирингу.
- Опыт работы в регулируемой или критически важной области (государственный сектор, финансы, здравоохранение, безопасность).
- Знакомство с тестированием безопасности и конфиденциальности для систем ИИ (инъекции запросов, утечка PII, устойчивость к взлому).