Freelance Backend Software Engineer - Billing & Ordering Platform
👋 About Us
sunday is building the fastest, simplest way to pay in restaurants. With a quick scan of a QR code, diners can pay, tip, and leave in about 10 seconds. We believe great products should feel obvious, not complicated, and we focus relentlessly on keeping things simple while earning trust from restaurants and guests at every interaction. Today, sunday powers payments in thousands of restaurants across the US, UK, and France, helping operators turn tables faster, increase tips, and unlock valuable insights. We push ourselves to go beyond what’s expected, building with ownership, moving fast, and scaling with ambition as we tackle our biggest growth opportunity in the US.
About the Role
The Billing & Ordering Platform team is growing from one engineer to three. We are looking for two senior back-end engineers to increase our delivery capacity and strengthen the platform that powers our ordering and orchestration flows.
The environment is technically demanding. The team works at the boundary of several complex business domains, on distributed flows, with many internal consumers and external integrations. Billing and ordering systems must remain correct and recoverable despite repeated retries, duplicates, partial failures, asynchronous processing, and constantly evolving API contracts.
The new hires will help the team move faster on its roadmap while improving the platform's reliability, consistency, and maintainability.
Contribute to the stability, consistency, and scalability of Sunday's Billing & Ordering Platform by designing and operating robust back-end services and APIs.
Engineers will help make platform capabilities work consistently for both invoices and orders, while ensuring that distributed flows remain observable, recoverable, and correct in production.
The role offers a high degree of autonomy and impact. The work improves payment and ordering experiences for restaurants and their customers, and gives engineers the opportunity to evolve the architecture of a critical platform rather than simply implement isolated features.
Key Responsibilities
Design, develop, and maintain back-end services in Kotlin and/or Java, mainly within the JVM ecosystem.
Clarify and unify the business boundaries between billing and ordering.
Design and evolve robust REST and gRPC APIs, with clear contract management, controlled versioning, and safe migration strategies.
Help build common, extensible models that allow platform capabilities to work consistently with both an invoice and an order.
Improve the reliability of distributed flows through mechanisms such as:
idempotency;
retries and backoff strategies;
deduplication;
reconciliation;
Strengthen production reliability through better metrics, structured logs, distributed traces, dashboards, alerts, and systematic incident follow-up.
Diagnose complex issues end to end, across Sunday services, internal consumers, integrations with POS and payment systems, and external systems.
Contribute to initiatives such as unifying invoice and order models and modernizing existing contracts.
Evolve legacy contracts and migrate consumers progressively, without disrupting existing production flows.
Collaborate with the Product, POS, Loyalty, Menu, Front-end, and Support teams and with external partners to turn business needs and operational feedback into lasting platform improvements.
Contribute occasionally to infrastructure and the CI/CD pipeline when it helps unblock a delivery quickly.
Take part in architecture discussions, ADRs, documentation, code reviews, and the improvement of shared engineering practices.
Build reusable patterns and share knowledge as the team grows.
About You
At least 7 years of professional experience in software development.
Strong back-end experience on the JVM, with Kotlin and/or modern Java.
Professional experience with frameworks such as Spring Boot.
Significant experience designing and operating distributed systems in production.
Very good understanding of API and integration design, including the evolution of contracts used by multiple consumers.
Ability to own a topic end to end: understanding the problem, design, implementation, release to production, monitoring, and operational follow-up.
Professional English for team rituals, technical documentation, and cross-team collaboration.
Nice-to-Have Skills
Experience with financially sensitive flows, in particular:
payments;
refunds;
transaction lifecycles;
split payments;
reconciliation;
monetary or pricing calculations.
Experience with Kafka or another messaging or event-streaming platform.
Experience with gRPC, Domain-Driven Design, and integration patterns such as adapters or anti-corruption layers.
Experience in POS systems, restaurant tech, ordering, payments, or other integration-rich ecosystems.
Experience with observability tools such as Datadog.
Experience with technical migrations and evolving distributed systems without breaking existing consumers.
Ability to occasionally work on the CI/CD pipeline or infrastructure code.
Target Technical Environment
Back-end: Kotlin, Java, Spring Boot
APIs: REST, gRPC
Data and messaging: PostgreSQL, Kafka or comparable messaging systems
Architecture: microservices, distributed systems, event-driven flows, domain modeling, integration patterns
Operations: Datadog, monitoring, alerting, distributed tracing, CI/CD
Occasional contributions: TypeScript/React, infrastructure and deployment tooling
Availability and Urgency
Start date: As soon as possible
Duration: 3 months, renewable
Interview Process
Technical interview with two engineers (1 hour)
Interview with Rob, Engineering Manager (1 hour)
Thank you for taking the time to apply, and looking forward to getting to know you!
sunday is an equal opportunity employer and does not discriminate and all qualified applicants will receive consideration for employment without regard to race, creed, color, sex, affectional or sexual orientation, gender identity or expression, gender, ethnicity, religion, national origin, ancestry, nationality, age, disability, marital status, veteran status, genetic information, or on any other basis prohibited by law (except where an attribute is a bona fide occupational qualification).