We work at the intersection of electronics, embedded software, communications and the physical world. Our engineers are involved in the whole product: from an idea on a whiteboard, through prototyping, debugging and verification, and into production.
We’re looking for an Embedded Systems Engineer who enjoys that breadth.
This isn’t a role where you’ll spend your days implementing tickets from a specification written by somebody three levels above you. You’ll be given problems to solve.
Sometimes the solution will involve writing firmware. Sometimes it will mean changing the hardware, looking at a signal on an oscilloscope, understanding a protocol, or working out why something only fails when the temperature drops to −20 °C.
More and more, you’ll also use AI-assisted development tools to speed up implementation. Whether AI can write the code isn’t the important part. What matters is whether you know what the code needs to do, can guide the tools well, and can recognise good engineering when you see it.
What you’ll be doing
You’ll work across the whole embedded system rather than in one layer of it. Typical work includes:
- Understanding customer requirements and turning real-world problems into engineering solutions
- Designing embedded software architectures
- Developing firmware for ARM and other microcontrollers
- Bringing up new electronic hardware
- Debugging hardware and firmware together
- Working with communications interfaces and protocols
- Investigating difficult or intermittent system problems
- Designing and implementing connected products
- Working closely with electronics engineers during schematic and PCB development
- Testing and validating prototypes
- Supporting products through manufacture and deployment
- Working directly with customers and helping shape technical solutions
You’ll regularly move between code, schematics, test equipment and a running product.
AI-assisted engineering
Software development is changing, and we’re embracing it. AI coding tools are becoming very effective at implementing well-defined problems, and we expect our engineers to use them where they add value. That might mean:
- Exploring possible implementations
- Generating or refactoring code
- Producing test code and tooling
- Investigating unfamiliar APIs or libraries
- Analysing logs and debugging information
- Automating repetitive engineering tasks
- Exploring alternative approaches to a problem
But AI doesn’t replace engineering judgement. We want engineers who can:
- Define the problem clearly before reaching for a solution
- Break complex systems into manageable problems
- Give AI tools useful technical context
- Critically review generated code
- Understand the hardware that the software is controlling
- Recognise unsafe, inefficient or inappropriate implementations
- Test assumptions rather than trusting a convincing-looking answer
- Know when to stop asking the AI and put a scope probe on the board
In other words, we want engineers who use AI as a powerful engineering tool, not engineers who expect AI to do the engineering for them.
Technologies
Our projects vary, so you won’t need experience with everything below. We regularly work with:
- C and C++
- ARM Cortex-M microcontrollers and STM32
- ESP32 / ESP-IDF
- FreeRTOS
- CAN / CAN FD
- UART, SPI and I²C
- USB and Ethernet
- Wi-Fi and Bluetooth
- TCP/IP and MQTT
- AWS IoT
- Embedded Linux
- Custom communications protocols
We also work with electronics, sensors, RF and connected devices, so an understanding of hardware is very valuable.
What we’re looking for
Around 3 to 8 years of professional embedded experience. You don’t need to be an expert in every technology we use. More important is that you have:
- Strong C programming skills
- A good understanding of embedded systems
- Experience working with microcontrollers
- Experience debugging real hardware
- The ability to read and understand electronic schematics
- An understanding of digital communications and common hardware interfaces
- Good problem-solving skills
- The ability to work independently
- Curiosity and a willingness to learn
Hardware experience is a big plus
You don’t need to be an electronics designer, but we’d particularly like someone who is comfortable around hardware. For example, you might:
- Know your way around an oscilloscope
- Understand what a pull-up resistor is actually doing
- Be comfortable looking at SPI or I²C traffic
- Have debugged a noisy power supply or signal
- Have designed or modified a PCB
- Be able to look at a schematic and form a hypothesis about why something isn’t working
If you’ve ever thought “the software looks fine, let’s see what the hardware is actually doing”, you’ll probably fit in well.
What we value
We care more about how you think than about the number of technologies on your CV. We value engineers who:
- Ask good questions
- Understand the underlying problem
- Can work things out independently
- Are comfortable saying “I don’t know, but I’ll find out”
- Challenge assumptions
- Take ownership of problems
- Care about quality without getting trapped in unnecessary process
- Can explain complicated technical issues clearly
- Enjoy learning
- Are interested in how things work at a fundamental level
What you can expect from us
We’re a small engineering team, so you’ll have genuine ownership and visibility. You’ll get:
- Varied projects rather than one product or codebase
- Direct contact with customers
- Experience of both hardware and software
- Modern development tools, including AI-assisted engineering tools
- The opportunity to influence technical decisions
- A high degree of autonomy
- An office-based engineering environment with access to the hardware, equipment and people you need
And you’ll see your work become real products used by real people, rather than disappearing into a software repository somewhere.
Interested?
If this sounds like the sort of engineering you enjoy, we’d like to hear from you. Send us your CV and tell us about something you’ve built, or a particularly difficult engineering problem you’ve solved.
It doesn’t have to be a professional project. We’re interested in how you approached the problem, what you discovered, and how you got it working.