Affirm is reinventing credit to make it more honest and friendly. The Software Engineer II, Backend role focuses on building a new lifecycle-orchestrator service to improve system availability and modernize the codebase, working closely with cross-functional teams to execute the technical strategy.
Responsibilities:
- Design & expand the backbone of our platform to scale to hundreds of thousands of merchants from all around the world
- Design and align the scope of work with other teams to deliver cross-team projects
- Partner with Engineering Manager and Team Lead to execute the long-term vision of the team
- Execute technical strategy for broad or complex requirements with insightful and forward-looking approaches that go beyond the direct team and solve large open-ended problems
- Utilize agentic development tools like Claude Code to automate parts of the development process
- Improve engineering standards, tooling, and processes throughout the organization
Requirements:
- 3+ years of experience as a backend software engineer
- Familiarity with Domain-Driven Design, distributed systems, and how architectural decisions affect performance and maintainability
- Experience with concepts such as data models, API design (http and RPC), state machines, event-driven architecture, and database design
- Excellent communication skills, both written and verbal. Must be proficient in asynchronous communication–written tech specs, ADRs, project plans, etc
- Experience designing, developing, and launching backend systems (our stack: AWS, gRPC, Snowflake, Kotlin, Python, MySQL, Kubernetes). Java and Kotlin experience are especially helpful
- Prior experience with monitoring and alerting systems (sentry.io, rollbar, chronosphere, kibana)
- This position requires either equivalent practical experience or a Bachelor's degree in a related field