DevJobs

Embedded Software Engineer - Networking drivers, ENA team

Overview
Skills
  • C C ꞏ 3y
  • Modern C++ Modern C++ ꞏ 3y
  • Linux Linux
  • Windows Windows
  • macOS macOS
  • Networking Networking
  • Network driver development
  • User-space development
  • TCP/IP stack
  • Systems programming
  • Kernel-space development
  • Hardware-software interfaces
  • BPF
  • Hardware offload technologies
  • Open-source contributions
  • Optimization
  • PCIe
  • Performance profiling
  • SR-IOV
  • FreeBSD
  • eBPF
  • DPDK
  • DMA
  • Windows Hardware Lab Kit
Description

Join AWS's ENA (Elastic Network Adapter) drivers team and build the networking software that powers millions of cloud instances worldwide. We develop high-performance kernel and user-space drivers for multiple operating systems running on the virtual machines that deliver exceptional bandwidth, low latency, and optimal performance across AWS's global infrastructure.

As an embedded Software Engineer, you'll work on drivers running across Linux, Windows, DPDK, FreeBSD and other operating systems. Your code will impact AWS customers globally through both proprietary AWS technologies and open-source contributions. You'll collaborate with multiple teams, contribute to upstream projects, and solve challenging performance problems at a massive scale.

Key job responsibilities

  • Design and implement networking drivers for AWS Nitro controllers powering millions of servers
  • Optimize network performance: improve bandwidth utilization, packets-per-second (PPS), cycles-per-packet and reduce latency
  • Develop and maintain kernel and user-space drivers across multiple operating systems (Linux, Windows, DPDK, FreeBSD, MacOS and other operating systems)
  • Contribute to open-source repositories including the Linux kernel and upstream projects
  • Debug complex networking issues in production environments with customer-facing impact
  • Collaborate with multiple teams, kernel maintainers, AWS service teams and AWS customers
  • Monitor driver performance metrics and maintain code quality standards
  • Build monitoring and automation tools to enhance driver testing for functionality, reliability, and performance

Basic Qualifications

  • Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent work experience
  • 3+ years of professional software development experience with strong C/C++14 programming skills
  • Experience with systems programming (kernel-space or user-space development)
  • Understanding of networking concepts: TCP/IP stack, network protocols or network driver development
  • Familiarity with at least one of: Linux, Windows or FreeBSD operating systems

Preferred Qualifications

  • Contributions to open-source projects or upstream kernel work
  • Performance profiling and optimization experience
  • Knowledge of BPF/eBPF programming
  • Experience with Windows Hardware Lab Kit (HLK) certification
  • Experience with DPDK kernel bypass, SR-IOV, or hardware offload technologies
  • Understanding of PCIe, DMA, or hardware-software interfaces

Our inclusive culture empowers Amazonians to deliver the best results for our customers. If you have a disability and need a workplace accommodation or adjustment during the application and hiring process, including support for the interview or onboarding process, please visit https://amazon.jobs/content/en/how-we-hire/accommodations for more information. If the country/region you’re applying in isn’t listed, please contact your Recruiting Partner.


Company - Annapurna Labs Ltd.

Job ID: A10375571
Amazon Web Services (AWS)