Software Development Engineer, ElastiCache
Amazon Web Services (AWS) · Seattle, WA · 2 wk ago
ConsultingFull-time
About the role
This is an opportunity to join one of AWS's most foundational and high-impact engineering teams — the In-Memory datastore team, part of Amazon ElastiCache. We build the next-generation, high-performance in-memory distributed data storage platform that powers some of the world's most demanding real-time applications.
Responsibilities
- Designing and building the next-generation in-memory NoSQL database platform, enabling developers to create highly available, scalable, and high-performance applications at unprecedented scale.
- Leading software development of large-scale distributed in-memory storage systems, primarily in Java and C/C++, leveraging open-source technologies such as Redis and Memcached alongside Amazon-proprietary technologies.
- Developing and operating HTTP/REST services, asynchronous messaging systems, and event-driven architectures that form the backbone of our platform.
- Building and improving real-time failure detection and auto-remediation systems capable of detecting node failures in large distributed clusters and initiating recovery within seconds.
- Driving horizontal and vertical scaling capabilities, management and monitoring plane workflows, fault tolerance mechanisms, and backup and restore technologies.
- Contributing to disaster recovery and prevention strategies to ensure the highest levels of availability and durability for our customers.
- Mentoring and growing junior engineers on the team, serving as a technical leader and role model for engineering best practices.
- Managing individual project priorities, deadlines, and deliverables with a high degree of autonomy and accountability.
Qualifications
- 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
- 1+ years of Object Oriented Design 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