Apple
Sr. Software Engineer, Infrastructure Services (Data Plane)
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер в команду Infrastructure Services (IS&T) для проектирования и эксплуатации высокопроизводительных сетевых data plane сервисов глобальной облачной инфраструктуры Apple.
Задачи
- Проектировать, реализовывать и оптимизировать системы обработки пакетов с высокой пропускной способностью и низкой задержкой, forwarding-движки и overlay-сети (VXLAN, Geneve, NAT, балансировка нагрузки)
- Строить модульные, отказоустойчивые и производительные системы с эффективными структурами данных, lock-free конкурентностью и аппаратно-программным ускорением
- Совместно с командами control plane и распределённых систем разрабатывать производительные API (gRPC, REST) для распространения состояния и применения политик
- Поддерживать работоспособность продакшена, разбирать инциденты с помощью packet capture, телеметрии, метрик и логов, внедрять долгосрочные исправления
- Использовать современные CI/CD, Git-процессы и инструменты конфигурационного управления для надёжной поставки ПО в сжатые сроки
Требования
- Уверенное владение языками системного программирования: C++, Go или C (Java и скриптовые языки вроде Python приветствуются)
- Прочная база по Computer Science: продвинутые структуры данных, алгоритмы, управление памятью, конкурентность
- Глубокое знание сетевых основ и внутреннего устройства data plane: протоколы L2–L4, поведение стека TCP/IP, инкапсуляция пакетов, маршрутизация, MTU/MSS, flow tables, QoS/traffic shaping
- Опыт работы с системами контроля версий (Git) и современными инструментами сборки и конфигурационного управления
- Опыт проектирования и оптимизации масштабируемых компонентов сетевого data plane, путей пересылки пакетов или сетевых подсистем ядра/userspace
- Понимание микросервисных архитектур, асинхронной коммуникации и дизайна API (REST, gRPC, Protobuf)
- Умение анализировать и отлаживать сложные продакшен-инциденты под давлением с использованием метрик, трейсов и системных логов
- Сильные коммуникативные навыки и умение работать кросс-функционально, брать на себя ответственность и доводить проекты до конца
Навыки
- C++
- Go
- C
- Java
- Python
- TCP/IP
- VXLAN
- Geneve
- NAT
- Load Balancing
- gRPC
- REST
- Protobuf
- Git
- CI/CD
- DPDK
- XDP
- eBPF
- VPP
- OVS
- P4
- SmartNICs
- ASICs
- network virtualization