Embedded Software Engineer

European Organization for Nuclear Research

Location:
Geneva, Switzerland
Grade:
GRAP
Category:
Professional Staff
Posted Jun 8, 2026Apply by Jul 5, 2026 (8d left)

The Embedded Software Engineer will develop and maintain software and firmware for the White Rabbit Switch, including its Linux-based operating system. The role involves hardware bring-up, debugging, testing, and collaboration with hardware/software teams and external partners to design the next generation of the WR switch.

Responsibilities

  • Develop and maintain software and firmware for the WR Switch, including its Linux-based operating system.
  • Participate in bringing up and debugging new hardware versions.
  • Maintain git repositories.
  • Develop, maintain and perform WR Switch tests, including hardware in Continuous Integration (CI) pipelines, performance and compliance tests.
  • Assist in the development of production tests to be conducted post-hardware manufacturing.
  • Collaborate with colleagues in the hardware/software co-design process, including HDL, firmware, Linux device drivers and host applications development and review.
  • Collaborate with external companies, universities and public institutes.
  • Ensure thorough and up-to-date documentation is in place.
  • Prepare firmware release.

Requirements

  • You are a national of a CERN Member State or Associate Member State (excluding Pakistani and Lithuanian nationals for 2026 start date).
  • By the application deadline, you have a master’s degree with 2 to 6 years of professional experience since graduation or a PhD with a maximum of 3 years of professional experience since graduation.
  • You are not eligible with only a bachelor’s degree.
  • You have never had a CERN fellow or graduate contract before.
  • Development of embedded Linux software and bare-metal firmware.
  • Working with an embedded Linux distribution running on SoC of AMD/Xilinx FPGAs.
  • Performance and/or compliance testing using dedicated instrumentation.
  • Debugging of hardware.
  • Low-level programming in C, including bare-metal skills are required.
  • Knowledge in embedded Linux and Linux Device drivers is required.
  • Proficiency in git-based development, code reviews, merge requests and CI pipelines is required.
  • Proficiency in Python is required.
  • Knowledge in testing frameworks, PyTest is advantageous.
  • Basics of FPGA development (VHDL, Verilog, SystemVerilog) are advantageous.
  • Capability of understanding PCB schematics is an advantage.
  • Knowledge in networking and synchronisation protocols (e.g. NTP, PTP) is advantageous.
  • Spoken and written English, with a commitment to learn French.

Skills

  • Embedded Linux Development
  • Bare-metal Firmware Programming
  • SoC Development
  • FPGA Development Basics
  • Hardware Debugging
  • Low-level C Programming
  • Linux device drivers
  • Performance Testing
  • Compliance Testing
  • Instrumentation Usage
  • Git-based Development
  • Code Reviews
  • Merge Requests
  • CI Pipelines
  • Python Programming
  • Testing Frameworks
  • PyTest
  • PCB Schematic Understanding
  • Networking Protocols
  • Synchronization Protocols

Languages

English, French