Senior Software Engineer

Affirm Logo

Affirm

๐Ÿ’ต $169k-$240k
๐Ÿ“Remote - United States

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 opportunities to learn cutting-edge open-source technologies. Affirm offers competitive benefits, including 100% subsidized medical coverage for you and your dependents, flexible spending stipends, and competitive time off.

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
  • This position requires either equivalent practical experience or a Bachelorโ€™s degree in a related field

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

  • Health care coverage - Affirm covers all premiums for all levels of coverage for you and your dependents
  • Flexible Spending Wallets - generous stipends for spending on Technology, Food, various Lifestyle needs, and family forming expenses
  • Time off - competitive vacation and holiday schedules allowing you to take time off to rest and recharge
  • ESPP - An employee stock purchase plan enabling you to buy shares of Affirm at a discount
  • Remote work

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.