About the Role
About the Role
The Software Development Engineer role at AWS involves advancing the Hydro framework, focusing on distributed programming and AI. You will work on developing features that enhance the safety and reliability of distributed systems while collaborating with both internal and external customers.
Key Job Responsibilities
You'll work on the open source Hydro framework and its integration with Amazon's Kiro family of coding agents. Working directly with customers running some of the world's biggest distributed systems, you'll uncover real-world development challenges and translate them into product capabilities—staying true to Amazon's customer-obsessed approach. You'll build and deploy novel software engineering technology, advancing the safety, reliability and simplicity of building the cloud-scale software our customers demand. Your responsibilities span the full lifecycle: from compiler technologies to agent training and steering to scalable deployment. You'll balance innovation with operational excellence, making technical choices that enable Hydro open source and Kiro agents to work smoothly for a wide class of developers while meeting AWS's standards for scale and security.
A Day in the Life
You will engage with teammates on software engineering in Hydro, engage with internal customers to enable their success using Hydro, and engage with open-source users and contributors publicly.
About The Team
You'll join a team that bridges novel research and production engineering. We collaborate closely with UC Berkeley's Hydro research group, where the framework originated, maintaining strong ties to the academic community while building commercial-grade software. Our team culture emphasizes open source collaboration—you'll work directly with external contributors, engage with the broader Rust community, and help shape the future of distributed programming in the open. We value both deep technical expertise and the ability to translate research innovations into practical tools that developers love.
Basic Qualifications
- 5+ years of non-internship professional software development experience
- 5+ years of programming with at least one software programming language experience
- 5+ years of leading design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience as a mentor, tech lead or leading an engineering team
- 3+ years working on concurrent, parallel or distributed systems OR 3+ years working on compilers (LLVM, GraalVM, etc.) or modern build tools (Nix, Bazel, etc.)
Preferred Qualifications
- 5+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, and testing.
Requirements
Software Development Experience
5+ years of non-internship professional software development experience.
Programming Skills
5+ years of programming with at least one software programming language.
Design and Architecture
5+ years of leading design or architecture of new and existing systems.
Mentorship Experience
Experience as a mentor, tech lead or leading an engineering team.
Distributed Systems Knowledge
3+ years working on concurrent, parallel or distributed systems.
Nice to Have
5+ years of full software development life cycle experience.