Senior Software Engineer- Microservices Modernization & Serverless GraphQL

  • Full-time

Company Description

At Yoyo, it is our mission to delight people in every connection they have with our brand. Whether that is delighting our clients as we help them grow, delighting their customers with every reward we distribute, having delighted stakeholders through our exceptional performance, or having a delighted and thriving team of people who work together every day. Each of these is what we strive for and they are all equally important.


We’re a team driven by passion and energy. Spiraling one another up to create a positive, dynamic environment where we learn, grow, and support each other. Our hope is that egos are left at the door, and the focus is on collaboration,  learning, and the collective success of the team. We’re driven by curiosity and creativity, constantly challenging ourselves to push boundaries and be world class at what we do, in order to have a lasting and positive impact. 🚀

Job Description

Do you have a passion for building high-performance, scalable backend systems? Are you a senior engineer with a deep expertise in both Java and backend Typescript/node.js? If so, we want to hear from you!

We are seeking a Senior Backend Engineer to join our growing team and play a key role in the development of our retail client’s backend infrastructure on AWS. In this role, you will leverage your extensive experience to design, develop, and implement complex backend and cloud-first services. You will help build out the backend technology stack with a focus on AWS cloud solutions, microservices and GraphQL.

We are leaders in the customer loyalty and rewards space with our loyalty and rewards software that touch 10 million individuals monthly. We leverage this cutting-edge experience and agility to foster deep collaboration partnerships with key clients in our Yoyo Collab business unit. Yoyo Collab is our professional services business unit where our team works on secondment inside large corporates, building out their product vision and strategy.

As a Senior Backend Engineer, you will work in the Yoyo Collab business unit with a team who deliver remarkable solutions to one of our key clients in the Retail and Financial Services sector.

Your projects will focus on both expanding and refining the client solution in order to cater to the ever-changing needs of end consumers, but also to sustain the client’s competitive edge in the market. In order to achieve this, you will be working on multiple internal systems including a GraphQL server (Typescript), an Integration Server (Java + microservices), as well as integrations to 3rd party systems.

You'll collaborate with other Engineers, Product Owners, Architects and Systems Analysts, as well as Mobile, Web, and Cloud Developers to ensure a constant and valuable evolution of the platform, while delivering remarkable solutions to our clients through innovative, robust and elegant mobile solutions and web portals. 

Minimum Requirements

  • Java EE, 5+ years’ experience

  • Spring Framework 5 or higher

  • Wildfly or Glassfish Experience

  • Strong SQL background with ERD design

  • Experience with various web and integration architectures

  • Test Driven Development

  • Distributed Version Control - Git

  • Experience with Typescript/Node.js backend services

  • Working knowledge of AWS cloud services (Lambda, API Gateway, SQS, DynamoDB, EKS)

  • Experience building or maintaining GraphQL APIs (Apollo Server preferred)

  • Exposure to serverless and event-driven architectures

  • Experience with microservices or monolith-to-microservices migration

Duties/ Responsibilities

  • Consistently live out, act, work, and exhibit behaviours aligned to and congruent with company values.

  • Design, develop, and implement high-performance, scalable backend services using Java, TypeScript/Node.js, AWS Cloud Services and related technologies. 

  • Contribute to the modernisation of the existing application server to a serverless micro-services platform

  • Design, extend, and maintain the serverless GraphQL platform, including schema evolution, resolver development, and integrations with third-party systems.

  • Engage in technical discussions with cross-functional teams, propose innovative solutions, and champion best practices for backend and cloud service development.

  • Conduct code reviews, mentor junior engineers, and foster a culture of continuous learning.

  • Prototype and drive technical solutions to larger-scale technical issues, such as performance optimisation, technical debt reduction, and cloud-native architectural improvements.

  • Driving continuous improvements and digital innovation methodologies aligned to business strategy.

  • Stay up-to-date on the latest technologies and trends, and evaluate their potential for improving our backend infrastructure.

Knowledge, Skills & Aptitudes

  • Strong understanding of backend engineering concepts across Java (J2EE/Spring) and TypeScript/Node.js, including service-based architectures, design patterns, data structures, and algorithms

  • Experience building and consuming web services, including REST

  • Hands-on experience with backend frameworks and runtimes such as Spring (5+), application servers like WildFly and Spring Boot, and server-side Node.js frameworks like Hono, Fastify, Middy, or Express

  • Familiarity with distributed systems and cloud environments, particularly AWS services (Lambda, API Gateway, SQS, DynamoDB, CloudWatch)

  • Experience with both relational and non-relational databases, including MySQL, MongoDB, and DynamoDB

  • Practical experience with GraphQL (schema design, resolvers, Apollo Server)

  • Experience with build and delivery tooling such as Yarn, Maven, Gradle, monorepo tools like Nx, and CI/CD tooling such as GitHub Actions

  • Exposure to both microservices and serverless architectural patterns, including messaging systems like Kafka, Kinesis, or Amazon SQS

  • Experience with containerisation (Docker/Kubernetes) or infrastructure-as-code tooling (Terraform/Terragrunt) is advantageous

  • Comfortable producing and sharing design and technical documentation using tools such as UML, Markdown, Confluence, Draw.io, or Mermaid

  • Strong understanding of secure coding practices, backend performance optimisation, and defensive coding principles

  • Excellent time management, analytical, and communication skills

  • Experience in financial services or related transactional industries is a plus

Qualifications

  • Computer Science/ Information Systems degree/diploma or 7+ years equivalent experience
  • Certification in Java or related backend technologies is advantageous

  • Certification in AWS or other cloud technologies is advantageous

  • Proficient with general productivity tools and documentation software (e.g., Microsoft Office Suite, Google Workspace, Confluence, Jira)

Additional Information

The Perks at Yoyo:

  • Learning and development opportunities, with exposure to cutting-edge cloud technologies

  • Hybrid working arrangement with flexible working hours

  • Collaborative, supportive team culture with regular opportunities to connect

  • On-site barista serving some of the best coffee in town

  • Subsidised, healthy meals at our in-house café

  • Croissant and fruity days in the office

  • Weekly socials and an annual social calendar that includes family-friendly events

  • Employee wellbeing support through Strove

  • Employee rewards programme via Zuzo

  • Generous leave policy

Our Yoyo values, we are looking for a team member that will always live out and demonstrate behaviours aligned to our values:

  • Be extremely customer centric: in everything we do, serve and delight our customers, using data to continuously improve.

  • Be a passionate team player: spiral up, be positive, bring momentum, and energy to those around you, leave ego at the door and be teachable.

  • Be an owner: be accountable and take responsibility. Find solutions, learn from your mistakes and own tasks to completion.

  • Be world-class at speed: delivering world leading solutions that delight our clients and customers.

  • Be curious and creative: constantly innovating, exploring, learning, stretching ourselves, pushing the boundaries and thinking out of the box