Job Description
Company: Affirm
Location: Remote
Workplace Type: Remote
Employment Type: Full-time
Pay / Compensation: $173,000 – $255,000 per year (depending on location)
About the Role
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 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). We are looking for a talented Senior Software Engineer who can architect, build and scale Relational and Distributed SQL Databases identifying opportunities to improve how we build, productionize, operate and improve this mission-critical infrastructure to unlock substantial value within our business.
What You’ll Do / Key Responsibilities
- Build and Operate Control Planes: Build and operate the control plane for large-scale distributed SQL databases such as MySQL and TiDB, automating provisioning, failover, backups and upgrades end to end.
- Execute Zero-Downtime Migrations: Design and execute reliability-focused schema and data migrations across multi-tenant database clusters, with zero downtime for the products that depend on them.
- Manage Networking and Proxies: Own the networking stack that connects services to storage on Kubernetes, including connection proxies such as ProxySQL, and tune it for latency, resilience and failover.
- Drive Team Goals and Strategy: Own and deliver quarterly goals, leading engineers through ambiguity to solve open-ended problems, and ensuring that everyone is supported throughout delivery.
- Collaborate on Product Lifecycle: Support peers and stakeholders by participating in ideation, articulating technical constraints, and partnering on decisions that properly consider risks and trade-offs.
- Ensure System Operations and Availability: Support operations and availability by creating and monitoring metrics, escalating when needed, and supporting on-call and “keep the lights on” efforts.
- Foster Engineering Standards: Promote a culture of quality and ownership by setting or improving code review and design standards across the team.
Requirements & Qualifications
- 5+ years of total experience as a software engineer.
- Experience in designing, developing and launching backend systems at scale using technologies like Python, Kotlin, AWS, MySQL, Terraform, and Kubernetes.
- In-depth, hands-on experience with large-scale database deployments in a production environment.
- Expertise in distributed databases and database technologies such as MySQL (Preferred), TiDB (Preferred), Postgres, Spanner, Vitess, CockroachDB, etc.
- Solid understanding of distributed database architecture, data modeling, and performance tuning, particularly in SQL tuning and optimization.
- Experience with database benchmarking, load testing, and capacity planning.
- Familiarity with connection poolers and proxies such as ProxySQL, RDS Proxy, PgBouncer, PgDog, etc.
- Experience building control-plane or automation tooling for databases on Kubernetes.
- Strong experience executing zero-downtime migrations and major version upgrades on production databases.
- Equivalent practical experience or a Bachelor’s degree in a related field.
Benefits & Perks
- Health coverage at no cost: 100% coverage of premiums for employees and dependents (medical, dental, and vision).
- Spending stipends: Monthly stipends to support your tech setup, health, and wellness options.
- Time off to recharge: Flexible time off and generous holiday calendars.
- Employee Stock Purchase Plan (ESPP): Buy Affirm stock at a discount.