Разработка и развитие (доработка) системы, автоматизирующей комплексное функциональное и нагрузочное тестирование нашей сетевой ОС (представляет собой оркестратор и сотни сценариев для него);
Развитие имеющихся и создание новых автотестов для упомянутой системы;
Описание сетевых топологий, воспроизводящих типичные сетевые конфигурации наших заказчиков, в виде программного кода;
Участие в проектировании и написании последовательностей (pipelines) CI/CD;
Взаимодействие с разработчиками с целью реализации сценариев тестирования добавляемых функций и с целью формирования задач по устранению выявленных неисправностей.
Требования:
Знание методик тестирования ПО и сетевых решений (smoke тесты, юнит-тесты и пр.);
Уверенная работа в операционных системах Linux;
Понимание устройства сетей связи на базе Ethernet и IP;
Умение автоматизировать задачи с помощью скриптов на Python и Bash: вы знакомы с синтаксисом этих языков, способны с нуля написать нужный скрипт, способны разобраться в имеющемся сложном коде от 10 000 строк;
Виртуализация в Linux (QEMU-KVM) и изоляция (Docker): вы можете подготовить конфигурацию VM KVM с нуля, запустить ее и диагностировать;
Опыт эксплуатации и поиска неисправностей в сетевых инфраструктурах на базе Ethernet и IP: если у вас сеть из нескольких элементов и не проходят пакеты, вы понимаете, как проводить диагностику.
Будет плюсом:
Опыт эксплуатации Ethernet и IP-сетей;
Опыт написания автотестов;
Опыт работы с фреймворками тестирования;
Опыт работы с веб-фреймворками Django, Flask (или эквивалентами);
Опыт работы с базами данных (любая БД, которая позволит создать микросервис для обработки служебной информации сложного приложения);
Опыт работы c CI/CD средами, желательно, с Jenkins;
Опыт эксплуатации виртуализированных облачных инфраструктур в Linux;
Опыт работы с контейнеризированными сервисами;
Опыт работы с Jenkins Pipeline (pipeline as code) и Apache Groovy DSL;
Понимание современного устройства процесса разработки ПО:
• Работа с кодом в системе SCM (Git, GitLab); • Работа с системами сборки autoconf, automake, make; • Применение подходов DevOps и CI/CD; • Работа с задачами в трекере (Jira и пр.), проектная работа Agile Scrum.
Английский язык на уровне, позволяющий свободно читать техническую документацию.
Условия:
5/2, возможность полностью удаленной работы. Кандидаты, проживающие в Москве, могут, при желании, приезжать в офис;