Background

We are building a new monetization platform to connect retailers with their brands. This is a green-field initiative that incorporates multiple components such as a highly-scalable ad delivery platform, rich user-facing applications and a reporting suite.

The ad delivery platform is a 24/7 distributed application at the heart of our system. This a cloud-hosted highly-available application providing display ad and sponsored product auction logic over API-exposed services to a range of client applications. The profile(s) will be part of the team building, using modern application development tools and techniques to build not just the platform for now but also the base for our extensive future vision.

Key technical requirements

The platform is built as a JVM application written in Kotlin using Micronaut and deployed in GCP which are the core technologies employed.

Main technologies used

(we don’t expect candidates to know everything and we have particular interest in devs keen to get more devops experience)

● Kafka (in particular Kafka Streams and Kafka Connect)
● BigQuery
● Python (for data processing and scheduled tasks)
● Terraform
● Kubernetes (we use GKE)
● OpenAPI (API-first design with generated server skeletons)
● GitHub Actions

Work experience

5 years

Development experience

● Good experience building back-end services on the JVM
● Deep knowledge of frameworks such as Spring Boot, Quarkus or Micronaut
● Knowledge of Docker and container orchestration platforms such as K8S would be very useful
● Experience with cloud platforms (AWS or GCP) would be a big plus
● Good familiarity with Linux

Relevant or preferred experience

● Awareness and interest in building secure systems
● Experience with deployment automation would be highly desirable
● Understanding of what makes a system reliable, resilient and scalable
● Experience working in an agile environment (particularly with Scrum or TDD) is highly desirable

Responsibilities

● Design and implementation of API services and streams applications with a particular focus on performance, reliability and security
● Definition and implementation of core elements of the distributed platform
● Engineering a business critical 24/7 application
● Integrating the ad platform into the broader architecture

Sounds like you?