Software Development Engineer, ElastiCache (Vancouver)

Amazon Development Centre Canada ULC

VancouverFull-timeMid LevelOn-site

Job Description

Job Overview This is an opportunity to join one of AWS's most foundational and high‑impact engineering teams — the Data Plane team within Amazon ElastiCache and MemoryDB. We own the core in‑memory engine that powers millions of customer workloads: the data path, durability layer, replication protocol, snapshot system, and advanced data structures. Our work sits at the intersection of systems programming, database internals, and performance engineering — every microsecond matters when you're serving the world's most latency‑sensitive applications.

If you've ever found yourself deep in a conversation about write‑ahead logs, copy‑on‑write fork semantics, lock‑free data structures, or memory allocator design — and you want to apply those ideas to a system handling millions of operations per second at cloud scale — this team is where you belong. We build the engine behind Amazon MemoryDB, the only Valkey‑compatible database that delivers in‑memory speed with Multi‑AZ durability. We’re not just running an open‑source cache; we’re extending Valkey with novel capabilities — durable replication, active‑active conflict resolution, full‑text and vector search — while maintaining the sub‑millisecond latencies our customers depend on.

Key Responsibilities Designing and building the next‑generation in‑memory database engine, delivering sub‑millisecond latencies and millions of operations per second to the world's most demanding applications. Developing large‑scale distributed in‑memory storage systems in C/C++, extending open‑source Valkey with durability, replication, and advanced data structure capabilities. Building and optimizing the durability layer — transaction logging, snapshotting, and replication protocols — that enables MemoryDB to deliver in‑memory speed with Multi‑AZ data protection.

Designing and implementing advanced data structures and query capabilities including vector search and full‑text search to support emerging workloads like generative AI. Driving performance engineering at the systems level — memory allocator tuning, I/O path optimization, and lock‑free concurrency — to push throughput and latency boundaries. Contributing to active‑active replication and conflict resolution mechanisms that enable globally distributed, low‑latency data access.

Mentoring and growing 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. Day in the Life Writing and reviewing production‑quality C/C++ code for the core in‑memory engine — optimizing data structures, replication paths, and the durability layer for maximum throughput at minimal latency.

Participating in design reviews and architecture discussions, debating trade‑offs around durability guarantees, memory efficiency, and replication consistency, then building the solution. Collaborating with peer engineers to debug complex systems issues at the engine level — analyzing crash dumps, tracing memory corruption, and profiling hot paths under production‑scale load. Working with upstream open‑source Valkey contributors and internal partner teams to integrate new capabilities and ensure our extensions remain compatible and performant.

Engaging with product teams to understand emerging customer needs — from generative AI workloads requiring vector search to globally distributed applications needing active‑active replication — and translating those into engine capabilities. Mentoring engineers through code reviews, design feedback, and pairing sessions, helping them grow their systems programming skills and engineering judgment. Contributing to the team's operational excellence by participating in on‑call rotations and driving improvements to engine reliability and diagnostic tooling.

Basic Qualifications 3+ years of non‑internship professional software development experience. 2+ years of non‑internship design or architecture of recent and existing systems. 1+ year of software development engineer or related occupational experience. 1+ year 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. 1+ year 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.

Preferred Qualifications 3+ years of full software development life cycle experience, including coding standards, code reviews, source control management, build processes, testing, and operations. Bachelor's degree in computer science or equivalent. Amazon is an equal opportunity employer and does not discriminate on the basis of protected veteran status, disability, or other legally protected status.

If you have a disability and need a workplace accommodation or adjustment during the application and hiring process, including support for the interview or onboarding process, please visit https://amazon.jobs/content/en/how-we-hire/accommodations for more information. If the country/region you’re applying in isn’t listed, please contact your Recruiting Partner. CAN, BC, Vancouver - 114,800.00 - 191,800.00 CAD annually #J-18808-Ljbffr

Posted 3 weeks ago

Related Jobs

Related Searches

Apply Now