Data engineering in Edinburgh
Investment data is where Edinburgh's asset managers and platforms spend money without seeing it. Holdings from custodians, prices from market data vendors, transactions from administrators and client details from the CRM all arrive in different formats and on different schedules, and the reports that combine them are built from spreadsheets that one analyst understands completely.
We build pipelines that land each source once, check it before anyone uses it, and keep a history so a report run today for last quarter gives the same answer it gave then. Lineage runs from every figure in a client report back to the feed it came from. On FM360 we learned to watch what the reader actually sees rather than trusting the job that feeds it, and we apply that rule to fund reporting too.
Edinburgh is a money town with a major research university in the middle of it, and its software work reflects both. On one side sit the fund managers, life and pensions firms and banks: Baillie Gifford, NatWest Group's headquarters at Gogarburn, and a long tail of platforms, administrators and wealth managers. On the other side sit the University of Edinburgh's informatics and data science groups, and EPCC, which hosts the national supercomputer ARCHER2 and was chosen in 2025 as home for the next one, with up to £750 million of government funding.
The financial side needs systems that are careful rather than fast. Pension and investment products carry decades of rules, and much of the administration runs on platforms that predate the people maintaining them. Customers expect to see their pot, their charges and their options clearly on a screen, and advisers expect the platform to answer as fast as the one they used yesterday. So the work is usually integration, data, reporting and customer screens around an old core, with every change tested before it ships. Fintechs sit in between, often selling back into those same banks and fund managers.
The university side needs something different: research code that works on a GPU in a lab and has to become a product that works for a paying customer. That gap, between a model that is right and a service that is reliable, is where many spin-outs stall. Hiring is competitive. ITJobsWatch puts the median advertised software engineer salary in Edinburgh at £70,000 over the six months to September 2026, on a smaller sample than London, and the banks and fund managers take many of the experienced engineers.
Working with us from Edinburgh fits the day you already have. Four hours of every working day overlap with yours, set across your morning, so stand-up, review and the decisions that follow happen live with the engineer who writes the code. The rest of the day runs on written updates and pull requests in your own Slack, GitHub and Linear, waiting for you after lunch, with runbooks and architecture notes written as the work goes.
We are the right fit for a defined piece of work, a spin-out's first production system, or a project that needs senior engineers this quarter while your own hiring catches up. Start with a fixed-price two-week piece and judge us on what ships. For agencies, we work white-label under your name, in your repositories and tools.
Four ways this arrives.
Two definitions of the same metric, computed in two places. We pick one, write it as a tested model in version control, and point every report at it, so the argument moves from whose number is right to what the definition should be.
A job reports success while the report still shows yesterday. We give every table a written freshness guarantee, monitor what the reader actually sees rather than the job that feeds it, and alert a person when the guarantee is missed.
A CRM, an ERP or a work-order tool reachable only through its API. We build the sync with retries, rate limits and normalisation at the boundary, and keep append-only snapshots so last Tuesday is a query rather than a restore.
Analytical queries running against the application database at the worst possible moment. We move them to a columnar store, keep Postgres for transactions, and feed one from the other by change data capture or scheduled extracts, whichever the freshness requirement calls for.
A nightly work-order extract into append-only ClickHouse snapshots, with a verifier that reads the live Tableau dashboard to prove it shows the newest data.
Read the write-up →Asked by Edinburgh teams.
How do you work with teams in Edinburgh?+
Four hours of every working day overlap with yours, set across your Edinburgh morning, so stand-up and code review happen live. We join your calls and work in your tools: Slack, GitHub and Linear. You talk directly to the engineer who writes the code. The rest of the day carries on in pull requests and written updates that are waiting for you after lunch, with runbooks and architecture notes written as we go.
Do you build for Edinburgh fund managers and pensions firms?+
Yes. For pensions and investment platforms we build services around the administration core: APIs that expose what it knows, transfers and switches processed exactly once, and tools for the exception cases that live in spreadsheets today. For fund managers we build investment data pipelines that trace every figure back to its feed, research search that cites its sources, and customer screens that make pots and charges clear.
How does your rate compare to hiring in Edinburgh?+
ITJobsWatch puts the median advertised salary for a software engineer in Edinburgh at around £70,000. Our published rate is $35/hour with a $5,000 minimum, or $5,400 a month for one engineer embedded in your team. There is no recruiting time and no employment overhead, and we can start within days of the first call. A fixed-price two-week piece at $2,800 lets you judge us on output first.
Can you work with a university spin-out?+
Yes, and it is a good fit. Spin-outs usually have strong research code and nobody whose job is running it in production. The research team stays in charge of the science, and we build what surrounds it: the API, the data handling, the deployment and the monitoring. A fixed-price two-week piece fits a grant or accelerator budget, and the code belongs to the company from the first commit.
Do we need a data warehouse yet?+
Maybe not. If your reporting runs comfortably against a Postgres read replica, a warehouse adds a second system to pay for and keep in step. The signs you need one: analytical queries slowing the product, data from several sources that has to be joined, or history you must keep that the application overwrites. We will tell you which side of that line you are on.
Why ClickHouse rather than Snowflake or BigQuery?+
Not always. For steady, high-volume analytical work, ClickHouse is fast and cheap to run, self-hosted or on its managed cloud, and we run it in production. Snowflake and BigQuery ask less of you operationally and suit ad hoc querying across a large team. If nobody on your side wants to operate a database, we will recommend the managed option even when the invoice is larger.
What does a freshness guarantee actually mean?+
A written statement per table or report, such as "never more than an hour behind" or "reflects yesterday's close by 07:00". Each one has a check that measures it and an alert that fires when it is missed. Without it, stale data looks exactly like correct data until somebody makes a decision on it.
Can you work with the tools we already have?+
Usually, yes. If you already run dbt, Airflow, Fivetran or a BI tool your team knows, we build inside it. We suggest replacing a tool only when it is the cause of the problem you hired us for, and we show you the evidence before asking you to fund a migration.
How do you handle personal data in the warehouse?+
We decide what should reach the warehouse at all before building the pipeline. Identifiers can be hashed or tokenised at ingestion, sensitive columns restricted by role, and retention enforced by the pipeline itself. Every field is documented from source to dashboard, so anyone can see where a number came from and who can read it.