Software Engineer II, Backend (The Repayment UX)

Affirm
Full-timezł252k-352k/year (PLN)

📍 Job Overview

Job Title: Software Engineer II, Backend (The Repayment UX)

Company: Affirm

Location: Remote Poland

Job Type: Full-time

Category: Software Engineering (Backend)

Date Posted: May 26, 2026

Experience Level: Mid-Level (1.5+ years)

Remote Status: Fully Remote

🚀 Role Summary

  • Focus on backend development for Affirm's Repayment UX, owning user journeys that manage over $30B in loan repayments annually.

  • Drive the design, development, and launch of scalable APIs and backend services using languages like Python or Kotlin.

  • Collaborate within a fast-paced, agile, full-stack European team with a Silicon Valley culture, shipping code every two weeks.

  • Contribute to the reliability and transparency of consumer finance moments, directly impacting millions of users' financial lives.

  • Take ownership of the entire development lifecycle, from ideation and technical constraint articulation to code delivery, testing, and ongoing operational support.

📝 Enhancement Note: While the title is "Software Engineer II, Backend," the description highlights a full-stack team and mentions experience with declarative UI frameworks like React or Vue. This suggests the role may involve some frontend responsibilities or close collaboration with frontend engineers, common in agile UX-focused teams. The "Repayment UX" focus also implies a strong emphasis on user experience and the end-to-end customer journey, even for backend engineers.

📈 Primary Responsibilities

  • Design, develop, and launch robust, scalable APIs and backend services using Python or Kotlin to support critical loan repayment functionalities.

  • Own end-to-end development of user journeys within the Repayment UX, from initial concept to production deployment and ongoing iteration.

  • Collaborate closely with Product Management, Design, and Analytics teams to translate business requirements into technical solutions, providing input on technical constraints and trade-offs.

  • Proactively monitor the operational health and availability of developed services, creating and analyzing metrics, and participating in on-call rotations to ensure system reliability.

  • Participate in code reviews, providing constructive feedback to peers and ensuring adherence to high-quality coding standards, while also navigating and debugging existing codebases.

  • Break down complex projects into manageable phases, delivering work incrementally and ensuring timely completion within agile sprint cycles.

  • Contribute to the growth and development of the team by actively participating in the interview process and mentoring junior engineers.

📝 Enhancement Note: The responsibilities emphasize a "builder's mindset" and taking ownership, indicating that engineers are expected to not only write code but also understand the business impact and operational implications of their work. The mention of "shipping new code to production almost every two-week sprint" points to a strong CI/CD culture and a need for engineers comfortable with rapid iteration and deployment.

🎓 Skills & Qualifications

Education: While no specific degree is mandated, a Bachelor's degree in Computer Science, Engineering, or a related field is generally expected for mid-level software engineering roles. Equivalent practical experience will also be considered.

Experience: A minimum of 1.5 years of professional experience as a software engineer, with a proven track record of designing, developing, and launching APIs at scale.

Required Skills:

  • Proficiency in backend development using languages such as Python or Kotlin.

  • Experience designing, developing, and launching APIs at scale.

  • Experience shipping web applications using declarative UI frameworks like React or Vue.

  • Ability to translate simple problems or business scenarios into robust solutions involving multiple software components.

  • Skill in writing clear, well-tested, and extensible code.

  • Comfort navigating large codebases and debugging code written by other engineers.

  • Experience providing constructive feedback through code reviews.

  • Demonstrated ability to take ownership of personal growth, proactively seeking feedback.

Preferred Skills:

  • Experience with consumer finance or fintech products.

  • Familiarity with agile development methodologies and CI/CD practices.

  • Experience with cloud platforms (e.g., AWS, GCP, Azure).

  • Understanding of database design and optimization.

  • Experience with distributed systems and microservices architecture.

📝 Enhancement Note: The requirement for experience with declarative UI frameworks (React/Vue) alongside backend expertise suggests the role may be part of a "backend for frontend" (BFF) pattern or that engineers are expected to have a broad understanding of the full stack to better support UX initiatives. The 1.5-year minimum experience is on the lower end for a "Software Engineer II" title, suggesting a focus on potential and demonstrated ability rather than years alone.

📊 Process & Systems Portfolio Requirements

Portfolio Essentials:

  • Demonstrations of scalable API design and implementation, showcasing efficiency and reliability.

  • Examples of end-to-end feature development, from problem definition to deployed solution, highlighting problem-solving skills.

  • Code samples that exhibit clarity, testability, and extensibility, ideally hosted on a platform like GitHub.

Process Documentation:

  • Ability to articulate the process of breaking down large projects into manageable tasks and phases.

  • Documentation of experience in collaborating with cross-functional teams (Product, Design, Analytics) throughout the development lifecycle.

  • Evidence of creating and monitoring metrics, and supporting operational availability, demonstrating an understanding of system maintenance.

📝 Enhancement Note: Given the emphasis on rapid iteration and operational support, a portfolio should highlight not just the initial development but also the engineer's ability to maintain, monitor, and improve systems post-launch. Examples of contributions to code reviews and feedback provision are also valuable.

💵 Compensation & Benefits

Salary Range: Based on the provided range for Poland, the estimated annual base salary is 252,000 zł to 352,000 zł. This range is determined by factors such as location, experience, and job-specific skills. Employees new to Affirm typically start at the lower end of the pay range.

Benefits:

  • Health Coverage: 100% subsidized medical, dental, and vision coverage for employees and their dependents.

  • Flexible Spending Wallets: Generous stipends for technology, food, lifestyle needs, and family-forming expenses.

  • Time Off: Competitive vacation and holiday schedules, plus "Away Days" for wellness and recharging.

  • Learning & Development: Access to programs designed for skill advancement and career growth.

  • Parental Benefits: Comprehensive support for new parents.

  • Employee Resource & Community Groups: Opportunities to connect with colleagues and foster a sense of belonging.

  • Equity Rewards: Eligibility for stock options or grants from Affirm Holdings, Inc. (parent company).

  • Employee Stock Purchase Plan (ESPP): Opportunity to purchase Affirm shares at a discount.

  • Creative Tax Benefits: Potential eligibility for tax benefits, subject to applicable laws and company policy.

Working Hours: While not explicitly stated, a standard full-time role in software engineering typically involves 40 hours per week, with flexibility offered in a remote-first environment. The agile methodology implies structured sprint work, but individual schedules can often be managed within reasonable working hours.

📝 Enhancement Note: The salary range is specific to Poland (PLN). The benefits package is extensive, highlighting Affirm's commitment to employee well-being, growth, and financial security, which are key attractors for experienced tech professionals. The mention of "creative tax benefits" is an important point for candidates in Poland.

🎯 Team & Company Context

🏢 Company Culture

Industry: Financial Technology (Fintech), specifically reinventing consumer credit with a focus on honest and friendly payment solutions. Affirm operates in a competitive landscape, emphasizing transparency and ethical lending practices.

Company Size: While not explicitly stated in the provided data, Affirm is a publicly traded company and a significant player in the fintech space, suggesting a medium to large enterprise size with established processes and a growing global presence.

Founded: Affirm was founded in 2012, giving it over a decade of experience in the fintech sector, allowing for mature product development, established engineering practices, and a deep understanding of its market.

Team Structure:

  • The Repayment UX Engineering team is a full-stack team based entirely in Europe, operating within the same time zone for efficient collaboration.

  • Despite its European base, the team is culturally rooted in Silicon Valley, suggesting a blend of European operational efficiency and American innovation-driven culture.

  • The team owns user journeys for loan repayment, handling significant transaction volumes, indicating a critical role in Affirm's core business operations.

Methodology:

  • Agile Development: The team operates on a two-week sprint cycle, emphasizing rapid iteration, continuous delivery, and frequent code deployments to production.

  • Data-Driven Decision Making: Rigorous measurement of user behavior and impact is central to the team's process, influencing product development and iteration.

  • Ownership and Autonomy: Engineers are encouraged to take ownership of their work, define their own paths to achieve objectives, and learn from experienced teammates.

  • Cross-functional Collaboration: Close partnerships with Product Management, Design, and Analytics are integral to ideation, technical constraint articulation, and decision-making.

Company Website: https://www.affirm.com/

📝 Enhancement Note: The cultural alignment with Silicon Valley suggests a fast-paced, high-performance environment that values innovation, ownership, and impact. The European team structure with a US cultural root is an interesting dynamic, likely offering a unique work environment for engineers.

📈 Career & Growth Analysis

Operations Career Level: This role is positioned as a "Software Engineer II," typically indicating a mid-level engineer with 1.5-5 years of experience. It suggests a focus on individual contribution, deep technical problem-solving, and growing autonomy within a specific domain (Repayment UX). The engineer is expected to contribute significantly to project delivery and operational stability.

Reporting Structure: The engineer will report to a Tech Lead and a Manager within the Repayment UX Engineering team. Collaboration will be extensive with Product, Design, and Analytics teams, forming a matrixed project-based reporting for specific initiatives.

Operations Impact: This role has a direct and significant impact on Affirm's core business by ensuring the reliability and transparency of loan repayment processes, which collectively manage over $30 billion annually. Success in this role directly contributes to customer satisfaction, financial health for users, and Affirm's overall financial performance and reputation.

Growth Opportunities:

  • Technical Specialization: Deepen expertise in backend development, API design at scale, and consumer finance technologies within a high-impact domain.

  • Full-Stack Exposure: Opportunity to gain or enhance skills in frontend technologies (React/Vue) through team collaboration and project involvement.

  • Leadership Development: Potential to grow into a Tech Lead role by mentoring peers, guiding project execution, and contributing to architectural decisions.

  • Cross-Functional Acumen: Develop strong collaboration and communication skills by working closely with Product, Design, and Analytics.

  • Career Progression: Clear path towards Senior Software Engineer roles and beyond within Affirm's engineering organization.

📝 Enhancement Note: The "Software Engineer II" title, combined with the 1.5-year minimum experience, indicates that candidates with strong foundational skills and a demonstrable ability to learn and contribute quickly will be highly valued. Growth is framed around both technical depth and breadth, as well as potential leadership.

🌐 Work Environment

Office Type: Affirm is a "remote-first" company. While the majority of roles are fully remote, some "proximal roles" may require occasional office presence. This specific role is designated as "Remote Poland," indicating it is intended to be fully remote within Poland.

Office Location(s): The role is listed as "Remote Poland," meaning the engineer can work from anywhere within Poland. Specific office locations for Affirm are not detailed for this role, but the company operates globally.

Workspace Context:

  • Remote-First Culture: Emphasizes autonomy, flexibility, and trust, enabling engineers to manage their work environment effectively.

  • Collaborative Tools: Expectation of utilizing various digital collaboration tools (e.g., Slack, Jira, Confluence, video conferencing) for seamless communication and project management across distances.

  • Tech & Wellness Support: Affirm provides Flexible Spending Wallets that can be used for technology and wellness, supporting a productive remote workspace.

  • Team Integration: Despite the remote nature, the team has a strong European presence and a culture rooted in Silicon Valley, fostering a sense of community and shared purpose.

Work Schedule: Standard full-time hours are expected (likely 40 hours/week), but the remote-first nature and agile methodology often allow for a degree of flexibility in structuring the workday, provided deliverables are met and team collaboration is maintained. The "Europe within the same time zone" mention suggests a core working overlap for team synchronization.

📝 Enhancement Note: The "Remote Poland" designation for a role in a "remote-first" company underscores the flexibility and trust placed in engineers. The emphasis on team presence within a specific time zone is crucial for effective collaboration in a distributed team.

📄 Application & Portfolio Review Process

Interview Process:

  • Initial Screening: A recruiter or hiring manager will review applications and resumes for technical fit and experience alignment.

  • Technical Interviews: Expect multiple rounds of technical interviews, likely including:

    • Coding Challenges: Live coding sessions focusing on data structures, algorithms, and problem-solving in Python or Kotlin.
    • System Design: Discussions on designing scalable APIs and backend systems, considering trade-offs, reliability, and performance.
    • Behavioral/Situational: Questions assessing problem-solving approaches, collaboration, ownership, and alignment with Affirm's culture.
  • Team/Hiring Manager Interview: A final interview to assess cultural fit, team dynamics, and overall suitability for the role and team.

  • Portfolio Review (Informal): While not a formal "portfolio submission" in the traditional sense, candidates may be asked to discuss projects from their resume or GitHub that demonstrate their skills and experience, particularly in API development and scalable solutions.

Portfolio Review Tips:

  • Highlight Impact: Focus on projects where you demonstrably solved a problem, improved efficiency, or contributed to a successful launch. Quantify achievements whenever possible (e.g., "reduced latency by X%", "handled Y requests per second").

  • Showcase Code Quality: If using GitHub, ensure your repositories are well-organized, include clear READMEs, and demonstrate clean, well-tested code.

  • API Design Focus: Be prepared to discuss the design decisions behind APIs you've built – why you chose certain endpoints, data structures, authentication methods, and error handling strategies.

  • Problem-Solving Narrative: For each significant project, be ready to explain the business context, the technical challenges, your specific contributions, and the outcome.

Challenge Preparation:

  • Algorithm & Data Structures: Review common algorithms (sorting, searching, graph traversal) and data structures (arrays, linked lists, trees, hash maps). LeetCode or similar platforms are good resources.

  • System Design Fundamentals: Familiarize yourself with concepts like scalability, availability, load balancing, caching, database choices (SQL vs. NoSQL), and API design patterns (REST, GraphQL).

  • Language Proficiency: Brush up on the nuances of Python or Kotlin, including their standard libraries and common idioms.

  • Behavioral Questions: Prepare STAR method (Situation, Task, Action, Result) responses for common questions about teamwork, challenges, failures, and successes.

📝 Enhancement Note: Given the role's focus on UX and iterative development, interviewers will likely probe for a candidate's ability to balance speed with quality, and to collaborate effectively with non-engineering stakeholders. Demonstrating a proactive, ownership-driven mindset will be key.

🛠 Tools & Technology Stack

Primary Tools:

  • Backend Languages: Python, Kotlin (primary languages for API development).

  • Web Frameworks: Potentially Flask, Django (Python) or Spring Boot (Kotlin), though Affirm may use internal frameworks.

  • Declarative UI Frameworks: React or Vue (for understanding or contributing to the frontend aspects of the UX).

Analytics & Reporting:

  • Metrics & Monitoring: Tools for tracking API performance, system health, and user behavior (e.g., Datadog, Grafana, internal logging systems).

  • Data Analysis: Potentially SQL for database querying, and tools for analyzing user interaction data.

CRM & Automation:

  • Version Control: Git (GitHub is implied for code hosting).

  • CI/CD: Tools for automated testing and deployment (e.g., Jenkins, CircleCI, GitHub Actions).

  • Project Management: Jira, Confluence (standard in agile environments).

  • Communication: Slack, Zoom (for team collaboration and meetings).

📝 Enhancement Note: While the job description explicitly mentions Python/Kotlin and React/Vue, candidates should be prepared for Affirm's specific internal tooling and cloud infrastructure, which is likely cloud-native (e.g., AWS). Familiarity with a robust CI/CD pipeline and monitoring tools is essential for operating at scale.

👥 Team Culture & Values

Operations Values:

  • Honest & Friendly: Extending this principle to code quality, transparency in communication, and user-centric design.

  • Ownership: Taking full responsibility for projects from conception to operation, driving initiatives to completion.

  • Builder's Mindset: Proactively identifying opportunities for improvement and building solutions that deliver significant impact.

  • Data-Driven: Relying on metrics and user behavior analysis to inform decisions and measure success.

  • Collaboration: Working effectively with cross-functional teams and supporting peers.

Collaboration Style:

  • Agile & Iterative: Embracing a fast-paced development cycle with frequent feedback loops and continuous improvement.

  • Cross-Functional Integration: Seamless partnership with Product, Design, and Analytics to ensure aligned goals and effective execution.

  • Open Communication: Encouraging transparency, constructive feedback through code reviews, and active participation in team discussions.

  • Remote-First Synergy: Leveraging digital tools effectively to maintain strong team connections and a cohesive working environment despite geographical distribution.

📝 Enhancement Note: The emphasis on "Silicon Valley culture" within a European team suggests a high-performance culture that values innovation, speed, and impact, balanced with a focus on employee well-being and work-life integration common in European tech environments.

⚡ Challenges & Growth Opportunities

Challenges:

  • Scaling Complex Systems: Ensuring the reliability and performance of repayment systems that handle billions of dollars in transactions requires robust engineering solutions.

  • Rapid Iteration: Maintaining high code quality and operational stability while shipping new features every two weeks demands efficient processes and strong testing practices.

  • Cross-Functional Alignment: Effectively bridging the gap between technical possibilities, product vision, and user experience requirements across diverse teams.

  • Navigating a Large Codebase: Quickly becoming productive and making meaningful contributions in a growing and evolving codebase.

Learning & Development Opportunities:

  • Advanced Backend Engineering: Gaining deep expertise in building and operating highly scalable financial systems.

  • Fintech Domain Knowledge: Developing a nuanced understanding of consumer credit and repayment dynamics.

  • Full-Stack Exposure: Broadening skill sets by working closely with frontend technologies and user experience design.

  • Mentorship & Leadership: Opportunities to be mentored by senior engineers and to mentor junior team members, fostering leadership skills.

  • Exposure to High-Impact Projects: Working on features that directly affect millions of users and significant financial volumes.

📝 Enhancement Note: The challenges are framed as opportunities for growth. The company actively supports learning through dedicated programs and by providing complex, impactful problems for engineers to solve.

💡 Interview Preparation

Strategy Questions:

  • Technical Problem Solving: Be prepared for questions that assess your ability to break down complex problems, consider edge cases, and design efficient algorithms. Example: "How would you design an API endpoint to process a payment with idempotency guarantees?"

  • System Design: Expect questions about designing scalable and reliable systems. Example: "Describe how you would design a system to track the status of millions of loan repayments concurrently."

  • API Design Best Practices: Be ready to discuss your approach to designing RESTful APIs, including aspects like versioning, authentication, error handling, and data modeling.

  • Code Quality & Ownership: Prepare to discuss your approach to writing clean, testable code, your experience with code reviews, and how you take ownership of your work. Example: "Describe a time you had to debug a complex issue in someone else's code."

Company & Culture Questions:

  • Affirm's Mission: Understand Affirm's commitment to honest and friendly credit and how your role contributes to this mission.

  • Remote Work Philosophy: Be ready to discuss how you thrive in a remote-first environment and maintain productivity and collaboration.

  • Team Collaboration: Prepare examples of how you've collaborated effectively with Product, Design, and Analytics teams.

  • Growth Mindset: Discuss how you proactively seek feedback and pursue learning opportunities.

Portfolio Presentation Strategy:

  • STAR Method for Projects: For any projects you discuss, use the STAR method to structure your explanation: Situation (context), Task (your goal), Action (what you did), Result (the outcome, ideally quantified).

  • Focus on Impact: Emphasize the business impact and user benefits of your contributions, not just the technical implementation.

  • Demonstrate Scalability: If discussing API work, highlight how you considered scalability, performance, and reliability in your design and implementation.

  • Code Quality Showcase: Be ready to briefly walk through a piece of code (from your resume/GitHub) that exemplifies your coding standards and problem-solving approach.

📝 Enhancement Note: The interview process will likely assess not only technical skills but also cultural alignment with Affirm's values of honesty, friendliness, ownership, and a builder's mindset. Demonstrating a proactive approach and a genuine interest in the fintech space will be advantageous.

📌 Application Steps

To apply for this Software Engineer II, Backend position:

  • Submit your application through the provided Greenhouse link.

  • Resume Optimization: Tailor your resume to highlight experience in Python/Kotlin, API development, and any relevant frontend framework experience (React/Vue). Quantify achievements related to scalability, performance, and user impact.

  • Portfolio Preparation: If you have a GitHub profile or personal website, ensure it showcases relevant projects, particularly those involving API design, scalable backend services, or complex problem-solving. Be ready to discuss these projects in detail.

  • Technical Skill Refresher: Review core computer science concepts, algorithms, data structures, and system design principles. Practice coding problems in Python or Kotlin.

  • Company Research: Familiarize yourself with Affirm's mission, products, and values. Understand their approach to consumer finance and their remote-first culture.

  • Interview Practice: Prepare for technical interviews (coding, system design) and behavioral questions using the STAR method. Practice articulating your thought process clearly.

⚠️ Important Notice: This enhanced job description includes AI-generated insights and operations industry-standard assumptions. All details should be verified directly with the hiring organization before making application decisions.

Application Requirements

Requires over 1.5 years of software engineering experience with proficiency in Python or Kotlin and declarative UI frameworks like React or Vue. Candidates must demonstrate the ability to design extensible code and navigate large codebases effectively.