Сервисы VK работают бесперебойно благодаря сетевой инфраструктуре. Десятки тысяч сетевых устройств участвуют в маршрутизации и фильтрации десятков терабит трафика в секунду.
Наша команда делает так, чтобы управлять этими устройствами было удобно и безопасно. Мы пишем инструменты автоматизации, чтобы:
- Вводить оборудование в работу. Подключили устройство — остальное произойдёт само
- Конфигурировать множество устройств. Сетевые инженеры знают, как оборудование должно быть сконфигурировано, а наша автоматика проверяет, корректны ли изменения, и доставляет их на устройства постепенно, чтобы ничего не сломать
- Выполнять типовые задачи на оборудовании. Сетевые инженеры создают сценарии для управления устройствами в системе, а мы делаем так, чтобы сценарии выполнялись надёжно и прозрачно
Если вам интересно работать с сетевым оборудованием и протоколами и делать инструменты, которыми станут пользоваться лучшие профессионалы в области сетевой инфраструктуры, то вам у нас понравится.
Задачи
- Писать код, тесты, планировать и создавать архитектуру
- Выполнять ревью и тестирование кода
- Проводить консультации и менторинг менее опытных коллег
- Отвечать за работу сервиса(-ов)
Требования
- Уверенное владение Python
- Уверенное владение СУБД и NoSQL; обязательно PostgreSQL; желательно Redis, ClickHouse
- Уверенное владение фреймворками Django и Flask, DRF, а также ORM: Django ORM, SQLAlchemy
- Уверенное построение UI как SSR (Django, Jinja), так и SPA (React или аналоги)
- Уверенное владение Linux на уровне начального или среднего администратора
- Опыт поддержания автотестов: юнит, интеграционное, end-to-end
- Опыт работы с сетевым оборудованием (Juniper/Cisco/Huawei)
- Опыт работы с системами мониторинга (Zabbix, Grafana, Prometheus, VictoriaMetrics)
- Опыт траблшутинга своих продуктов, анализа логов, метрик
Будет плюсом
- Владение JavaScript, TypeScript, SQL (в частности, PostgreSQL)
- Знакомство или опыт работы с haproxy/nginx, docker, patroni, supervisord, kubernetes, snmp, netconf
- Продвинутое или глубокое знакомство с сетями
- Опыт успешной сетевой автоматизации (netmiko/ncclient/napalm и тому подобное)
- Опыт командной работы, кросс-ревью, анализа и прогнозирования рисков принимаемых решений
- Умение декомпозировать задачи, управлять собственным тайм-менеджментом
- Открытость к взаимодействию с командой, инициативность и готовность помогать менее опытным коллегам
- Высокий уровень самостоятельности и ответственности