Software Development Engineer I
Annapurna Labs
About the Role
Join a team that owns the network stack for EC2 distributed AI/ML systems. This role offers a ground-floor opportunity to work at the intersection of high-performance computing, networking, and machine learning infrastructure, building systems that power the largest AI workloads in the cloud.
Key Responsibilities
- Write high-performance C/C++ code for network communication libraries running on custom AWS hardware.
- Build and maintain infrastructure that monitors functionality and performance of large-scale AI/ML workloads.
- Develop automation using Python and AWS tools (CI/CD, Grafana, Athena) to test, benchmark, and deliver software.
- Design mechanisms to detect functional and performance regressions before they reach production.
- Work across many instance types, software stacks, and Linux environments.
Requirements & Tech Stack
- Experience with at least one modern language such as Java, Python, C++, or C#, including object-oriented design.
- Experience with at least one general-purpose programming language such as Java, Python, C++, C#, Go, Rust, or TypeScript.
- Experience with data structure implementation, basic algorithm development, and/or object-oriented design principles.
- Experience using AI-assisted development tools in academic or professional settings.
- Bachelor's degree or above in Computer Science, Computer Engineering, or related fields.
- Strong proficiency in C/C++.
- Solid coursework or project experience in:
- Operating Systems (Linux internals, kernel concepts, memory management)
- Parallel Computer Architecture (multi-threading, SIMD, GPU programming, cache coherence)
- Distributed Systems (consensus, message passing, fault tolerance, scalability)
- Familiarity with Linux development environments and toolchains.
Qualifications
- Experience from a technical internship.
- Experience in optimization mathematics such as linear programming and nonlinear optimization.
- Experience with distributed, multi-tiered systems, algorithms, and relational databases.
- Experience with Cloud platforms (preferably AWS), database systems (SQL and NoSQL), AI tools for development productivity, contributing to open-source projects, and/or version control systems.
- Internship experience in ML communications, HPC networking, or RDMA/high-speed interconnects.
- Exposure to network programming (sockets, MPI, collective communication patterns).
- Experience with performance profiling and optimization.
- Familiarity with GPU programming (CUDA) or hardware-software co-design.
- Contributions to open-source projects in systems, networking, or HPC.