Embedded Software Engineer

European Organization for Nuclear Research

Location:
Geneva, Switzerland
Grade:
GRAP
Category:
Professional Staff
Posted Jun 8, 2026Apply by Jul 5, 2026 (3d left)
See your match score & apply

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