Data Engineer
A data engineer builds and maintains the systems that move data from where it's created (apps, websites, payment systems, sensors, spreadsheets, third-party suppliers) into somewhere it can be stored reliably and used - usually a data warehouse or "lake" that analysts, data scientists and business teams query. The job is mostly writing code and configuring cloud services so that data arrives on time, in the right shape, and is trustworthy. The customers are internal: analytics teams, finance, marketing, product teams, regulators and reporting functions who need accurate numbers.
Approximate graduate salary
Typically around GBP 30,000-40,000 to start, though this varies widely. London, financial services and tech-sector employers sit at or above the top of that range; public sector, charities, smaller regional employers and non-tech industries tend to sit below it. Salaries in this field generally rise fairly steeply in the first few years if you stay technical.
What you'd actually do
- Writing and editing data pipelines - code (usually Python and SQL) that extracts data from a source system, reshapes it and loads it into a warehouse on a schedule. A lot of this is modifying pipelines that already exist rather than building new ones from scratch.
- Investigating why a pipeline failed overnight: a source system changed a column name, an API stopped responding, a file arrived late or malformed. Working out what broke, fixing it, and backfilling the missing data.
- Writing SQL transformations that turn raw messy tables into clean, well-named tables that analysts can use without needing to understand the underlying system.
- Talking to the people who will use the data - an analyst who needs a new field, a finance team whose monthly report doesn't reconcile - to work out what they actually need before building anything.
- Code review: reading colleagues' pull requests and having your own reviewed, since most teams work in Git with a proper review process.
- Adding tests and monitoring - checks that row counts look sane, that key fields aren't suddenly null, that a daily job actually ran - and responding when alerts fire.
- Working with cloud infrastructure: setting up storage, compute, scheduling and permissions, often through configuration files rather than clicking around in a console.
How graduates get in
- Graduate schemes in technology, data or engineering at large employers - banks, insurers, retailers, telecoms, media, consultancies and the larger tech companies. Some recruit specifically for data engineering; more commonly you join a broader tech or data intake and are streamed into data engineering after an initial rotation. This is a common route.
- Direct entry as a junior or graduate data engineer at smaller companies, scale-ups and data consultancies. These roles are advertised year-round rather than in an autumn recruitment cycle, and usually involve a technical test rather than a full assessment centre. Very common, and often the faster way in if you already have coding skills.
- Sideways from an analyst role. Many data engineers start as a data analyst or BI (business intelligence) analyst, get good at SQL, start automating their own reporting, and move across within a year or two. This is one of the most frequent routes and is worth knowing about if you can't land an engineering role directly.
- Sideways from software engineering - if you can already write production code, the gap to data engineering is mostly about learning SQL, warehousing and pipeline tooling. Reasonably common.
- Degree apprenticeships and higher apprenticeships in digital and technology solutions, some with a data specialism. These are an alternative to the graduate route rather than an addition to it, but graduates occasionally enter through similar structured conversion programmes.
- Conversion routes: an MSc in data science, data engineering or computer science, or an intensive bootcamp. These can work, particularly if paired with a portfolio of real projects, but a bootcamp alone is a weaker signal than demonstrable code. Less reliable than the routes above.
What employers ask for
- A degree in a numerate or technical subject is the usual expectation - computer science, software engineering, maths, physics, engineering, statistics or similar. The subject matters more here than in many graduate jobs, because employers want evidence you can code. That said, plenty of data engineers come from other backgrounds having taught themselves; you'll need a portfolio to compensate.
- Typically a 2:1, though many employers - especially smaller ones and those using technical tests - care far more about whether you pass the coding assessment than about your classification. Some larger schemes still screen on grades including UCAS points or A-level results.
- Working SQL. This is close to non-negotiable. Employers expect you to write joins, aggregations and window functions without looking everything up.
- At least one programming language used properly - Python overwhelmingly, sometimes Scala or Java in older or high-volume environments.
- Evidence you've built something: a personal project that pulls data from an API and stores it somewhere, a dissertation with real data wrangling, an internship, a placement year, contributions to open-source. Employers vary in how heavily they weight this, but for direct-entry roles it often matters more than anything on your transcript.
- Cloud familiarity (one of the major cloud platforms) is frequently asked for but is often treated as 'nice to have' at graduate level - most employers accept they'll teach you their stack. Professional cloud certifications help more with smaller employers and consultancies than with large graduate schemes.
Skills that matter
SQL, to a genuinely fluent standard
Most of the actual transformation logic in a modern data team is written in SQL, and you'll read far more of it than you write.
Python for data work
Used to glue systems together - calling APIs, handling files, orchestrating jobs - and to write the bits that SQL can't express cleanly.
Debugging systems you didn't build
A huge share of the job is tracing a wrong number back through several layers of pipeline to find where it went astray, often in code written by someone who left two years ago.
Data modelling - designing how tables relate to each other
A badly structured warehouse produces contradictory numbers and endless rework, so deciding what a 'customer' or an 'order' means in table form is a real design decision with lasting consequences.
Version control and general software engineering discipline (Git, testing, code review, CI/CD)
Data engineering has largely adopted software engineering practices, and teams expect your work to be reviewable, testable and deployable rather than a script on your laptop.
Translating a vague business question into a data requirement
People will ask for 'the sales numbers' without specifying which date, which currency or whether refunds count, and getting that wrong wastes weeks.
Tolerance for unglamorous, imperfect data
Real source systems have duplicate records, inconsistent formats and undocumented quirks, and patience with that is what separates people who last in the role from those who don't.
Where it leads
Graduate or junior data engineer: you work on well-defined tickets, fix pipelines, write transformations under review, and learn the company's stack. Expect close supervision at first. On structured graduate schemes this phase is often formally defined as one to two years; in direct-entry roles there's no fixed timetable.
Data engineer: you own pipelines end to end, are trusted on-call or with production changes, and start making design decisions rather than implementing someone else's. Typically reached within a couple of years, but this varies a lot by employer and how much you're exposed to.
Senior data engineer: you design how data flows across multiple systems, set standards for the team, mentor juniors and get pulled into decisions about which tools the organisation should adopt. Timelines here vary widely - some people reach it quickly in a small fast-growing company, others take considerably longer in a large organisation with formal promotion cycles.
From senior, the path forks. Technical: lead engineer, principal engineer, data architect (designing the overall shape of an organisation's data estate), or specialising into platform, streaming or machine-learning engineering. Managerial: engineering manager, then head of data or data platform lead.
Common sideways moves include analytics engineering (closer to the business, heavier on modelling), machine learning engineering, general software engineering, and consultancy or contracting. Contracting is a well-trodden route for experienced data engineers, though it trades security for higher day rates and is not realistic straight out of university.
What people get wrong
“It's a stepping stone to data science - the 'real' data job.”
They're parallel careers, not a ladder. Data engineering is a software engineering discipline and in much of the UK market it's in steadier demand than data science, because organisations need working pipelines before they need models. Plenty of people move from data science into data engineering, not just the other way.
“You'll spend your time building clever new systems with cutting-edge tools.”
Most of the work is maintenance, integration and fixing things: understanding a legacy system, handling an awkward file format from a supplier, reconciling two sources that disagree. Greenfield builds happen, but they're the minority of your week.
“It's a heads-down coding job with little contact with other people.”
You spend a lot of time in conversation with analysts, product managers and business teams, because you cannot build the right pipeline without understanding what the data is supposed to mean. Data engineers who can't have that conversation get stuck.
“You need to know every tool listed in the job advert.”
Job adverts for data engineers routinely list long strings of technologies, and the underlying concepts - pipelines, scheduling, storage, transformation - transfer between them. Strong SQL, Python and reasoning ability will get you through most graduate-level interviews even if you've never touched the specific stack named.
Where this varies
The job differs a lot depending on where you land. At a large bank, insurer or public sector body you may work on long-established systems with heavy governance, change-control processes and strict rules about who can touch production data - slower moving, more documentation, more compliance. At a scale-up or digital business you might own a pipeline outright in your first few months, with far less process and far more responsibility. In a consultancy you'll move between client projects and technologies every few months, which builds breadth quickly but means less depth in any one system. There's also a split in how technical the role is: at some employers 'data engineer' means writing production software, while at others it means configuring off-the-shelf tools and writing SQL transformations, with relatively little general programming. It's worth asking in interview which version you'd be doing. Geographically, the largest concentration of roles is in London, but Manchester, Edinburgh, Leeds, Bristol, Birmingham, Glasgow and Belfast all have real data engineering markets, and remote or hybrid working is common in this field.
General guidance about the role across the UK market, not about any specific employer. Entry routes and requirements vary — always check the individual job advert.