Java Developer в платформу тестирования в единые облачные технологии

Срок для отклика истек

Описание вакансии

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