Senior Embedded Software Engineer
Zurich, Switzerland | Hybrid
Permanent Role
Are you a highly experienced Embedded Software Engineer who enjoys working deep within Linux, close to the hardware, rather than several abstraction layers above it?
We are supporting a well-established Swiss technology organisation in the recruitment of a Senior Embedded Software Engineer to join a highly experienced engineering team in the region of Zurich.
This is a genuinely technical position for somebody who enjoys Embedded C, Linux/Unix, low-level programming, real-time systems and understanding exactly how software interacts with hardware.
You will be working in a sophisticated engineering environment on complex, long-lifecycle systems, alongside highly experienced software, electronics and engineering specialists.
What you will be doing
- Design, develop and maintain embedded and low-level software
- Develop real-time applications primarily using C
- Work extensively within Linux / Unix environments
- Develop and maintain Linux kernel and device drivers
- Work on Linux kernel customisation, configuration and compilation
- Develop device trees, filesystems, libraries and Linux images
- Develop and adapt Board Support Packages (BSPs)
- Work with technologies including Yocto and U-Boot
- Develop software for a variety of modern embedded hardware architectures
- Support software/hardware integration, testing and commissioning
- Troubleshoot complex issues at the hardware/software boundary
- Collaborate closely with electronics and other engineering specialists
- Contribute to technical architecture and longer-term engineering decisions
What we are looking for
This is a genuinely senior position, and we are particularly interested in speaking with engineers who have built significant hands-on expertise in low-level software development.
Ideally, you bring:
- 7+ years of relevant professional experience
- Excellent programming skills in C
- Strong low-level / close-to-hardware programming expertise
- Extensive experience with Linux and/or Unix
- Strong knowledge of embedded systems
- Experience developing kernel and/or device drivers
- Experience with real-time applications
- Knowledge of technologies such as Yocto, U-Boot, BSPs and device trees
- Experience working across the hardware/software interface
- A degree in Computer Science, Engineering, another STEM discipline, or equivalent practical experience
- Very good English communication skills
- German is an advantage, but not required
C++ knowledge would be useful, but it isn't the primary focus of the position.
Most importantly, we are looking for someone who is hands-on, technically curious, collaborative and comfortable working within a highly experienced engineering team.
And a good sense of humour is definitely appreciated!
Why join?
This is an opportunity to work for a highly respected, technically advanced Swiss organisation where engineering quality and long-term technical thinking genuinely matter.
You will benefit from:
Deep technical work – genuinely low-level engineering rather than generic application development
Hardware + software exposure – work directly at the boundary between embedded software and electronics
Experienced colleagues – join a team with considerable technical expertise and knowledge
Interesting, complex systems – work on sophisticated technology with long development and operational lifecycles
International environment – applications from engineers outside Switzerland are very welcome
Professional development – strong onboarding, training and long-term development opportunities
Excellent working conditions – a stable environment designed to support sustainable, long-term careers