Performance Engineer в команду SRE

Дата размещения вакансии: 15.06.2024
Работодатель: Samokat.tech
Уровень зарплаты:
з/п не указана
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

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

Почему это точно интересно:

— У вас будет возможность работать над большим количеством проектов в команде профессионалов в сфере нагрузки, что позволит быстро развиваться в рамках performance тестирования.

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

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

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

Чем конкретно предстоит заниматься:

— Мы не занимаемся нагрузкой продуктов, вместо этого мы разрабатываем, развиваем и внедряем наш инструментарий нагрузочного тестирования в команды и инфру.

— Мы не пишем методики и не проводим долгий анализ результатов, вместо этого мы автоматизируем root cause detection, развиваем quality gate и делаем автоотчеты.

— Наши инженеры — это часть команды SRE, поэтому мы являемся владельцами сущности проблемы от архитектурного комитета до проблем менеджмента после инцидента

Требования:

— Уверенные знания подходов и методологий тестирования производительности; обязательно уметь отличать один тип тестов от другого и уметь создавать профили нагрузки.

— Опыт создания сценариев для проведения НТ и их реализации.

— Опыт работы с любым средством тестирования производительности (HP LoadRunner, JMeter, Yandex. Tank, Gatling).

— Обязателен опыт разработки заглушек/эмуляторов на любом языке программирования.

— Опыт тестирования клиент-серверных приложений (желательно с микросервисной архитектурой под капотом) и понимание принципов их работы и построения.

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

— Понимание какие нужно собирать метрики при проведении тестирования производительности и для чего они нужны.

Наш стек:

— Back: Kotlin (Spring) Ruby, Elixir, Redis, KeyDB, PGP, Golang, Hazelcast, microservices, Kafka.

— Database: PostgreSQL, MSSQL, Elasticsearch, ScyllaDB

— CI/ CD: GitLab, Kubernetes (Openshift), Argo CD, Docker Compose

Инструменты для тестирования:

— Логи/ Мониторинг: Kibana (EFK + APM), Sentry, Grafana, VictoriaMetrics, Zabbix

— НТ: Автоматизируем JMeter с помощью gitlab-ci/argocd + собственная библиотека на основе jmeter-java-dsl, ansible, bash + профильные утилиты (напр. iperf). Генерация отчетов в gitlab-pages. Заглушки на mock-server + самописные extensions.