- Разрабатывать сетевые сервисы на Python и Golang, такие как DNS-as-a-service, высокопроизводительные балансировщики и др.
- Обновлять сетевые компоненты Openstack (octavia, neutron), писать патчи, фиксить баги в upstream
- Ревьювить код, писать unit и функциональные тесты
- Проводить исследования, проектировать архитектуру новых компонентов
- Хорошее знание Python (Flask, SqlAlchemy, Сelery, Oslo, Taskflow) и другими, специфичными для OpenStack
- Опыт работы как с небольшими микросервисами, так и с масштабными монолитными проектами
- Знание сетевых технологий, их возможностей и ограничений: понимать отличие VLAN от VXLAN, как работает маршрутизация трафика, что такое BGP, умение снять tcpdump и разобраться в нём
- Опыт работы с MySQL/PostgreSQL/ClickHouse, RabbitMQ, Redis
- Опыт проектирования API и архитектуры приложения, в том числе микросервисной архитектуры
- Опыт работы с ОС семейства Linux, то есть для вас не должно быть проблемой: написать bash скрипт, "погрепать" логи, выйти из Vim, настроить IP адреса и сетевые интерфейсы
- Опыт работы и понимание принципов CI/CD и IaC: у нас используется GitlabCI, Puppet, Jenkins
- Опыт работы с Docker и Kubernetes: мы активно используем эти технологии на всех этапах разработки и внедрения наших систем, так что с ними вы столкнетесь в первые же дни
- Опыт разработки на Golang
- Опыт работы с OpenStack (другие облака) минимум на уровне пользователя, а лучше как разработчик/администратор
- Знания сетевых технологий облаков: оверлейные сети, плавающие адреса, security groups, использование NAT, OpenFlow, Open vSwitch, OVSDB, балансировка трафика
- Практический опыт работы с сетевым оборудованием
Навыки автоматизации управления сетевым оборудованием (Netconf, SSH, OVSDB)