Software Development Engineer

Amazon Amazon · Big Tech · Seattle, WA · Software Development

This role builds and operates the software-defined networking stack for AWS EC2, focusing on the infrastructure that powers large-scale machine learning workloads. The engineer will write low-level systems code in C and Rust for custom hardware, dealing with network virtualization, packet processing, and availability mechanisms to ensure high performance and low latency for demanding AI training and inference tasks.

What you'd actually do

  1. Design and implement data plane networking software on custom hardware, working across the full software lifecycle from design through deployment and operations
  2. Build and improve network virtualization systems that deliver VPC connectivity, security policy enforcement, and performance isolation for EC2 customers
  3. Investigate and resolve complex production issues across distributed embedded systems, driving root cause analysis and permanent fixes
  4. Collaborate with partner teams across hardware, control plane, and ML platforms to deliver end-to-end solutions

Skills

Required

  • 3+ years of non-internship professional software development experience
  • 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
  • 1+ years of software development engineer or related occupational experience
  • 1+ years of designing and developing large-scale, multi-tiered, multi-threaded, embedded or distributed software applications, tools, systems, and services using: C#, C++, Java, or Perl experience
  • Bachelor's degree or foreign equivalent in Computer Science, Engineering, Mathematics, or a related field
  • Experience programming with at least one software programming language

Nice to have

  • 4+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
  • Knowledge of system performance, memory management, and parallel computing principles
  • Experience in networking, large-scale distributed systems or a related field
  • Experience in Linux and Networking protocols

What the JD emphasized

  • custom networking cards
  • custom silicon
  • low-level systems code
  • custom hardware
  • real-time embedded environment
  • massive scale
  • sub-second latency requirements
  • span hardware, firmware, and software