Principal Software Engineer in London

Principal Software Engineer in London

London Full-Time 70000 - 90000 £ / year (est.) Home office (partial)
Simple Machines

At a Glance

  • Tasks: Design and build scalable systems, APIs, and applications for ambitious clients.
  • Company: Join Simple Machines, a leading tech firm with a global presence.
  • Benefits: Enjoy competitive salary, flexible work options, and opportunities for professional growth.
  • Other info: Be part of a high-performing team with a strong engineering culture.
  • Why this job: Make a real impact by solving complex problems in a collaborative environment.
  • Qualifications: Strong JVM development skills and experience with data-driven APIs required.

The predicted salary is between 70000 - 90000 £ per year.

About Simple Machines

Simple Machines is a leading independent boutique technology firm with a global footprint across London, Poland, Sydney 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™.

The Role

As a Principal 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

Principal Software Engineer in London employer: Simple Machines

At Simple Machines, we pride ourselves on being an exceptional employer, offering a dynamic work culture that fosters innovation and collaboration in the heart of London. Our commitment to employee growth is reflected in our comprehensive training programmes and mentorship opportunities, ensuring that our team members thrive in their careers while working on impactful data and AI projects. Join us to be part of a forward-thinking consulting firm that values quality, client success, and the professional development of its employees.

Simple Machines

Contact Details:

Simple Machines Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Principal Software Engineer in London

Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Simple Machines or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Simple Machines.

Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Simple Machines.

Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Simple Machines that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Principal Software Engineer in London

JVM-based development
Kotlin
Java
API design and implementation
SQL schema design
Automated testing
TDD

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Simple Machines.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Simple Machines and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at Simple Machines

Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Simple Machines uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.