About the Role
Position Summary
We are seeking an experienced Rust Software Engineer to develop next-generation safety-critical embedded software for automotive real-time systems. The ideal candidate will combine deep expertise in Rust, real-time operating systems, and functional safety standards to build secure, deterministic, and highly reliable software platforms.
The role involves designing and implementing low-level platform components, middleware, device drivers, communication stacks, and safety-critical applications running on MCU, MPU, or heterogeneous multi-core platforms.
Key Responsibilities
Software Architecture & Development
- Design and develop safety-critical embedded software using Rust.
- Develop low-level platform software, middleware, drivers, and system services.
- Build high-performance real-time applications with deterministic behavior.
- Define software architecture and interface specifications.
- Optimize memory footprint, startup time, and CPU utilization.
- Perform code reviews and ensure compliance with safety guidelines.
Functional Safety
- Contribute to safety concept implementation and software safety requirements. Develop software compliant with ISO 26262.
- Support safety analysis activities: FMEA, FMEDA, FTA and DFA.
Real-Time Systems
- Design solutions for hard real-time systems, interrupt-driven architectures, multi-threaded systems, and time-sensitive networking.
- Analyze worst case execution time (WCET).
- Develop interrupt-safe and lock-free software components.
- Ensure deterministic system behavior.
Security & Reliability
- Implement secure boot and trusted execution concepts.
- Apply secure coding practices.
- Design memory-safe software architectures.
- Perform threat analysis and mitigate cybersecurity risks.
Integration & Validation
- Integrate Rust components with C/C++, AUTOSAR, Linux, QNX, RTOS platforms.
- Develop unit, integration, and system tests.
- Support CI/CD and automated quality gates.
Mandatory Technical Skills
- Rust Programming (Expert): Ownership, borrowing, lifetimes, traits and generics, async programming, unsafe Rust review and containment, FFI integration (Rust ↔ C/C++), no_std development, embedded Rust ecosystem, Cargo workspace management.
- Embedded Systems: Bare-metal development, MCU and MPU architecture, ARM Cortex-M / Cortex-R / Cortex-A, memory-mapped peripherals, DMA, interrupts, watchdogs, BSP and device drivers.
- Real-Time Systems: FreeRTOS, Zephyr, SafeRTOS, AUTOSAR OS, QNX, RT Linux.
- Communication Protocols: SPI, I2C, UART, CAN/CAN-FD, Ethernet, SOME/IP, DDS, BLE, UWB, TCP/IP.
- Safety & Quality: ISO 26262 ASIL-B/C/D, MISRA, ASPICE, static analysis, formal verification concepts, safety case development.
- Development Tools: Git/Gerrit, Jenkins/GitHub Actions, CMake/Bazel, QEMU, Lauterbach, Vector CANoe, SonarQube.
Education
Bachelor’s degree in computer science, Computer Engineering, Electrical Engineering or related field required.
Experience
8+ years embedded software development, 3+ years leading architecture teams, safety-certified product experience.
Requirements
Rust Programming
Expertise in Rust programming including ownership, borrowing, and lifetimes.
Embedded Systems
Experience with bare-metal development and MCU/MPU architecture.
Real-Time Systems
Knowledge of real-time operating systems like FreeRTOS and AUTOSAR.
Safety Standards
Familiarity with ISO 26262 and safety analysis activities.
Nice to Have
Experience with protocols such as SPI, I2C, and CAN.
Proficiency in tools like Git, Jenkins, and CMake.
Benefits
Health Insurance
Comprehensive health insurance coverage.
Remote Work
Flexible remote work options available.
Learning Budget
Annual budget for professional development and learning.