Security Firmware
Security firmware engineers write and test the low-level software that runs directly on chips and devices — the code that starts a device up, checks that the software it's about to run hasn't been tampered with, and protects secrets like cryptographic keys stored on the hardware. They typically work for semiconductor companies, embedded device makers (payment terminals, cars, smart meters, medical devices, set-top boxes), defence and telecoms suppliers, or security consultancies that review other people's firmware. The output is usually C and assembly code running on a processor with very little memory, plus the documentation and test evidence needed to show the design actually resists attack.
Approximate graduate salary
Typically around GBP 30,000-40,000 to start, though this varies widely. Chip designers, large tech and specialist security firms tend to sit at or above the top of that range, while smaller device manufacturers and some defence employers sit lower; Cambridge, Bristol and London tend to pay more than other UK locations, and defence roles may add allowances tied to clearance.
What you'd actually do
- Writing and debugging C (and some assembly) that runs on a microcontroller or a secure element — code with no operating system underneath it, or a very small real-time one, where you manage memory yourself and there is no crash log to read afterwards.
- Working with hardware directly: flashing a development board, attaching a debug probe (JTAG/SWD) to step through code on the chip, reading datasheets and reference manuals to work out which register controls which peripheral.
- Implementing or integrating security features such as secure boot (checking a digital signature on the next stage of software before running it), firmware update mechanisms that can't be downgraded to an old vulnerable version, and key storage that survives someone physically probing the board.
- Reading and reasoning about attacks: thinking through what happens if an attacker glitches the power supply at exactly the wrong moment, feeds in a malformed input, or reads out flash memory, and then changing the code so those cases fail safely.
- Reviewing colleagues' code and writing tests — unit tests, hardware-in-the-loop tests, and sometimes fuzzing (throwing malformed inputs at an interface to see what breaks).
- Sitting with hardware engineers, cryptographers and product teams to agree how a feature will work before it is committed to silicon or to a release, because firmware often has to compensate for things the hardware cannot do.
- Producing evidence for certification or customer audits — threat models, design documents, test results — particularly in payments, automotive and defence where a product must be assessed against a standard before it ships.
How graduates get in
- Graduate schemes at semiconductor, embedded systems, defence and telecoms companies. Most advertise as 'embedded software engineer' or 'firmware engineer' rather than mentioning security in the title, and place you into a security team once you join — so search on the broader terms.
- Direct entry as a junior embedded/firmware engineer, then moving sideways into security work after a year or two. This is probably the most common route, because security firmware teams often prefer people who can already write reliable low-level code.
- Industrial placement years and summer internships in embedded or hardware teams. These matter a lot in this field — a placement year at a chip or device company is one of the strongest things you can have on a CV for these roles.
- Via cyber security graduate schemes at large engineering or defence employers, which rotate you through areas including hardware and firmware security. Less common as a direct route into firmware specifically, but it happens.
- Via an MSc in embedded systems, cyber security or hardware security, especially if your first degree was maths or physics rather than engineering. Useful but not required — an MSc is a way in, not the standard way in.
- Degree apprenticeships in electronic or software engineering, which some readers will already be on. Unusual as a graduate route but a well-established alternative to a degree for this kind of work.
What employers ask for
- A degree in computer science, electronic/electrical engineering, computer engineering, or a closely related numerate subject. The subject genuinely matters more here than in many graduate jobs — employers want you to have seen C, computer architecture and how a processor actually executes instructions.
- Practical evidence that you can program in C. This is the single most common filter. Personal projects on an Arduino, Raspberry Pi Pico, STM32 or similar count, as do university coursework and placement work.
- A 2:1 is the common asking grade at larger employers, with some asking for a 2:2 plus strong practical evidence. Smaller companies and consultancies often care more about what you can demonstrate at interview than your classification.
- Security knowledge is usually expected at an awareness level rather than an expert one — understanding what a hash, a digital signature and symmetric versus public-key encryption are, and why you never write your own crypto. Deep cryptography knowledge is a specialism you build later.
- For defence, government and some telecoms work you will need UK security clearance, which normally requires British nationality or long-term UK residency and a period of residency history. This rules some roles out for some candidates, so check job adverts early.
- Formal certifications are rarely required to enter. Chartered Engineer status through the IET or BCS, and security certifications, are things people pursue later in their careers rather than before applying.
Skills that matter
C programming with an understanding of memory
Almost all firmware is C, and the bugs that matter most in security — buffer overflows, use of uninitialised memory, integer overflow — come from misunderstanding how pointers and memory layout work.
Reading hardware documentation
Getting a feature working often means finding the one paragraph in a several-hundred-page chip reference manual that explains why a register behaves differently after reset.
Systematic debugging without good tools
On a microcontroller you may have a debug probe, a few LEDs and a serial port, so progress depends on forming a hypothesis and testing it methodically rather than on printing everything and reading logs.
Adversarial thinking
The job is not just making the feature work but working out how someone with the physical device, a soldering iron and time would break it, then closing that path.
Applied cryptography fundamentals
You will spend a lot of time integrating signature verification, key derivation and secure storage, and small mistakes in how you use a library — reusing a nonce, comparing hashes non-constant-time — undermine the whole design.
Precise written communication
Design decisions have to be justified in threat models and certification documents that external assessors and customers read, and a vague explanation of why something is secure will be sent back.
Where it leads
Graduate/junior firmware engineer: you work on well-scoped pieces of an existing codebase — a driver, a test harness, a bug fix — under close review while you learn the toolchain, the hardware and the company's security requirements.
Firmware or security engineer: you own components, take features from requirement to shipped code, review others' work and start attending design discussions with hardware and product teams. Reaching this point commonly takes a couple of years but varies a lot with employer size and how much you're exposed to.
Senior engineer: you own the security architecture of a subsystem or product, define the threat model, and are the person consulted when someone asks whether a proposed change is safe. Timelines here vary widely and depend far more on the breadth of work you've been given than on years served.
From senior level the paths fork. Technical routes include principal/staff engineer, security architect, cryptography specialist, or moving into hardware security research and vulnerability work. Management routes include leading a firmware team or running an engineering function.
Sideways moves are common and valued: into product security consultancy, penetration testing of embedded devices, secure hardware design, standards and certification work, or automotive/payments security specialisms. Experience in low-level security transfers well because relatively few engineers have it.
What people get wrong
“It's a cyber security job, so you'll spend your time hacking things and responding to attacks.”
The large majority of the work is ordinary careful software engineering — writing, testing and reviewing C on constrained hardware. Security shapes the requirements and the review standard rather than being the daily activity. Breaking things is a related but separate job (embedded penetration testing / hardware security research).
“Firmware is legacy work that is being replaced by cloud and AI, so it's a shrinking field.”
Every connected device — cars, payment terminals, medical devices, phones, industrial controls, network equipment — needs firmware, and regulation on consumer and automotive device security has pushed employers to hire more people who can do it properly, not fewer. It is a comparatively small talent pool, which is part of why the work is well paid relative to entry difficulty.
“You need to be a cryptography expert before you can apply.”
Employers hiring graduates want you to be a competent C programmer who understands computer architecture and is curious about how things break. Cryptography is usually learned on the job, and in most teams you are integrating vetted crypto libraries rather than designing algorithms — designing your own is actively discouraged.
“It's isolated work — you sit alone writing code close to the metal.”
Security decisions cut across hardware, software, product and compliance, so a lot of the job is negotiating: persuading a hardware team you need a feature in silicon, explaining to a product manager why a shortcut creates a vulnerability, and writing documents that external assessors will scrutinise.
Where this varies
The job varies a lot by sector. At a semiconductor or chip design company you may work on generic security building blocks — a secure boot ROM, a cryptographic accelerator driver — that many customers will later use, with long lead times and no chance to patch once silicon ships. At a device manufacturer (payments, automotive, medical, smart metering) you are integrating those building blocks into a specific product and dealing with certification schemes and regulators, which means significantly more documentation and formal test evidence. At a security consultancy you may be reviewing and attacking other companies' firmware rather than writing it, working across many short projects. Defence and government-facing work adds clearance requirements and restrictions on what you can discuss, and the pace is generally slower and more process-heavy. Team size also changes the job: at a small company a graduate may touch hardware bring-up, firmware, tooling and customer support in the same week, whereas at a large employer the role is narrower and more specialised from the start.
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.