Staff Software Engineer, Backend
Job description
About the role
Affirm is a fintech company focused on providing flexible payment solutions for consumers and merchants across the globe. The Staff Software Engineer, Backend position is a remote role based in Poland, offering the chance to work on core infrastructure that powers Affirm's payment platform. This individual will take ownership of complex backend systems and guide technical decisions across the engineering organization. The role involves collaborating with cross-functional teams to design, build, and maintain services that handle financial transactions at scale. As a senior individual contributor, this engineer will shape the technical direction of critical backend components and influence the practices of the broader engineering team.
Key facts
What you'll do
- Design and implement scalable backend services that support Affirm's payment processing platform.
- Own the full lifecycle of feature development, from initial design through deployment and ongoing monitoring.
- Write clean, maintainable code with thorough unit and integration test coverage across all services.
- Collaborate with product managers and frontend engineers to define clear API contracts and service boundaries.
- Conduct thorough code reviews and mentor junior and mid-level engineers on engineering best practices.
- Diagnose and resolve production incidents, identifying root causes and implementing long-term preventive fixes.
- Evaluate and adopt new tools and frameworks that improve team productivity and overall system reliability.
- Contribute to architectural decisions that shape the long-term direction of Affirm's backend infrastructure.
- Optimize existing services for performance, latency, and cost efficiency in a high-traffic production environment.
- Document system designs, operational procedures, and engineering standards for the broader organization and future hires.
- Partner with data engineering teams to ensure backend services support analytics and reporting needs.
- Participate in on-call rotations and help establish incident response processes and postmortem practices.
- Refactor legacy code paths to improve maintainability and reduce technical debt across the backend codebase.
Requirements
- Strong experience building scalable backend systems using modern programming languages and distributed architectures.
- Demonstrated ability to design and ship reliable, high-throughput services in a demanding production environment.
- Solid familiarity with RESTful or gRPC API design and implementation at scale.
- Hands-on experience with data stores including relational databases and distributed caching layers.
- Thorough understanding of software engineering fundamentals such as concurrency, data modeling, and distributed system design.
- Ability to work independently and take ownership of complex technical problems with minimal supervision.
- Strong written and verbal communication skills for collaborating with engineers, product teams, and stakeholders.
- A degree in computer science or a related field, or equivalent practical experience in software engineering.
- Proven track record of delivering high-quality software on time in a fast-paced, iterative environment.
- Experience navigating ambiguous requirements and making sound technical judgments under tight deadlines.
Nice to have
- Prior experience working at a fintech or payments company with regulatory and compliance considerations.
- Familiarity with event-driven architectures and message queue systems for handling asynchronous processing workloads.
- Exposure to containerization and orchestration platforms for deploying and managing microservices in production.
- Contributions to open-source projects or a strong public portfolio of engineering work and technical writing.
Skills & tools
- Programming languages commonly used for backend development such as Python, Java, or Go.
- Cloud platforms and infrastructure-as-code tools for provisioning and managing production environments reliably.
- Monitoring and observability stacks for tracking service health and performance metrics in real time.
- Version control systems and collaborative development workflows across geographically distributed engineering teams.
- Testing frameworks and continuous integration pipelines for automated quality assurance and rapid feedback.
- SQL and NoSQL databases for modeling and querying application data efficiently at scale.
Practical notes
- This is a remote position, and candidates should have a dedicated workspace and reliable internet connectivity.
- The role is based in Poland, and applicants should be authorized to work in the country or hold relevant residency status.
- Affirm values diversity and encourages applicants from all backgrounds to apply for this position.
- The hiring process typically includes technical interviews, system design discussions, and cultural alignment conversations with the team.
- Candidates should expect multiple rounds of interviews including live coding exercises and architecture walkthroughs.
- Affirm offers competitive benefits and professional development opportunities to support long-term career growth for all team members.