11 Sep
|
Amazon
|
Cambridge
Who you are
- Experience building complex software systems that have been successfully delivered to customers
- Experience programming with at least one modern language such as Java, C++, or C# including object-oriented design
- Knowledge of professional software engineering & best practices for full software development life cycle, including coding standards, software architectures, code reviews, source control management, continuous deployments, testing, and operational excellence
- Bachelor's degree in computer science or equivalent
- Experience with full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Knowledge of system performance, memory management, and parallel computing principles
What the job involves
- Join our team building high-performance data access solutions that power critical workloads across AWS. We're creating open source systems software that enables applications to achieve breakthrough throughput when accessing Amazon S3, working across multiple programming languages including Rust, and diving deep into file system architectures and container orchestration
- In this role, you'll tackle challenging problems with limited data, transforming ambiguity into elegant solutions.
You'll work at the intersection of distributed systems, systems programming, and customer needs—designing software that handles massive scale while maintaining exceptional performance.
Your technical depth and problem-solving skills will directly impact how customers access and process data at scale
- Design, develop, and maintain high-performance client software for Amazon S3, ensuring scalability, reliability, and optimal throughput for customer workloads
- Engage directly with customers and product managers to understand requirements, gather feedback, and translate business needs into technical solutions that solve real-world data access challenges
- Contribute significantly to the full software development lifecycle including code reviews, testing, deployment, and operational support, while identifying and resolving root causes of issues in distributed systems
- Dive deep into complex technical domains such as Kubernetes integration, Rust systems programming, and file system implementations to debug issues and implement optimizations
- Collaborate on open source projects across multiple programming languages, writing explicit documentation and training team members on system architecture, operation, and maintenance
- You might spend your morning collaborating with customers to understand their unique data access patterns and challenges, then transition to pairing with product managers to refine upcoming features
- Your afternoon could involve diving deep into Kubernetes integration issues, optimizing Rust code for better performance, or debugging complex file system behaviors
- Throughout the day, you'll participate in code reviews, share knowledge with teammates, and balance new feature development with operational improvements
📌 Software Development Engineer (Cambridge)
🏢 Amazon
📍 Cambridge