cover image
Simple Machines

Senior Software Engineer (JVM, Kotlin)

Hybrid

London, United kingdom

Senior

Full Time

29-12-2025

Share this job:

Skills

Java Kotlin TypeScript Scala SQL NoSQL Data Engineering Cassandra Docker Kubernetes Machine Learning Programming git Autonomy Azure react tailwind AWS Marketing Agile Redux GCP Terraform

Job Specifications

Senior Software Engineer (JVM, Kotlin)

Simple Machines

Hybrid · Full-time · London, UK

About Simple Machines

Simple Machines is a leading independent boutique technology firm with a global footprint across London, Sydney, San Francisco, and New Zealand. We operate at the intersection of data, AI, machine learning, data engineering, and software engineering—building bespoke platforms and products that turn complex data into real-world outcomes.

We work with enterprises, technology companies, and governments to help them better understand their organisations, customers, and citizens. Our teams design and build large-scale data platforms, intelligent systems, and high-impact software products.

We engineer data to life™.

Requirements

The Role

As a Senior Software Engineer, you'll play a key role in delivering complex, scalable systems for ambitious clients. This is a hands-on engineering role where you'll work across the full stack—backend services, APIs, frontend components, data pipelines, and cloud infrastructure.

You'll collaborate closely with our internal engineering teams and client stakeholders, influencing technical direction while remaining deeply involved in design and delivery. This role suits someone who enjoys solving hard problems, owning outcomes end-to-end, and operating in a consultative engineering environment.

What You'll Be Doing

Design and build backend services for a highly scalable marketing platform
Own the design of APIs, applications, and supporting infrastructure
Document technical designs and requirements clearly for both internal teams and clients
Deliver solutions end-to-end: build, automate, deploy, operate, and support
Partner with clients and delivery teams to translate business requirements into robust technical solutions
Work within an Agile, iterative delivery model
Collaborate in a hybrid setup with both remote and in-person team members and stakeholders

The Team

You'll join a high-performing engineering team working on a large-scale machine learning platform for a global telecommunications client.

The team operates with a high degree of autonomy and shared ownership. Engineers work across the full stack, support one another's growth, and collaborate closely with data scientists and adjacent teams to design cross-system solutions.

Strong engineering culture, real influence, and meaningful problems to solve.

What We're Looking For

Core Experience

Strong foundation in JVM-based development (Kotlin preferred, Java welcome)
Experience designing and implementing data-driven APIs
Background working on large-scale web services
Solid SQL experience, including schema design and performance-aware queries
Deep experience with automated testing (unit, integration; TDD/BDD preferred)

Frontend & Full Stack Exposure

Experience with React, TypeScript, Redux, and Tailwind (or similar modern frameworks)

Cloud & Infrastructure

Experience with AWS, GCP, Azure, or similar
Infrastructure-as-code (Terraform, CloudFormation, etc.)
Containerised deployments using Docker, ECS, Kubernetes, or equivalent

Nice to Have

Exposure to Scala or functional programming concepts
Experience with asynchronous and highly concurrent backend frameworks (e.g. Ktor, http4k, Play, RxJava)
NoSQL experience (DynamoDB, Cassandra, BigTable, Cosmos DB, etc.)
Strong Git workflow experience and the ability to adapt workflows to project needs
A genuine appetite for learning and adopting new technologies quickly

About the Company

Simple Machines is a global team of creative engineers and expert technologists. We partner with organisations to unleash their data’s potential in new and impactful ways. We design and build data platforms and unique software products. We create and deploy intelligent systems. We engineer data to life. Our heritage is architecting and engineering highly performant, distributed, data driven platforms and data driven applications that perform at massive scale. We partner with enterprise, governments and global technology com... Know more