# Software Engineer II, Backend (Online Storage)

**Company**: Affirm
**Location**: Remote Canada
**Work arrangement**: remote
**Experience**: mid
**Job type**: full-time
**Salary**: $133,000 - $183,000
**Category**: Engineering
**Industry**: Finance

**Apply**: https://job-boards.greenhouse.io/affirm/jobs/8012043003?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_265426d3-203

## Description

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.

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 Software Engineer II, Backend (Online Storage), you will 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.

Responsibilities:

- 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.

- 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.

Requirements:

- 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.

Benefits:

- 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.

## Skills

### Required
- Python
- Kotlin
- AWS
- MySQL
- Redis/Valkey
- Terraform
- Kubernetes

---

Source: [Apply at job-boards.greenhouse.io](https://job-boards.greenhouse.io/affirm/jobs/8012043003?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
