Zayo
Senior Software Engineer
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior Software Engineer в команду Network Automation Software Engineering компании Zayo. Разработка Python-микросервисов и решений автоматизации для управления крупномасштабной телекоммуникационной сетью.
Задачи
- Проектировать, разрабатывать, тестировать и поддерживать Python-приложения и микросервисы для сетевой автоматизации и оркестрации
- Строить и интегрировать gRPC-сервисы с использованием Protocol Buffers
- Проектировать масштабируемые и поддерживаемые архитектуры ПО для провижининга и управления жизненным циклом сети
- Разрабатывать переиспользуемые компоненты, библиотеки и API для интеграции с внутренними системами и сетевой инфраструктурой
- Писать чистый, эффективный, документированный и покрытый тестами код
- Выявлять и устранять дефекты, узкие места производительности и проблемы надёжности
- Участвовать в архитектурных обсуждениях, технических ревью и выборе технологий
- Разрабатывать решения автоматизации на Cisco NSO: сервисные модели, пакеты и интеграции с сетевыми устройствами
- Взаимодействовать с командами сетевой инженерии и эксплуатации для перевода требований в автоматизированные workflow
- Разрабатывать и улучшать GitLab CI/CD пайплайны
- Паковать и деплоить приложения в Docker-контейнерах с оркестрацией через Docker Swarm
- Поддерживать работу, мониторинг и надёжность production-микросервисов
- Работать в Agile-среде: планирование спринтов, стендапы, груминг бэклога, код-ревью, ретроспективы
- Менторить junior и middle инженеров, давать обратную связь по коду
- Брать на себя ответственность за сложные технические инициативы от дизайна до продакшн-поддержки
- Продвигать инженерные практики: автотесты, поддерживаемый код, документацию, продуманный дизайн систем
- Снижать технический долг и повышать производительность и надёжность платформ автоматизации
Требования
- Bachelor’s degree в Computer Science, Software Engineering, Computer Engineering или смежной области либо эквивалентный практический опыт
- Минимум 5 лет профессиональной разработки ПО с опытом проектирования и выпуска production-систем
- Сильное владение Python: ООП, асинхронное программирование, разработка API, автотестирование
- Опыт создания и поддержки микросервисов или распределённых приложений
- Практический опыт с gRPC и Protocol Buffers либо значительный опыт с аналогичными технологиями разработки API
- Понимание принципов проектирования ПО, структур данных, алгоритмов и архитектурных паттернов
- Опыт работы с Git и совместными workflow разработки, включая merge requests и код-ревью
- Опыт работы с CI/CD пайплайнами и автоматизированной доставкой ПО
- Практический опыт разработки и деплоя контейнеризованных приложений на Docker
- Опыт диагностики сложных приложений и проблем во взаимодействующих сервисах
- Сильные коммуникативные навыки, аналитическое мышление и умение работать в междисциплинарных командах
- Практический опыт с Cisco NSO: service packages, YANG-модели, Python API, оркестрация сетевых сервисов
- Опыт с GitLab CI/CD и Docker Swarm в production
- Знакомство с сетевыми технологиями и протоколами: NETCONF, RESTCONF, SSH, YANG
- Понимание основ сетей: TCP/IP, маршрутизация, коммутация, VLAN, MPLS, BGP
- Опыт проектирования и интеграции систем для провижининга, управления конфигурацией или активации сервисов
- Понимание распределённых систем: межсервисное взаимодействие, конкурентность, отказоустойчивость, ретраи, обработка ошибок
- Знакомство с observability: структурированное логирование, метрики, мониторинг, распределённый трейсинг
- Опыт работы с реляционными и нереляционными базами данных
- Знание Linux, shell-скриптинга и практик деплоя приложений
- Опыт с фреймворками автотестирования, например pytest, и стратегиями интеграционного тестирования
- Опыт в телекоммуникациях, у провайдеров услуг или в крупномасштабной сетевой инфраструктуре
Условия
- Диапазон базовой зарплаты: $112,800 - $173,600 USD в год
- Возможность участия в дискреционном годовом бонусном плане
- Медицинская, стоматологическая и оптическая страховка
- Пенсионный план 401(k)
- Щедрая политика оплачиваемых отпусков, включая оплачиваемый отпуск по уходу за ребёнком
- Страхование жизни и страхование по нетрудоспособности
- Позиция не предполагает спонсорства рабочей визы
Навыки
- Python
- gRPC
- Protocol Buffers
- Cisco NSO
- YANG
- NETCONF
- RESTCONF
- SSH
- GitLab CI/CD
- Docker
- Docker Swarm
- Git
- pytest
- TCP/IP
- BGP
- MPLS
- VLAN
- Linux
- shell scripting
- microservices
- distributed systems