We are looking for an experienced and hands-on Senior C++ Real-Time Embedded Software Engineer (Embedded & RF) to drive the development of our mm-wave radar product line for safety-critical railway applications.
You will be responsible for real-time embedded software running on embedded Linux and RTOS platforms (including FreeRTOS), working closely with RF, algorithm, hardware, and system engineers to deliver robust, high-performance systems.
This role is ideal for a senior embedded engineer with strong real-time experience who enjoys being close to hardware and collaborating across multiple disciplines. This is a hybrid position in our Rehovot office.
What You’ll Be Doing:
- Design, develop, and maintain real-time embedded software in C++ for radar and RF-based embedded systems
- Implement and optimize low-level drivers, BSPs, and hardware abstraction layers for microcontrollers, SoCs, and RF front ends
- Develop software for both Embedded Linux and RTOS-based systems
- Design and integrate the control of RF front ends via SPI, I2C, and GPIO
- Implement a multi-threaded application under strict RT and low latency constraints
- Support board bring-up, HW/SW integration, and debug activities
- Work closely with RF engineers, algorithm team, hardware team, and system engineers
- Follow software engineering best practices, including code reviews, unit/integration testing, CI/CD for embedded targets
Requirements:
- B.Sc. in Computer Science, Software Engineering, Electrical Engineering, or related field.
- 5+ years of hands-on experience in C and/or C++ development in embedded/ real-time environments
- Strong experience with Embedded Linux:
- Cross compilation and build systems (e.g., CMake, Make, Yocto/Buildroot)
- User-space applications; kernel driver experience is an advantage
- Experienced working directly with microcontrollers, SoCs (e.g., ARM Cortex-M/ Cortex-A)
- Knowledge with ROS/ROS2, including distributed node design and integration in real-time data pipelines
- Strong debugging skills in embedded and RF environments
- Strong background in real-time and low-latency data processing and integration with hardware/software interfaces
- Familiarity with FPGA integration and communication protocols
- Excellent problem-solving skills, a "hands-on" mindset, and strong communication skills in English (spoken and written).
- Familiarity with Python for tooling, test automation, or data analysis.