Senior Staff Software Engineer, Backend (Online Storage)
AffirmAbout the role
Affirm is reinventing credit to make it more honest and friendly, giving consumers the flexibility to buy now and pay later without any hidden fees or compounding interest.
Affirm’s engineering team is building a large-scale, fault-tolerant, and global infrastructure that is shared across multiple financial products. Ensuring that our infrastructure is accessible to all engineers is critical to the success of the business. We pride ourselves on our culture across engineering of engaging in thorough technical design review, operational excellence, and capable incident response and analysis.
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 AWS Aurora (MySQL), DynamoDB, Distributed SQL, Caching. 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.
What you’ll do
As a member of the Online Storage infrastructure team, you will collaborate with other teams - including product, infrastructure, and site reliability engineering (SRE) to:
- Help design and build a scalable datastore platform, aligning strategies with Affirm's goals, and leveraging experience in creating multi-region, horizontally scalable, globally available, and high-performance datastore solutions.
- Collaborate with other teams on their database needs and provide continuous guidance on design and architecture.
- Participate in an on-call rotation and collaborate with other teams such as SRE to solve production issues.
- Upgrade, cost optimize, and maintain our fleet of databases.
- Lead and develop technical strategies to build and maintain self-service database platforms aligned withAffirms long-term architectural vision.
- Establish the best practices in development of database solutions and management to provide critical support for operating systems at scale. These include schema/data migrations, disaster recovery, observability, sharding and performance tuning.
- Ensure adoption of the best practices to improve production health.
- Stay ahead of industry trends in storage technologies and solutions and identify opportunities to innovate and improve our storage offerings.
- Mentor engineers providing guidance on new storage technologies, development, operations and foster a culture of innovation and technical excellence.
What we look for
Key Responsibilities:
- Architect and Implement: Design, develop, and maintain core components of OnStor's cloud-based data management platform, with a focus on scalability, performance, and reliability.
- Database Expertise: Leverage your deep knowledge of MySQL and Distributed SQL to optimize database performance, ensure data integrity, and implement efficient data access patterns. Should possess deep understanding of Database fundamentals including scaling, partitioning, sharding and performance tuning in multiple functional environments. Strong background and expertise in building and operating databases in cloud environments. Expertise in database benchmarking, load testing, and capacity planning. Familiarity with connection poolers and proxies such as ProxySQL, RDS Proxy Pg Bouncer, etc.
- Distributed Systems: Tackle the challenges of large-scale distributed systems, including data partitioning, replication, and consistency models.
- Collaboration: Work closely with product managers to translate business requirements into technical solutions, and with fellow engineers to deliver high-quality software.
- Mentorship: Guide and mentor junior engineers, sharing your expertise and fostering a culture of technical excellence.
- Innovation: Stay ahead of the curve by researching and experimenting with emerging technologies and trends in the database and distributed systems space.
Qualifications:
- Experience: 10+ years of experience in software engineering, with a proven track record of delivering complex software solutions that improve availability, performance and scalability of the infrastructure
- Database Expertise: 6+ years of hands-on experience with MySQL and Distributed SQL, including schema design, query optimization, and performance tuning.
- Distributed Systems: Deep understanding of distributed systems concepts and experience with technologies like consensus algorithms, distributed transactions, and data replication.
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s