Senior Software Engineer - Billing Platform
factorial
Barcelona, Spain
6 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
IntermediateJob location
Barcelona, Spain
Tech stack
API
Code Coverage
Continuous Integration
Data as a Services
Data Integrity
Python
Ruby on Rails
Systems Integration
React
Backend
Build Management
Stripe
React Native
Microservices
Job description
- As a Senior Software Engineer, you'll own critical backend systems that power our subscription, billing, and monetization flows-systems where correctness, auditability, and reliability are non-negotiable.
- You'll design and evolve our Quote-to-Cash stack, integrating with platforms like Dealhub, Stripe, Chargebee (or equivalents), and internal systems to ensure scalable, compliant, and data-consistent billing operations.
The role
- You'll be part of a fast-growing Engineering team of 250+ product developers, owning high-impact systems that directly affect revenue, customer experience, and operational efficiency.
- You will design and build backend services and APIs for subscription lifecycle management (plan changes, upgrades/downgrades, credits, refunds, invoicing), and define clean boundaries that enable smooth integrations with internal platforms (customer-facing portals, backoffice tools, ERP/CRM).
- You'll collaborate closely with Product, Finance, Sales, and Data teams to translate monetization requirements into robust technical solutions-balancing speed, correctness, and long-term maintainability.
- You'll take end-to-end ownership: from architecture and implementation to production operations, monitoring, reconciliation mechanisms, and continuous improvement.
Our stack & the day-to-day
- We predominantly use Ruby on Rails for the backend and React/React Native for clients, but you'll also have the opportunity to dive into Scala, Python, or any language best suited to build high-performance finance data services.
- You'll design production-grade APIs and event-driven workflows for billing operations, supporting asynchronous processes and integrations across multiple systems.
- You'll implement monitoring, alerting, and data integrity controls (reconciliation, audit logs, consistency checks) to detect and mitigate issues in payment flows and synchronization.
- You'll drive platform evolution and migrations: evaluating third-party providers, designing incremental migration strategies, validating data, planning rollbacks, and executing post-migration verification.
- You'll write RFCs, join in technical conversations, and share knowledge while mentoring less-experienced engineers.
- You'll iterate in short development cycles, running ephemeral dev environments to test and fail fast, all under a GitOps-driven mindset with CI/CD best practices.
Your first steps at Factorial
- Read a lot: Get to know Factorial's product, customers, and current Billing and monetization flows.
- Learn a lot: Pair with team members from different domains (Finance, Data, Product, Engineering) to understand the Quote-to-Cash landscape and where we need stronger systems.
- Code a lot: Contribute to quick wins in billing workflows and integrations-improving robustness, test coverage, and operational tooling.
- Fail a lot: We encourage experimentation. We understand that trying out new ideas, failing, and improving is part of the role.
- Talk a lot: Participate in team rituals and stakeholder sessions to ensure what we build is accurate, auditable, and solves real business needs., * First conversation with a Manager: a mix of human and technical topics, focused on how we can work together, to align expectations and review our Engineering Rubrics (check them out: they're open!) and salary range.
- Tech interview with Factorial engineers, discussing a piece of code you're proud of (or a mini-challenge). We want to see how you solve problems, not just lines of code.
- Final coffee-chat with our Director of Data to deep-dive into Factorial's culture, vision, and answer any questions you might have.
- All interviews are remote, using video conferencing tools!
Requirements
Do you have experience in Scala?, * 3+ years of experience as a Software Engineer working on backend or platform systems.
- Solid experience designing and maintaining production-grade APIs and backend services.
- Proven ability to work with complex domain logic and data-sensitive systems, with a strong focus on correctness and long-term maintainability.
- Experience owning systems end-to-end, including production support, monitoring, and operational responsibility.
- Strong plus: experience with subscription platforms, recurring billing, payments, invoicing, or monetization systems.
- Strong plus: experience integrating with third-party billing/payment providers (Stripe, Chargebee, or similar) and/or ERP/CRM systems.
- Experience with event-driven systems, asynchronous workflows, and system integration patterns.
- Experience executing production migrations (including coexistence strategies), with validation, rollback planning, and post-migration verification.
- A strong ownership mindset, ability to navigate ambiguity, and clear communication with both technical and non-technical stakeholders.
- Comfortable working in English and with distributed teams.