Senior Software Developer
Role description
- Independent development, implementation, and maintenance of control system software, including real-time applications, Linux/EPICS drivers, client applications, and user interfaces (UIs)
- Design and development of low-level OS (Linux) components, covering kernel customization, configuration, compilation, Linux image creation, device trees, filesystems, kernel drivers, and libraries
- Creation of software support and tools (drivers, U-Boot, Yocto, BSP adaptations, testing, and commissioning) for current and next-generation PSI hardware platforms (cPCI-S, SoC/SoM, UltraScale+, Intel/ARM/PowerPC, etc.) in collaboration with the electronics section and other internal and external specialist groups
- Participation in internal initiatives within the Control Systems section, collaborating closely with other groups, and actively contributing to the development of architectural designs and overarching goals for the Section
- Degree in a STEM field (Science, Technology, Engineering, Mathematics), Computer Science, or equivalent practical experience
- Strong programming skills in C, C++, and kernel driver and close to hardware, low-level software development
- Extensive experience with real-time applications, Linux, embedded and distributed systems.
- Strong interpersonal and communication skills, with the ability to work effectively across disciplines and a collaborative, proactive mindset
- Very good command of English; knowledge of German is a plus