Principal Engineer
- Hiring from
- United Kingdom
- Work type
- Hybrid
- Posted
620,957 remote jobs, straight from company career pages
100% free · New jobs every minute
Show job descriptionHide job description
Full-time role for experienced engineers
We are partnering with a technology company founded by industry veterans with deep expertise in enterprise architecture and quantitative systems. We are building their core engineering team to turn complex business and quantitative ideas into working software. The work spans understanding unfamiliar domains, designing systems, investigating difficult problems, and delivering reliable solutions.
We value engineers who ask precise questions, reason from fundamentals, explore beyond familiar tools, and develop their own informed view.
The opportunity
You will work directly with decision makers and domain experts in a small team with a flat structure. The work spans problem definition, system design, implementation, investigation and production operation.
The company is building a data platform designed for the data volumes of the largest financial institutions. Most organisations run transactional (OLTP), analytical (OLAP) and real-time streaming data as three separate systems, built at different times and connected later. This platform is designed as one system from the start, with a shared data model across all three. The architecture is still open, and technology choices will follow it.
There is no management layer between you and the architecture. You will be expected to own a meaningful part of the system within your first one to two months.
What you will do :
- Turn incomplete requirements into a clear problem statement. Understand who needs the solution, which constraints matter and how success will be measured.
- Investigate difficult questions through reading, calculations, profiling and experiments. Separate observations from assumptions and find the causes that affect the decision.
- Compare plausible approaches, explain their costs and limitations, and make a recommendation. Challenge the proposed direction when the evidence supports a better one.
- Design the real-time layer: stateful, event-driven processing of high-frequency data streams that stays consistent with the transactional and analytical views of the same data.
- Design and build the experimental and persistent data infrastructure using columnar and time-series storage optimised for selective column reads, high compression, and fast interactive queries across billions of historical ticks.
- Remove unnecessary serialisation, copying and format conversion between storage, compute and the query API.
- Build and operate solutions across their lifecycle, including testing, deployment, security, data correctness and recovery from failure.
- Design modular, clean domain boundaries and adapter interfaces that allow the platform to be decomposed and tailored for multi-client deployments without compromising performance.
- Create code, interfaces and tools that other engineers can understand and extend. Use engineering review to improve decisions and share what you learn.
Who we are looking for:
An engineer with broad systems experience and genuine depth in storage: the layer underneath the tools, not the tools themselves. Typically this means 5+ years on data platforms, including hands-on work building or running a storage engine, query engine, columnar format or consistency model at scale. You know from experience where these systems slow down and how they break.
What we select for:
- Strong programming ability and a practical understanding of algorithms, data structures, state, concurrency and system behaviour. You can explain the mechanisms behind a design and recognise the limits of your knowledge.
- First-principles, systems-level reasoning. There is no ready-made blueprint for this platform, so standard architectures are a reference point rather than the answer. You break problems down into mechanisms and constraints and derive the design from them. You can follow a decision across layers, from storage layout up to the API, and judge its effect on the whole system, not only the part you are changing.
- Experience delivering substantial software and taking responsibility for its behaviour in use. You can discuss a concrete decision, its alternatives and what happened after delivery.
- Evidence over conviction. You test assumptions, including your own. You treat a benchmark result as a claim to be challenged, recognise when a test could never have failed, and report results that contradict your starting hypothesis.
- Breadth developed through different problems, systems or domains. You can transfer useful ideas between them and explain where an analogy stops being valid.
- A habit of investigating fundamentals. You have examples of pursuing a question beyond the first answer because understanding it changed the solution.
- A bias towards correctness. Other products rely on this platform, so an error nobody notices does more damage than downtime. You build systems that fail visibly rather than return results that look right but are not.
- Ownership and curiosity across fields. You make decisions, lay out your reasoning so others can challenge it, and stay accountable once the system is live. Many of the best ideas here come from other disciplines, such as compilers, databases or distributed systems, and you look for those links.
- Clear communication with engineers and people outside engineering. You can make a recommendation understandable without hiding its uncertainty or tradeoffs.
Evidence of these abilities matters more than a particular job title or number of years. Experience in quantitative work, financial markets, demanding performance problems or complex data systems can be useful, but deep financial domain knowledge is not required. Alongside the abilities above, you should be able to reason about performance and correctness at very large data volumes.
Working with AI:
AI is central to how the team works. Engineers routinely direct coding agents to deliver far more than one person could alone. You stay fully accountable for what those agents produce: it must meet the same standard of correctness as code you wrote yourself. You should also be able to use these tools to investigate unfamiliar technologies and inspect the resulting code or reasoning.
What to share with us:
Bring examples of work you helped deliver, a difficult problem you investigated and a decision you changed after learning something new. Explain your own contribution and the evidence behind your conclusions. Respect any confidentiality restrictions on previous work.
Our technical discussion uses a fictional case and a small practical exercise. AI and reference materials are allowed. We assess your reasoning, investigation and ability to verify a result. Familiarity with a particular streaming framework is not required.
Location and work pattern:
Full time. Flexible hybrid working, with on-site presence as needed. Key hubs are London, Cambridge, New York.
