Описание вакансии
Мы — команда инженеров, занимающихся развитием направления автоматизации тестирования и разработкой собственной облачной платформы автоматизированного тестирования.
Мы являемся частью департамента единых облачных технологий в VK. Наша миссия — обеспечить тестировщиков и разработчиков удобными инструментами и производительной инфраструктурой для запуска автоматизированных тестов на всех платформах (Web, API, Android, iOS, Desktop).
Наша платформа развернута в облаке и позволяет запускать тысячи тестов параллельно, что сокращает time-to-market продуктов наших клиентов за счёт сокращения времени тестирования и получения обратной связи. Два ключевых компонента платформы — облачная ферма устройств и оркестратор автотестов (test runner). Платформой уже пользуются несколько крупных бизнес-юнитов холдинга VK, и это только начало.
В планах сделать платформу единой точкой для запуска E2E-автотестов. Помимо фермы и тест-раннера, наша платформа включает репорт-систему собственной разработки для анализа результатов тестов, сервис для генерации и хранения тестовых данных и ещё несколько полезных продуктов.
Мы ищем в команду опытного инженера-разработчика, владеющего Java, для развития платформы автоматизированного тестирования и сопутствующих сервисов.
- реализовывать новый функционал платформы автоматизированного тестирования;
- дорабатывать и поддерживать существующую функциональность;
- проектировать отказоустойчивые сервисы;
- оценивать задачи и выполнять их в срок;
- проводить code review;
- активно взаимодействовать с тестировщиками, разработчиками, ИБ, DevOps и SRE для решения вопросов автоматизации тестирования и развития платформы автоматизированного тестирования;
- интегрировать наши решения в новые проекты и команды.
- высокий уровень владения Java и обширные знания его экосистем, в частности Spring;
- твердое понимание разнообразия дизайна и архитектурных паттернов;
- вас не пугают аббревиатуры SOLID, KISS, DRY, и вы понимаете их смысл;
- понимание принципов построения HL/HA-решений;
- опыт работы с микросервисной архитектурой;
- понимание принципов эксплуатации и мониторинга сервисов;
- понимание основ тестирования и автоматизации тестирования;
- навыки в CI/CD (TeamCity);
- опыт работы с Docker;
- опыт работы с SQL/NoSQL;
- опыт работы с HTML5/CSS/JS-стеком (знание любого веб-фреймворка, инструментов и языков, например TypeScript);
- опыт работы с системами контроля версий (Git);
- умение работать с командной строкой в Linux;
- способность самостоятельно определять и соблюдать установленные сроки задач;
- умение работать в распределённой команде.
- умеете обсуждать и объяснять решения;
- твердое понимание разнообразия дизайна и архитектурных паттернов;
- опыт код-ревью;
- опыт работы с системами сборки Gradle;
- опыт работы со Spring Framework;
- умение и желание писать Unit-тесты;
- опыт работы с MongoDB.