Performance QA
Обязанности
О команде и продукте:
Команда нагрузочного тестирования - платформенная команда, которая помогает продуктовым командам определять уровень производительности сервисов и проверять, что изменения не приведут к деградации системы.
Продукт команды - это набор инструментов для воспроизведения нагрузки и анализа результатов. Тесты написаны на Java с использование Jmeter. Тесты пишем именно на Java, Jmeter используем как зависимость. У нас нет jmx файлов и т.п.
Клиентские метрики собираем с помощью Kafka и Kusto. Сервисные метрики, в основном, берем из Prometheus. А смотрим и анализируем все это в Grafana.
Логи и тестов, и сервисов смотрим в Kibana.
Сервисы, которые тестируем, написаны на .Net 6+ (работают под linux в kubernetes).
Окружение для тестов - копия production. Поднимается в kubernetes.
В качестве CI используем Github Actions.
Тебе предстоит:
- Писать новые нагрузочные тесты и дополнять уже существующие. Наши тесты - это именно Java код от и до, поэтому тебе пригодится хорошее знание java core.
- Делать запуски тестов, анализировать результаты и предоставлять фидбек владельцам сервисов.
- Участвовать в разработке инструментов для нагрузочного тестирования.
- Поддерживать окружения для нагрузочных тестов в актуальном состоянии.
Требования
- Опыт в нагрузочном тестировании или желание погрузиться в эту область.
- Умение анализировать и разбираться в сложных кейсах.
- Опыт работы с инструментами для управления инфраструктуры: kubernetes, docker. Знаете как посмотреть список подов, понять как скейлятся сервисы, посмотреть почему не поднялся под и т.п.
- Опыт программирования на любом языке, желательно Java, C#. Нам иногда приходится заниматься оптимизацией перформанса нашего инструмента: тред пулы, коннекшен пулы и т.п.
- Знание SQL и в целом опыт работы с БД. Анализируем нагрузку в PMM, собираем бизнес-метрики запросами в БД и т.д.
- Понимание как сервисы могут взаимодействовать друг с другом, в т.ч. на сетевом уровне: что такое сокеты, какие есть особенности при установлении большого количества соединений с одного хоста, что такое keep-alive и т.п.
- Опыт работы с CI.
- Будет большим плюсом опыт работы с azure.
Условия
- Возможность работать из любой точки мира, быть официально оформленным вне РФ (если требуется), или, наоборот, в аккредитованной IT-компании в РФ (если требуется).
- Также есть уютные офисы на Автозаводской в Москве, на Петроградке в Санкт-Петербурге, в Нижнем Новгороде, Сыктывкаре, а также в Алматы или в Дубае.
- Оплачиваем профильное обучение, купим билет на конференцию и необходимые книги.
- Помогаем публично выступить, прокачать тебя как автора статей, раскрутить в комьюнити.
- Частичная компенсация английского языка в Skyeng и сессий психолога в Alter.
- ДМС со стоматологией, с первого рабочего дня.
- У нас нет жесткого расписания, главное присутствие на командных митингах (они +/- по московского часовому поясу).