Senior Embedded Software Engineer

  • Aargau, Switzerland
  • Full-Time
  • On-Site

Job Description:

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