Simple Machines
Senior Software Engineer (JVM, Kotlin)
Simple MachinesUnited Kingdom7 hours ago
Full-timeRemote FriendlyEngineering
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

Key Skills

Ranked by relevance