SlipstreamJobs tracks this role from the company's public career site. Apply directly on the employer's site.
Salary: USD 173,000 - 255,000 / annual
Affirm is seeking a Senior Software Engineer to join the Online Storage team, which is responsible for building and operating managed databases as a platform used across all Affirm services. The team manages critical infrastructure for OLTP storage systems including MySQL, DynamoDB, TiDB, and Redis, handling mission-critical financial transactional data, data science models, and other persistence use cases.
In this role, you will architect, build, and scale relational and distributed SQL databases while identifying opportunities to improve how the company builds, productionizes, and operates this infrastructure. You'll work closely with peers to influence the team's roadmap and share expertise across the organization.
Key responsibilities include:
- Building and operating the control plane for large-scale distributed SQL databases (MySQL, TiDB), automating provisioning, failover, backups, and upgrades end-to-end
- Designing and executing reliability-focused schema and data migrations across multi-tenant database clusters with zero downtime
- Owning the networking stack connecting services to storage on Kubernetes, including connection proxies like ProxySQL, tuned for latency, resilience, and failover
- Owning and delivering quarterly goals for your team, leading engineers through ambiguity on open-ended problems
- Supporting product development by collaborating with product management, design, and analytics on ideation, technical constraints, and risk/trade-off decisions
- Proactively identifying and solving project, process, technology, and business issues
- Supporting operations and availability through metrics creation, monitoring, and on-call efforts
- Fostering a culture of quality and ownership by setting code review and design standards
- Developing talent on your team through feedback, guidance, and leading by example
Requirements:
- 5+ years of experience as a software engineer
- Experience designing, developing, and launching backend systems at scale using Python, Kotlin, AWS, MySQL, Terraform, and Kubernetes
- In-depth, hands-on experience with large-scale database deployments in production environments
- Expertise in distributed databases such as MySQL (preferred), TiDB (preferred), Postgres, Spanner, Vitess, or CockroachDB
- Solid understanding of distributed database architecture, data modeling, and performance tuning, particularly SQL tuning and optimization techniques
- Expertise in database benchmarking, load testing, and capacity planning
- Familiarity with connection poolers and proxies (ProxySQL, RDS Proxy, Pg Bouncer, PgDog, etc.)
- Experience building control-plane or automation tooling for databases (provisioning, failover, upgrades, schema migrations), ideally on Kubernetes
- Experience executing zero-downtime migrations and major version upgrades on production databases, with CLI tooling or runbooks
- Understanding of Kubernetes networking, service discovery, and TLS for debugging connection and failover problems
- Experience defining technical plans for significant features or system components with elegant, simple, and extensible designs
- Ability to write high-quality code easily understood and used by others
- Proficiency making significant changes in large codebases with tools and practices enabling safe execution
- Demonstrated ownership of your growth through proactive feedback-seeking
- Strong verbal and written communication skills supporting effective global collaboration
- Bachelor's degree in a related field or equivalent practical experience