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