Software Engineer II, Back-end (Card Mgmt & Transaction Processing)
WFA Digital Insight
As demand for seamless digital payment experiences continues to surge, with the global contactless payment market projected to reach $24.5 billion by 2027, companies like Affirm are at the forefront of innovation. The role of a Software Engineer II in back-end development is critical, requiring expertise in designing, developing, and launching backend systems. With over 1.5 years of experience in software engineering and proficiency in languages like Python or Kotlin, candidates can capitalize on this trend. Affirm stands out for its commitment to reinventing credit and its rapid expansion into card offerings, making this a compelling opportunity for those looking to make a significant impact in the fintech space.
Job Description
## About the Role The Software Engineer II, Back-end, will be instrumental in building and operating the systems behind every card issued at Affirm and every transaction processed across Affirm’s card products. This includes the core issuing and processing infrastructure powering authorization, transaction processing, account and card lifecycle management, tokenization, and platform security. The successful candidate will work closely with product and cross-functional partner teams, playing a key role in shaping some of Affirm’s most strategic and fastest-growing products.
As part of this team, you will solve complex engineering challenges at scale, ensuring the reliability and efficiency of Affirm's card management and transaction processing systems. Your work will directly impact the customer experience, making it seamless and secure. This role reports to a tech lead or manager and is part of a collaborative engineering environment where innovation and continuous improvement are encouraged.
The growth and complexity of Affirm's card offerings mean that the scale and reliability requirements of its systems are constantly evolving. You will be at the forefront of addressing these challenges, collaborating with multiple stakeholders to ensure that solutions are technically sound, meet business needs, and are delivered on time.
## What You Will Do - Break down larger projects into manageable tasks, delivering them in multiple phases and collaborating with others to ensure timely delivery of your work.
- Support peers and stakeholders in the product development lifecycle, collaborating with product management, design, and analytics teams through ideation, articulating technical constraints, and making informed decisions that consider risks and trade-offs.
- Support the operations and availability of your team’s artifacts by creating and monitoring metrics, escalating issues when necessary, and supporting “keep the lights on” and on-call efforts.
- Contribute to the community on your team by engaging in growth and development activities, such as participating in the interview process.
- Collaborate with cross-functional teams to design, develop, and launch new features, ensuring alignment with business objectives and technical feasibility.
- Participate in code reviews, providing constructive feedback to other engineers and maintaining high standards of code quality and best practices.
- Troubleshoot complex technical issues, using debugging skills to identify problems and propose solutions.
- Stay up-to-date with industry trends and emerging technologies, applying this knowledge to improve existing systems and propose new solutions.
- Engage in agile development methodologies, contributing to sprint planning, daily stand-ups, and retrospectives to continuously improve team performance and delivery.
- Develop and maintain technical documentation, ensuring that knowledge is shared across the team and the broader organization.
- Experience designing, developing, and launching backend systems, with proficiency in Python or Kotlin.
- Familiarity with the building blocks of distributed systems and technologies like AWS, MySQL, and Kubernetes.
- Mastery of taking a simple problem or business scenario and developing a solution that interacts with multiple software components, with the ability to write clear, easily understood, well-tested, and extensible code.
- Comfort navigating a large code base, debugging others' code, and providing feedback to other engineers through code reviews.
- Strong verbal and written communication skills, supporting effective collaboration with a global engineering team.
- Experience with agile development methodologies and version control systems like Git.
- Ability to work in a fast-paced environment, prioritizing tasks and managing time effectively to meet deadlines.
- Knowledge of security best practices in software development and deployment.
- Participation in open-source projects or personal coding projects, demonstrating a passion for software engineering beyond professional responsibilities.
- Certification in relevant technologies or programming languages.
- Equity in Affirm, providing the opportunity to share in the company’s success.
- Comprehensive health insurance, including medical, dental, and vision coverage.
- Flexible PTO policy, allowing for a healthy work-life balance.
- Remote work stipend, supporting the setup and maintenance of a home office.
- Professional development opportunities, including training, conferences, and workshops.
- Access to cutting-edge technologies and tools, ensuring you stay at the forefront of software engineering.
- Collaborative and dynamic work environment, with a team passionate about innovation and customer satisfaction.
How to Stand Out
- Highlight Your Technical Skills: Ensure your resume and cover letter showcase your proficiency in backend development, particularly with Python or Kotlin, and your experience with distributed systems and technologies like AWS, MySQL, and Kubernetes.
- Showcase Problem-Solving Abilities: Be prepared to provide examples of complex technical issues you've resolved, highlighting your debugging skills and ability to deliver solutions under pressure.
- Prepare for Behavioral Interviews: Practice answering behavioral questions that assess your collaboration, communication, and problem-solving skills, as these are crucial for success in a cross-functional team environment.
- Demonstrate Passion for Innovation: Share your passion for fintech and digital payments, and how you see yourself contributing to Affirm's mission of reinventing credit.
- Be Ready to Discuss Code: Prepare to discuss your approach to coding, including how you ensure code quality, best practices you follow, and how you handle code reviews.
- Understand the Market: Research the current market trends in digital payments and fintech, demonstrating your understanding of the industry's challenges and opportunities.
- Negotiate Based on Value: When discussing salary, focus on the value you bring to the company, highlighting your skills, experience, and achievements in software engineering.
This is a remote position listed on WFA Digital, the platform for professionals who work from anywhere. Browse more remote jobs across all categories.