Обязанности:
О командеМы — команда инженеров, развивающих направление автоматизации тестирования и разрабатывающих собственную облачную платформу автоматизированного тестирования. Мы — часть департамента единых облачных технологий в 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.