Senior Software Engineer, Backend (continuous Delivery)

Affirm Affirm · Fintech · Canada, United States · Remote · Infrastructure Platform Eng

This role is for a Senior Software Engineer on the Continuous Delivery team, focusing on improving Affirm's developer productivity and CI/CD pipelines. The role involves building and enhancing platforms and workflows that enable engineers to ship code faster and more safely, with an emphasis on AI-enhanced development processes. Responsibilities include owning quarterly goals, leading engineers, collaborating with stakeholders, identifying and solving technical challenges, supporting system operations, fostering a culture of quality, and developing talent. The ideal candidate has experience with backend systems, distributed systems, AWS, Kubernetes, and CI/CD automation, with a focus on building shared developer infrastructure and defining clear platform interfaces and guardrails.

What you'd actually do

  1. You will be responsible for owning and delivering quarterly goals for your team, leading engineers on your team through ambiguity to solve open-ended problems, and ensuring that everyone is supported throughout delivery.
  2. You will support your peers and stakeholders in the product development lifecycle by collaborating with product management, design & analytics by participating in ideation, articulating technical constraints, and partnering on decisions that properly consider risks and trade-offs.
  3. You will proactively identify project, process, technology or business issues, advocate for them, and lead in solving them.
  4. You will support the operations and availability of your team’s artifacts by creating and monitoring metrics, escalating when needed, and supporting “keep the lights on” & on-call efforts.
  5. You will foster a culture of quality and ownership on your team by setting or improving code review and design standards for your team, and advocating for them beyond your team through your writing and tech talks.

Skills

Required

  • 4+ years of experience designing, developing and launching backend systems at scale using languages like Python or Kotlin.
  • track record of developing highly available distributed systems using technologies like AWS, MySQL and Kubernetes.
  • experience building or evolving CI/CD, deployment, or release automation systems that reduce manual toil and improve rollout predictability, recovery, and auditability across many engineering teams.
  • comfortable working on shared developer infrastructure and defining clear platform interfaces, templates, or guardrails that make it easier for product teams to adopt standard deployment patterns with confidence.
  • experience defining a technical plan for the delivery of a significant feature or system component with an elegant, simple and extensible design.
  • write high quality code that is easily understood and used by others.
  • proficient at making significant changes in a large code base, and have developed a suite of tools and practices that enable you and your team to do so safely.
  • strong verbal and written communication skills that support effective collaboration with our global engineering team.

Nice to have

  • AI-enhanced software development lifecycle
  • AI-assisted coding tools

What the JD emphasized

  • scaling developer productivity in an era where the software development lifecycle is increasingly AI-enhanced
  • building and improves the platforms, workflows, and guardrails that help engineers move from idea to production faster, with better safety, consistency, and developer experience
  • building reliable shared systems
  • reducing friction for other engineers
  • making durable improvements that raise the quality and speed of software delivery across Affirm
  • building or evolving CI/CD, deployment, or release automation systems that reduce manual toil and improve rollout predictability, recovery, and auditability across many engineering teams
  • comfortable working on shared developer infrastructure and defining clear platform interfaces, templates, or guardrails that make it easier for product teams to adopt standard deployment patterns with confidence