role = "PRINCIPAL ENGINEER" if raises bar(team) and depth >= LEGENDARY and ships code else "SENIOR"

Let’s decode this

We're not looking for someone who has "been around for 10+ years". We're looking for someone who has raised the bar for ten years.

  • raises_bar(team) → The people around you write better code because you are there. You mentor through pairing and feedback, not hierarchy.
  • depth >= LEGENDARY → You have gone deep enough to hold strong opinions, and humble enough to change them.
  • ships_code → You still build. Regularly. In production.

This role isn’t for everyone . It’s for engineers who want to stay close to the code, go deep, and do meaningful work. If that sounds like you - Apply.

What the work looks like

We can't promise which problem you'll pick up, but the menu right now looks something like this:

  • Redesign a ClickHouse schema so an ad buyer can query 85 billion rows in under two seconds, and discover that pre-exploding the rows 168x is actually the right answer.
  • Keep a vehicle telemetry platform moving billions of messages a day without the Kafka consumers falling over.
  • Build the engineering spine of a mobile wallet used by more than two billion people across four continents.
  • Ship the data product behind peer-review submissions for one of the world's largest scientific publishers.

The list changes every quarter. The pattern doesn't: data-heavy, distributed, and often sitting on top of something that already exists and isn't perfect.

What you will actually do

  • Design and build systems that deal with real-world complexity (not toy problems)
  • Write production code frequently, not just review or direct
  • Work across languages when needed, not just your comfort zone
  • Break down messy problems into clean, maintainable systems
  • Push back on bad ideas, including ours

You won’t be :

  • A people manager
  • A “review-only” architect
  • Someone removed from the code

How we think about engineering

We care about:

  • Code that is simple, testable, and built to change
  • Engineers who can explain their design decisions clearly
  • TDD, refactoring, and continuous improvement - not as rituals, but as tools
  • Choosing the right technology, not the fashionable one

We don’t care much about:

  • Buzzwords
  • Framework loyalty
  • Whether you’ve used our exact stack before

Tech (context, not a checklist)

TypeScript, Java, Scala, Kotlin, Go, Elixir, Python, .NET, Node.js, Rust

You don't need to have shipped all of these. You do need the ability to learn what the problem demands.

What you’ll get

  • A place where Principal Engineers still write code - daily
  • One designation across the company: **Solution Consultant**. "Principal Engineer" is the translation for the outside world
  • Small teams, high ownership, large impact, minimal process overhead
  • No reporting managers. Decisions happen where the code does
  • Find your balance between work and life’s ups and downs with unlimited leave when you really need it
  • **Open salaries.** Inside Sahaj, every Sahajeevi can see every other Sahajeevi's pay, including the founders'. The annual hike is voted on collectively in a room where the whole company reads the P&L
  • Own what you build. When Sahaj grows in impact and value, you’ll have a share in that upside

Job Details

Company
Sahaj Software
Location
London, UK
Posted