Middle Software Engineer II, Backend (Online Storage)
At Affirm, we exist for the moments that matter—giving people a clear, predictable way to pay over time, with no hidden fees, no surprises, and no tradeoffs on what matters most.
The Data and Storage Services team is responsible for Affirm's data infrastructure across OLTP and OLAP systems, spanning critical online checkout databases, batch orchestration, streaming infrastructure, event-driven frameworks, BI, analytics tooling, large-scale data platforms, and agentic data tools such as semantic layers and internal platform data applications. Our mission is to provide trustworthy, intuitive, and cost-efficient solutions for Affirmers to secure, store, analyze, and transform data at exceptional scale.
The Online Storage team provides a set of managed databases as a platform, used to persist data for all Affirm services. Our platform enables self-service access to OLTP storage systems, including Relational DB(MySQL), KV(DynamoDB), Distributed SQL(TiDB) and Cache(Redis). As a team, we are responsible for various data and access patterns, including but not limited to mission-critical financial transactional data, data science models, and any new persistence use case. These responsibilities require us to learn and gain deep expertise in various database systems.
We are looking for a talented Software Engineer who can build and scale Cache Services (Redis and Valkey) identifying opportunities to improve how we migrate, productionize, operate, self-service and improve this mission-critical infrastructure to unlock substantial value within our business. You’ll have the opportunity to directly influence your team’s roadmap in close collaboration with your peers, share your knowledge and expertise with others and learn from some of the best on our shared mission to deliver honest financial products that improve lives.
What you’ll do
- Build and scale Affirm's Cache Services on Redis and Valkey, owning cluster migrations end to end and delivering them in phases against agreed outcomes.
- Productionize cache clusters: capacity and shard planning, failover and replication setup, upgrades, and staged rollouts with rollback paths.
- Replace manual cache requests (provisioning, config changes, access) with automated, audited self-service workflows.
- Operate the fleet in production: define SLOs, build alerting for hot keys, memory pressure and replication lag, and use on-call findings to reduce KTLO.
- Partner with client teams on caching strategy (key design, TTLs, consistency, client timeouts) and feed fleet data into the team's roadmap.
- With the support of your team’s tech lead and manager, you will break down larger projects into individual tasks, deliver them in multiple phases, and collaborate with others to ensure timely delivery of your work.
- Support your peers and stakeholders in the product development lifecycle by collaborating with product management, design & analytics by participating in ideation, articulating technical constraints, and partnering on decisions that properly consider risks and trade-offs.
- Support the operations and availability of your team’s artifacts by creating and monitoring metrics, escalating when needed, and supporting “keep the lights on” & on-call efforts.
- Contribute to a sense of community on your team by engaging in growth and development activities such as participation in the interview process.
What we look for
- 2+ years of experience as a software engineer.
- Experience designing, developing and launching backend systems and are proficient in one of Python or Kotlin.
- Familiar with the building blocks of distributed systems, and the technologies like AWS, MySQL, Redis/Valkey, Terraform and Kubernetes.
- Have worked on Redis, Valkey or a comparable in-memory store in production and understand replication, persistence, cluster mode, eviction, and their failure modes.
- Can reason about a caching workload end to end: hit rates, tail latency, hot keys, stampedes, and consistency with the source of truth.
- Experience automating infrastructure operations with Terraform, Kubernetes and Python, and prefer tested playbooks over manual runbooks.
- Experience carrying on-call for a stateful service and can take an incident from metrics to root cause to a durable fix.
- You have mastered taking a simple problem or business scenario into a solution that interacts with multiple software components, and executing on it by writing clear, easily understood, well tested and extensible code.
- Comfortable navigating a large code base, debugging others' code, and providing feedback to other engineers through code reviews.
- Demonstrated experience that you take ownership of your growth, proactively seeking feedback from your team, your manager, and your stakeholders.
- Strong verbal and written communication skills that support effective collaboration with our global engineering team.
Base Pay Grade - L
Equity Grade - Canada 5
Employees new to Affirm typically come in at the start of the pay range. Affirm focuses on providing a simple and transparent pay structure which is based on a variety of factors, including location, experience and job-related skills.
Base pay is part of a total compensation package that may include monthly stipends for health, wellness and tech spending, and benefits (including 100% subsidized medical coverage, dental and vision for you and your dependents). In addition, the employees may be eligible for equity rewards offered by Affirm Holdings, Inc. (parent company).
CAN base pay range per year: $133,000 - $183,000 $CAD.
This remote role is open only to candidates residing in Alberta, British Columbia, Manitoba, New Brunswick, Newfoundland and Labrador, Nova Scotia, Ontario, Prince Edward Island, or Saskatchewan.
#LI-RemoteRemote-first with flexibility built in Affirm is proud to be a remote-first company. Most roles can be done from almost anywhere within the country of employment. Some positions may occasionally require in-person work at an Affirm office, and a few are office-based due to the nature of the work. All new hires will be invited to attend an in-person onboarding experience.
Benefits designed for you Our benefits reflect our commitment to care, transparency, and flexibility. Here are a few highlights:
- Health coverage at no cost: We cover 100% of premiums for employees and their dependents.
- Spending stipends: Monthly stipends support your tech setup, and the ability to choose health and wellness options that are right for you.
- Time off to recharge: Flexible time off and generous holiday calendars help you rest when you need to.
- Own a piece of what you build: Our employee stock purchase plan (ESPP) lets you buy Affirm stock at a discount.
We’re committed to providing an inclusive interview process, including accommodations for candidates with disabilities. If you need support, we’re happy to help.
For positions based in San Francisco or Los Angeles: Affirm considers qualified applicants with arrest and conviction records, as required by law.
By clicking "Submit Application," you acknowledge that you have read Affirm's Global Candidate Privacy Notice and consent to the use of your personal information as described.
Required Skills
Required Languages
🇬🇧 English