Senior Software Engineer

Affirm
Summary
Join Affirm's Online Storage team as a Software Engineer and contribute to building world-class systems that enable Affirm's mission of providing honest financial products. You will collaborate with various teams to improve database architecture, focusing on scalability, reliability, and cost efficiency. This role requires expertise in distributed databases, SQL tuning, and database management. You will work with AWS and Kubernetes, and have experience building software with IaC frameworks. Affirm offers competitive benefits, including 100% subsidized medical coverage, flexible spending stipends, and competitive time off. The role is remote-first, allowing flexibility in work location.
Requirements
- Bachelor's or Master's degree in Computer Science with 5+ years of experience as a software engineer with leadership exposure and experience mentoring junior engineers
- In-depth, hands-on experience with large-scale database deployments in a production environment
- Solid understanding of distributed database architecture, data modeling, and performance tuning. Particularly, expertise in SQL tuning and performance optimization techniques
- Expertise in Database/Table and backup-recovery management
- Expertise in database benchmarking, load testing, and capacity planning
- Familiarity with connection poolers and proxies such as ProxySQL, RDS Proxy, Pg Bouncer, etc
- Proficiency in Python or Kotlin or both
- Experience with AWS and Kubernetes
- Experience building software with IaC (terraform or crossplane) frameworks and tools
- Exceptional communication skills with the ability to engage effectively with both technical and non-technical stakeholders
- Expertise to create and triage database alerts and issues, identify root causes, and implement corrective solutions
Responsibilities
- Lead projects to improve database architecture, focusing on scalability, reliability, performance, and cost efficiency
- Work with engineers managing Affirmβs distributed database technologies, particularly AWS Aurora MySQL, Distributed SQL, and eventually expanding to DynamoDB and Caching
- Design, build, and maintain a highly durable and strongly consistent database-as-a-service architecture
- Design and build scalable solutions for challenges such as multi-region, active resharding, and globally available services
- Work closely with product teams to understand business requirements and translate them into robust database solutions
- Assist partners in achieving better query performance by suggesting better query optimizations and effective schemas
- Develop and enforce best practices in database design and management, ensuring data integrity, security, and optimal performance
- Stay abreast of industry trends and emerging technologies in transactional databases to continually enhance our systems and processes
- Participate in an on-call rotation and collaborate with other teams, such as SRE, to solve production issues
- Lead and mentor engineers to define and execute on a roadmap aligned with stakeholder needs
Preferred Qualifications
Expertise in distributed databases and database technologies such as MySQL InnoDB storage, Postgres, Spanner, Vitess, TiDB, CockroachDB, etc
Benefits
- 100% subsidized medical coverage, dental and vision for you and your dependents
- Monthly stipends for health, wellness and tech spending
- Equity rewards offered by Affirm Holdings, Inc. (parent company)
- Remote work
- Flexible Spending Wallets - generous stipends for spending on Technology, Food, various Lifestyle needs, and family forming expenses
- Competitive vacation and holiday schedules
- ESPP - An employee stock purchase plan enabling you to buy shares of Affirm at a discount