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. The Ledger Engineering team enables rapid financial product innovation by providing an audit-grade ledger platform that ties ambitious company growth to a highly regulated industry's real-world accounting controls. In this role, you will set technical strategy, collaborate across teams, and ensure the operational excellence of backend systems.
Responsibilities:
- You will be responsible for setting technical strategy for your team on a year-long time scale, and help your team tie it together with critical, business-impacting projects
- You will collaborate across teams in the product development lifecycle by collaborating with product management, design & analytics to ensure technical sustainability, risks and trade-offs are well understood and managed
- You will act as a force-multiplier for your team through your definition and advocacy of technical solutions and operational processes
- You take ownership of your team’s operations and availability by ensuring you have the right monitoring, triage rotations, playbooks, policies, testing and alerting in place to support “keep the lights on” & on-call efforts
- You will foster a culture of quality and ownership on your team by setting code review and design standards for your team, and advocating for them beyond your team through your writing and tech talks
- You will help develop talent on your team by providing feedback and guidance, and leading by example
Requirements:
- 8+ years of experience designing, developing and launching backend systems at scale using languages like Python or Kotlin
- An extensive track record of developing highly available distributed systems using technologies like AWS, MySQL, Spark and Kubernetes
- Experience in financial systems, ledgering, treasury or adjacent domains where data accuracy and system reliability are critical
- Experience delivering major features, system components or deprecating existing functionality in a system through the definition of a technical and execution plan
- Ability to write high quality code that is easily understood and used by others
- Thrive in ambiguity, and are comfortable moving from low level language idioms all the way to the architecture of large systems to understand how they work
- Demonstrated growth and impact trajectory that shows mastery in gathering and iterating on feedback from engineering and cross-functional peers
- Strong verbal and written communication skills that support effective collaboration with our global engineering team
- This position requires either equivalent practical experience or a Bachelor's degree in a related field