JobFlexy

Software Development Engineer – Amazon – Vancouver, BC

Location: Vancouver, BC | Company: Amazon

Amazon Web Services is looking for a Software Development Engineer to join the ElastiCache and MemoryDB Data Plane team in Vancouver, BC. This is a deeply technical role at the core of one of AWS’s most foundational services — the in-memory engine that powers workloads for Disney+, Snap, Zoom, Lyft, Airbnb, and hundreds of thousands of other customers worldwide.

Sponsored Links

This role places you at the intersection of systems programming, database internals, and distributed systems engineering. You’ll be working in C/C++ at the lowest levels of the stack — tuning memory allocators, designing replication protocols, and building durability layers for a system that serves millions of operations per second with sub-millisecond latency targets.

About the Role: Software Development Engineer, ElastiCache

As a member of the Data Plane team, you’ll take broad ownership of the core engine behind Amazon ElastiCache and Amazon MemoryDB — the only Valkey-compatible database delivering in-memory speed with Multi-AZ durability. You’ll be extending open-source Valkey with novel capabilities including durable replication, active-active conflict resolution, full-text search, and vector search, all while maintaining the sub-millisecond latencies that production customers depend on.

Beyond individual contribution, this role carries a leadership dimension: mentoring engineers through code reviews, design feedback, and pairing sessions, and contributing to operational excellence through on-call rotations and reliability improvements. You’ll collaborate closely with upstream open-source Valkey contributors and internal partner teams to ensure capabilities are integrated cleanly and remain performant at scale.

Sponsored Links

Benefits and Salary

The base salary range for this position in Vancouver, BC is $114,800 to $191,800 CAD annually. Amazon’s total compensation package may also include sign-on payments and restricted stock units (RSUs), with final compensation based on experience, qualifications, and location. Benefits include comprehensive health insurance (medical, dental, vision, prescription, and basic life & AD&D), a Registered Retirement Savings Plan (RRSP), Deferred Profit Sharing Plan (DPSP), paid time off, and additional resources supporting health and well-being.

Job Details

📌 Job Type: Full-Time

🏢 Company: Amazon Development Centre Canada ULC

📍 Location: Vancouver, BC

👤 Requisition ID: 10399812

💰 Pay: $114,800 – $191,800 CAD annually

Responsibilities

Day-to-day, you can expect a dynamic mix of deep technical work and collaborative engineering. A typical week spans writing production-quality C/C++ code, participating in architecture debates, debugging complex distributed systems issues, and translating emerging customer needs — from generative AI workloads requiring vector search to globally distributed applications needing active-active replication — into real engine capabilities.

  • Design and build the next-generation in-memory database engine, delivering sub-millisecond latencies and millions of operations per second to demanding production workloads.
  • Develop large-scale distributed in-memory storage systems in C/C++, extending open-source Valkey with durability, replication, and advanced data structure capabilities.
  • Build and optimize the durability layer — transaction logging, snapshotting, and replication protocols — enabling MemoryDB to deliver in-memory speed with Multi-AZ data protection.
  • Design and implement advanced data structures and query capabilities including vector search and full-text search to support emerging workloads like generative AI.
  • Drive performance engineering at the systems level — memory allocator tuning, I/O path optimization, and lock-free concurrency — to push throughput and latency boundaries.
  • Contribute to active-active replication and conflict resolution mechanisms enabling globally distributed, low-latency data access.
  • Mentor and grow engineers on the team through code reviews, design feedback, and pairing sessions.
  • Participate in on-call rotations and drive improvements to engine reliability and diagnostic tooling.

Requirements / Skills

The ideal candidate brings strong systems programming fundamentals and a genuine passion for solving hard problems at the engine level. Amazon values technical depth and ownership, and this team in particular prizes engineers who can operate autonomously across the full software development lifecycle — from design through production operations.

  • 3+ years of professional software development experience (non-internship)
  • 2+ years of design or architecture experience involving design patterns, reliability, and scaling of new and existing systems
  • 1+ years designing and developing large-scale, multi-tiered, multi-threaded, or distributed applications using C#, C++, Java, or Perl
  • Object Oriented Design experience of at least 1 year
  • Bachelor’s degree in Computer Science, Engineering, Mathematics, or a related field
  • 3+ years of full software development life cycle experience including coding standards, code reviews, source control management, build processes, testing, and operations (preferred)
  • Familiarity with database internals, distributed systems concepts, or low-level systems programming is a strong asset

How to Apply

To apply, visit the official Amazon job posting using the link below. Make sure your resume is up to date and tailored to highlight relevant systems programming and distributed systems experience before submitting.

Share This Opportunity

Know someone who might be interested? Share this job posting and help them join Amazon in Vancouver.

Job Summary & Tips for Applying

AI-generated summary and tips to help you highlight your strengths effectively.

Quick Summary & What to Highlight: This Software Development Engineer role at Amazon in Vancouver is ideal for candidates who excel in systems programming (C/C++), distributed systems design, and database internals. On your resume, emphasize any hands-on experience with in-memory data systems, replication protocols, or performance engineering, your attention to correctness and latency, and your ability to operate independently in a fast-paced, high-ownership engineering environment. If you’ve previously worked on storage engines, caching systems, or low-level infrastructure, make sure to highlight specific achievements and technical challenges you solved.

Resume & Application Tips: Before applying, tailor your resume to match the job description. Include keywords like C/C++ development, distributed in-memory systems, and durability and replication that appear prominently in the posting. Quantify your achievements where possible (e.g., “reduced p99 latency by 30% through I/O path optimization” or “designed replication protocol handling 2M ops/sec”). Write a brief cover letter that speaks to your interest in low-level systems work and why the ElastiCache/MemoryDB problem space appeals to you. Double-check your application for accuracy and ensure your contact information is current.

Interview Preparation: If selected for an interview, research Amazon‘s Leadership Principles, the ElastiCache and MemoryDB product suite, and the Valkey open-source project beforehand. Prepare specific examples using the STAR method (Situation, Task, Action, Result) to demonstrate your systems design and engineering judgment. Common questions may include deep technical scenarios around memory management, lock-free data structures, write-ahead logging, and replication consistency trade-offs. Dress appropriately for a technology and cloud computing environment, arrive or join the call 10–15 minutes early, and bring copies of your resume if interviewing in person. Prepare thoughtful questions about the team’s roadmap, on-call culture, and technical challenges ahead. After the interview, send a thank-you note within 24 hours reiterating your interest in the position.