Описание вакансии
О команде
Мы — команда инженеров, развивающих направление автоматизации тестирования и разрабатывающих собственную облачную платформу автоматизированного тестирования. Мы — часть департамента единых облачных технологий в VK.
Наша миссия
Обеспечить тестировщиков и разработчиков удобными инструментами и производительной инфраструктурой для запуска автоматизированных тестов на всех платформах (web, API, Android, iOS, desktop). Платформа развёрнута в облаке и позволяет запускать тысячи тестов параллельно, что сокращает time to market продуктов наших клиентов за счёт сокращения времени тестирования и получения обратной связи.
Два ключевых компонента платформы — облачная ферма устройств и оркестратор автотестов (test runner).
Ищем в команду опытного инженера-разработчика, владеющего Java, для развития платформы автоматизированного тестирования и сопутствующих сервисов.
Наш стек: Java 11–21, Spring/Dropwizard, Gradle, MongoDB/PosgreSQL, JS.
Задачи
- Реализовывать новую функциональность платформы автоматизированного тестирования
- Дорабатывать и поддерживать существующую функциональность
- Проектировать отказоустойчивые сервисы
- Проводить code review
- Активно взаимодействовать с тестировщиками, разработчиками, ИБ, DevOps и SRE для решения вопросов автоматизации тестирования и развития платформы автоматизированного тестирования
- Интегрировать решения в новые проекты и команды
Требования
- Хороший уровень владения Java и обширные знания его экосистем, в частности Spring
- Твёрдое понимание разнообразия дизайна и архитектурных паттернов
- Понимание аббревиатур SOLID, KISS, DRY и их смысла
- Понимание принципов построения HL/HA-решений
- Опыт работы с микросервисной архитектурой
- Понимание принципов эксплуатации и мониторинга сервисов
- Понимание основ тестирования и автоматизации тестирования
- Опыт работы с SQL/NoSQL
- Опыт работы с системами контроля версий (Git)
- Умение работать с командной строкой в Linux
- Способность самостоятельно определять и соблюдать установленные сроки задач
- Умение работать в распределённой команде
Будет плюсом
- Навыки в CI/CD (TeamCity)
- Опыт работы с Docker
- Опыт работы с HTML5/CSS/JS-стеком (знание любого веб-фреймворка, инструментов и языков, например TypeScript)
- Твёрдое понимание разнообразия дизайна и архитектурных паттернов
- Опыт код-ревью
- Опыт работы с системами сборки Gradle
- Опыт работы с Spring Framework
- Умение и желание писать Unit-тесты
- Опыт работы с MongoDB