Senior Software Engineer, Backend (Test Enablers)

AffirmAffirm·Remote(Remote Poland)
Software Development
Excel

WFA Digital Insight

The demand for skilled software engineers in remote roles has skyrocketed, with a 25% increase in 2025 alone. As companies like Affirm continue to innovate and scale, the need for experts who can design and build efficient testing systems has never been more pressing. With its commitment to reinventing credit and making it more accessible, Affirm stands out as a leader in fintech. Before applying, candidates should be aware of the high demand for strong backend engineering skills and experience with distributed systems, as well as the ability to drive technical work independently.

Job Description

About the Role

The Senior Software Engineer position at Affirm is a critical role within the Test Enablers team, which is part of the broader Test Platform Engineering department focused on Developer Productivity. This team is responsible for building and operating platforms that enable Affirm's engineering teams to test with confidence. The systems developed by the Test Enablers team provide essential capabilities such as synthetic identities, test data seeding, mocking, deterministic testing workflows, and load testing. The primary mission of Developer Productivity is to significantly accelerate software development at Affirm while maintaining the reliability of its systems for customers. The long-term vision is ambitious, aiming to scale to 1,000 pull requests per day by December 2027, which necessitates the development of validation systems that are fast, trustworthy, automated, and scalable.

This role is pivotal in achieving that goal, requiring a highly motivated and experienced senior software engineer who can design and build platform capabilities that facilitate earlier validation of product changes, safer load tests, reduced reliance on end-to-end validation, and improved reliability of continuous integration signals. Moreover, the selected candidate will play a key part in preparing Affirm's testing infrastructure for AI-assisted development workflows, which demand deterministic, observable, and actionable validation feedback.

Affirm is experiencing rapid growth, and this position is central to scaling the company's products and engineering systems 10x and beyond through world-class developer productivity infrastructure. The ideal candidate will have a strong background in software engineering, preferably with experience in designing, building, and operating distributed systems, platform infrastructure, or testing infrastructure. The ability to work independently, drive technical projects from inception to completion, and collaborate effectively with cross-functional teams is essential.

What You Will Do

  • Design, build, and maintain scalable systems for synthetic identities, test data seeding, mocking, load testing, and deterministic validation workflows to ensure high-quality testing infrastructure.
  • Evolve Affirm's testing strategy from broad end-to-end-heavy validation toward a more scalable model that incorporates stronger component, integration, contract, performance, and targeted end-to-end testing.
  • Develop platform capabilities that make production-like load testing safer, more repeatable, and easier to operate, reducing the risk of production failures.
  • Improve the test platform to make it more reliable, observable, and easier for other teams to adopt, facilitating a culture of testing excellence across Affirm.
  • Partner with product engineering and infrastructure teams to enhance test signal quality, reduce false failures, and support faster validation loops, ultimately accelerating the development cycle.
  • Lead medium-to-large technical projects from ambiguous problem definition through design, implementation, rollout, and operational ownership, ensuring smooth execution and high-quality outcomes.
  • Enhance reliability and operational maturity through the development of dashboards, service level objectives (SLOs), alerts, runbooks, and clear ownership models, contributing to a more robust and maintainable system.
  • Automate and reduce the manual operational load for load testing, including test data creation, environment setup, reporting, and failure diagnosis, to increase efficiency and reduce human error.
  • Write high-quality, maintainable code that can be easily understood and extended by others, following best practices and coding standards.
  • Contribute to technical specifications, request for comments (RFCs), architecture decision records (ADRs), project plans, and other asynchronous artifacts that align teams around technical decisions.
  • Review code and technical designs, provide constructive feedback, and help raise engineering standards across the team, promoting a culture of excellence and continuous improvement.
  • Mentor engineers and help build a culture of practical testing excellence, sharing knowledge and expertise to enhance the team's capabilities.

What We Are Looking For

  • 5+ years of software engineering experience, with a strong focus on backend engineering and distributed systems.
  • Experience with languages such as Python, Kotlin, Java, or similar, and a deep understanding of their ecosystems and best practices.
  • Strong experience designing, building, and operating distributed systems, platform infrastructure, internal developer tools, or testing infrastructure.
  • Ability to independently drive ambiguous technical work to completion, with a proven track record of delivering complex projects.
  • Experience improving system reliability, observability, operational maturity, and maintainability, with a focus on scalable and efficient systems.
  • Ability to collaborate across engineering teams and influence technical direction through clear and effective communication.
  • Strong understanding of testing principles and practices, including synthetic identities, test data seeding, mocking, and deterministic testing workflows.
  • Experience with load testing and performance optimization, with the ability to design and implement efficient solutions.
  • Familiarity with AI-assisted development workflows and the ability to prepare testing infrastructure for such environments.

Nice to Have

  • Experience with cloud-based technologies and platforms, such as AWS or GCP, and a understanding of their services and integration.
  • Knowledge of containerization using Docker and orchestration using Kubernetes, with experience in deploying and managing containerized applications.
  • Familiarity with agile development methodologies and version control systems such as Git, with experience in collaborative development environments.
  • Experience with monitoring and logging tools, such as Prometheus and Grafana, and the ability to set up and manage observability systems.

Benefits and Perks

  • Competitive salary and benefits package, tailored to attract and retain top talent in the industry.
  • Opportunity to work with a fast-growing company that is revolutionizing the credit industry, with a clear vision and ambitious goals.
  • Collaborative and dynamic work environment, with a team of experienced and motivated professionals.
  • Flexible working hours and remote work options, allowing for a better work-life balance and increased productivity.
  • Access to cutting-edge technologies and tools, with the opportunity to develop new skills and expertise.
  • Professional development opportunities, including training, mentorship, and career growth prospects.
  • Comprehensive health insurance and wellness programs, prioritizing the well-being and health of employees.
  • Generous parental leave policy and family support benefits, recognizing the importance of family and personal life.

How to Stand Out

  • Develop a strong understanding of backend engineering principles and distributed systems, as these are core to the role.
  • Prepare examples of your experience with testing infrastructure and how you've improved system reliability and scalability in previous positions.
  • Highlight your ability to work independently and drive technical projects from start to finish, as this is a key requirement for the position.
  • Showcase your coding skills through personal projects or contributions to open-source software, demonstrating your proficiency in languages like Python, Kotlin, or Java.
  • Research Affirm's technology stack and be prepared to discuss how your skills align with their systems and infrastructure.
  • Be ready to discuss your experience with load testing and performance optimization, and how you've applied these skills in previous roles.
  • Emphasize your collaboration and communication skills, as the ability to work effectively with cross-functional teams is crucial for success in this position.

This is a remote position listed on WFA Digital, the platform for professionals who work from anywhere. Browse more remote jobs across all categories.