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 & applyThe 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