What you'll do
Are you passionate about cutting-edge technology and eager to work on innovative projects? We are looking for an Embedded Software Engineer to join the Electronics Design and Low-Level Software to join our team.
As part of our team, you will contribute to the White Rabbit (WR) project [1]: a CERN-born technology and now an industry-standard that provides sub-nanosecond synchronisation and deterministic data transfer to distributed devices interconnected with a WR network.
We are looking for a skilled Embedded Software Developer to work on the next generation of the WR switch (White Rabbit Switch v4, [2]). It is the core component of a WR network and now a new version is under development. Join us and take an active role in the design of this fully open-source Ethernet switch!
[1] https://gitlab.com/ohwr/project/white-rabbit/-/wikis/home
[2] https://gitlab.com/ohwr/project/wr-switch-hw-v4/-/wikis/home
Your 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 repos.
- 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 your colleagues in the hardware/software co-design process, where HDL, firmware, Linux device drivers and host applications are developed and reviewed together.
- Collaborate with external companies, universities and public institutes.
- Ensure thorough and up-to-date documentation is in place.
- Prepare firmware release.
Still here? Let's make a quick check about
Your profile
- 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.
- Your studies focused on Software Engineering.
Your skills
- 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.
Global Benefits at CERN
Let's get you ready
Be sure to meet the eligibility criteria
- You are a national of a CERN Member State or Associate Member State. Currently, we cannot consider applications from Pakistani and Lithuanian nationals for positions with a 2026 start date, as the ceiling defined under Article II.5 of the Associate Membership Agreement has been reached.
- 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.
- Please pay attention to the additional criteria and requirements for this specific position and mentioned above.
You will need these documents to complete your application
- Your CV (English or French)
- A copy of your most relevant diploma or a certificate of achievement from your school (if you don't yet have your paper diploma)
- Any document you consider relevant to your application