Linux Low-Level Software Engineer required in Somerset West.
A renowned Manufacturing Engineering company is looking for a Linux Low-Level Software Engineer to join their team on a full-time permanent basis in the Helderberg Area.
Excellent salary on offer and internal career advancement opportunities.
Position Overview:
Design, develop, and maintain robust, efficient, and secure low-level Linux-based embedded software for edge computing platforms deployed in orbit, ensuring system reliability, fault tolerance,
and optimal performance under extreme space conditions.
Requirements:
- Bachelor’s Degree Computer Engineering, or Electrical/Electronic Engineering, or Computer Science, or Mechatronics Engineering.
- 5+ years of experience, especially in aerospace, defense, or other high-reliability domains.
- Embedded Linux Development
- Hands-on experience building and customizing Linux distributions (e.g., Yocto, Buildroot) for embedded platforms.
- Experience with kernel configuration, patching, and driver development.
- Low-Level Programming
- Strong experience in C/C++ for hardware-near programming.
- Familiarity with assembly language and debugging at the register level is a plus.
- Real-Time and Mission-Critical Systems
- Experience developing software for real-time operating systems (RTOS) or real-time Linux.
- Proven track record in designing fault-tolerant, deterministic systems for aerospace, automotive, or industrial control.
- Hardware-Software Integration
- Experience working closely with hardware teams to bring up new boards and debug hardware/software interactions.
- Familiarity with board support packages (BSPs), bootloaders (e.g., U-Boot), and peripheral interfaces (SPI, I2C, UART, CAN).
- Space or Harsh Environment Systems (Highly Preferred)
- Prior experience developing software for space-grade or radiation-hardened systems.
- Understanding of space system constraints such as limited power, thermal management, and radiation effects.
- Security & Reliability
- Experience implementing secure boot, system hardening, and secure communication protocols.
- Familiarity with OTA update mechanisms and system recovery strategies.
- Testing and Validation
- Experience with automated testing frameworks, hardware-in-the-loop (HIL) testing, and simulation environments.
- Exposure to formal verification or model-based design is a plus.
Recommendations:
- Academic Background
- Postgraduate Degree (MSc or PhD) in Embedded Systems, Real-Time Systems, or Space Systems Engineering — especially for roles involving mission-critical software or research-heavy
development.
- Certifications in Embedded Linux, RTOS, or cybersecurity (e.g., CompTIA Security+, Linux Foundation Certified Engineer) may be valued but are not typically mandatory.
- Domain-Specific Experience
- Prior experience in space systems engineering, satellite software development, or aerospace grade embedded systems.
- Familiarity with radiation-hardened processors, fault-tolerant architectures, and space-qualified hardware.
Advanced Technical Skills:
- Experience with real-time Linux or RTOS (e.g., FreeRTOS, VxWorks) in mission-critical applications.
- Knowledge of RISC-V, ARM Cortex-R/M, or FPGA-based platforms.
- Exposure to formal verification, model-based design, or safety-critical software certification standards (e.g., ECSS, DO-178C).
Security Expertise:
- Hands-on experience with secure boot, TPM, SELinux, or other kernel-level security mechanisms.
- Understanding of space cybersecurity standards and secure OTA update systems.
AI/ML Integration:
- Experience integrating AI/ML workloads on embedded platforms for autonomous decision making in orbit.
- Familiarity with edge inference frameworks (e.g., TensorFlow Lite, ONNX Runtime) optimized for embedded Linux.
Tooling and Automation:
- Proficiency with CI/CD pipelines for embedded systems (e.g., GitLab CI, Jenkins, Buildbot).
- Experience with hardware-in-the-loop (HIL) testing and simulation environments for space conditions.
Communication Protocols:
- Knowledge of space communication standards (e.g., CCSDS, DTN, SLE).
- Experience with inter-satellite links, ground station interfaces, or custom telemetry protocols.
System Programming:
- Familiarity with io_uring.
Special requirement(s):
- Willingness to travel overseas.
Duties and Responsibilities:
- System Architecture & Platform Integration
- Develop and maintain custom Linux distributions (Yocto) tailored for space-grade hardware.
- Integrate kernel modules, device drivers, and board support packages (BSPs) for radiation hardened processors and microcontrollers.
- Collaborate with hardware engineers to align software with board-level specifications and constraints.
- Kernel & Driver Development
- Customize and optimize the Linux kernel for real-time performance and minimal resource usage.
- Develop and maintain device drivers for sensors, communication interfaces (CAN, UART, SPI, I2C), and specialized space hardware.
- Implement power management and thermal control strategies at the kernel level.
- Embedded Software Reliability
- Design fault-tolerant software systems capable of autonomous recovery and graceful degradation.
- Implement watchdogs, health monitoring and reporting mechanisms.
- Conduct rigorous testing (unit, integration, HIL) to validate software under simulated space conditions.
- Security & Hardening
- Apply secure boot, kernel hardening, and sandboxing techniques to protect against unauthorized access and system compromise.
- Ensure compliance with space cybersecurity standards and protocols.
- Monitor and patch vulnerabilities in deployed systems via secure OTA updates.
- Performance Optimization
- Profile and optimize system performance for constrained environments (CPU, memory, power).
- Implement efficient data handling pipelines for edge AI/ML workloads and telemetry processing.
- Support real-time scheduling and deterministic behaviour for mission-critical tasks.
- Collaboration & Documentation
- Work closely with mission software, AI/ML, and ground control teams to ensure seamless integration.
- Maintain detailed documentation of system architecture, configurations, and operational procedures.
- Participate in design reviews, code audits, and mission readiness assessments.
Applying for Position:
- Only open to South African citizens.
- If you are interested in this great career opportunity, please send your CV.