Amazon
Software Development Engineer, EC2 Instance Networking
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер в команду EC2 Instance Networking, которая разрабатывает и эксплуатирует программно-определяемый сетевой стек AWS. Работа с низкоуровневым системным кодом на C и Rust на кастомном железе в embedded-среде.
Задачи
- Проектировать и реализовывать data plane сетевой софт на кастомном железе на всех этапах жизненного цикла — от дизайна до деплоя и эксплуатации
- Разрабатывать и улучшать системы сетевой виртуализации для VPC-связности, применения политик безопасности и изоляции производительности для клиентов EC2
- Расследовать и устранять сложные продакшн-инциденты в распределённых embedded-системах, проводить root cause analysis и внедрять постоянные исправления
- Взаимодействовать с командами hardware, control plane и ML-платформ для поставки end-to-end решений
Требования
- 3+ года профессионального опыта разработки ПО (не стажировки)
- 2+ года опыта проектирования или архитектуры новых и существующих систем (паттерны, надёжность, масштабирование)
- 1+ год опыта разработки крупномасштабных многоуровневых многопоточных embedded или распределённых приложений на C#, C++, Java или Perl
- Степень бакалавра или эквивалент в Computer Science, инженерии, математике или смежной области
- Опыт программирования хотя бы на одном языке
- Знание системной производительности, управления памятью и принципов параллельных вычислений (плюс)
- Опыт в сетях, крупномасштабных распределённых системах (плюс)
- Опыт работы с Linux и сетевыми протоколами (плюс)
Условия
- Базовая зарплата 143 700–194 400 USD в год
- Sign-on выплаты и RSU
- Медицинская страховка (medical, dental, vision, рецепты, страхование жизни и AD&D, EAP, поддержка психического здоровья, FSA, компенсация усыновления и суррогатного материнства)
- 401(k) с matching
- Оплачиваемый отпуск и отпуск по уходу за ребёнком
Навыки
- C
- Rust
- C++
- C#
- Java
- Perl
- Linux
- Networking protocols
- Distributed systems
- Embedded systems
- Network virtualization
- VPC
- Packet processing