Real-Time Operating System Engineer (temporary assignment)
We are seeking a highly skilled and technically proficient Senior Software Engineer to join our agile team at IMEC, working on advanced awareness of robotic systems. SAFEBOT is a leading-edge intelligent control system that will be integrated into Industrial Robot to overcome the safety-productivity dilemma currently facing the industry. Our mission is to make Robots and collaborative Robots safe and efficient around humans, enabling "out-of-the-box" safety. You will be working in a hands-on and collaborative environment that promotes engineering excellence, creativity, and innovation. The primary responsibility of this role is to: Develop a lightweight, efficient and highly reliable Real-Time Operating System (RTOS) tailored to the specific Hardware and Software Safebot embedded system.
- Implement an ARM-based Real-Time Linux distribution using Yocto and/or Buildroot and/or Petalinux, tailored for Safebot system.
- Integrate Board Support Package (BSP) and toolchains. Design, Build and integrate dependencies that must be highly Customizable and scalable, adapted to interface with several embedded systems and specially FPGAs.
- Design and implement high-performance (C/C++ and/or Rust) Real-time APIs and processing chains.
- Design and coordinate the integration of GPU-accelerated algorithms for parallel processing and performance optimization.
- Support the design and implementation of advanced Real-time DSP and filtering techniques such as Bayesian signal processing, Kalman filters, Gauss-Newton, and Polynomial filters.
- Support Real-time object-tracking systems and 3D Geometrical reconstructions Software design and integration into the Real-Time Linux.
- Understand embedded communication protocols and interfaces like Ethernet, PCIe, ARINC 818 and Fiber Optics hardware-software interface.
- Implement kernel-level modifications, optimizations and patches for Real-time performance and hardware compatibility.
- Ensure adherence to model design requirements and conduct test verification and validation.
- Provide concise progress updates, test results, and follow established software standards and guidelines set by the System Architect.
- Mentor and instruct Junior Engineers contributing to the development of software components within the system.
Required knowledge and skills
- Master's degree or PhD in Computer Science, Computer Engineering, or a related field
- 5-10 Years experience in the field of RTOS, Linux and Embedded systems
- Proficient programming skills in C/C++, Matlab & Simulink
- Strong understanding of software design requirements and experience with test verification, validation, and integration
- Familiarity with Yocto, Buildroot, or similar for building custom Linux distributions
- Knowledge of Erlang, GPU programming with OpenCL (or CUDA)
- Experience with Real-Time operating systems such as Linux RT, Xenomai, FreeRTOS, VxWorks, or QNX
- Experience with version control systems (e.g., Git) and agile development methodologies
- Critical thinker with high adaptability and a strong sense of ownership
- Excellent interpersonal skills and ability to collaborate across groups
- Capability to manage time independently, balancing the needs of multiple parallel activities
Duration of the assignment
Desired start date and work regime
- As soon as possible
- Fulltime, 5 days/week (40h)
*For this temporary position, you can apply as a candidate or as an independent consultant. As a candidate, you are willing to work through a temporary employment agency. Consultant agencies that wish to present a candidate should contact Flexforce.
*Voor deze tijdelijke positie kan je solliciteren als kandidaat of als zelfstandige consultant. Als kandidaat ben je bereid te werken via een uitzendkantoor. Kantoren die een kandidaat wensen voor te stellen dienen contact op te nemen met Flexforce.