Linux Software Engineer required in Somerset West.
A renowned Manufacturing Engineering company is looking for a Linux 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, secure, and efficient embedded Linux software for edge computing platforms deployed in space, enabling autonomous data processing and decision-making in orbit.
Requirements
- Bachelor’s Degree or Advanced Diploma Computer Engineering, Electrical/Electronic Engineering, Computer Science, Mechatronics Engineering, Software Engineering, Aerospace Engineering (with a strong software focus)
- 5+ years of professional experience in embedded software development, with a strong focus on Linux-based systems.
- Embedded Linux Development
- Experience with kernel customization, device drivers, bootloaders, and low-level system programming.
- Familiarity with build systems like Yocto, and OpenEmbedded.
- Real-Time and Resource-Constrained Systems
- Hands-on work with real-time operating systems (RTOS) or real-time Linux extensions.
- Optimization for low-power, high-reliability environments.
- Hardware-Software Integration
- Experience interfacing with sensors, microcontrollers, and custom hardware platforms.
- Debugging and validation using tools like JTAG, oscilloscopes, and logic analysers.
- Space or Aerospace Systems (Preferred but not always required)
- Exposure to space-grade software development, radiation-tolerant systems, or satellite
subsystems.
- Understanding of standards like ECSS, NASA software assurance, or CubeSat protocols.
- Software Testing & Validation
- Experience with automated testing, hardware-in-the-loop (HIL), and simulation environments.
- Security & Reliability
- Knowledge of secure coding practices, fault tolerance, and system recovery mechanisms
Expertise in
- Linux kernel development and customization.
- Real-time systems and deterministic software behaviour.
- Secure boot, encryption, and cybersecurity for embedded systems.
- Fuzz testing
Experience with
- Cross-compilation and toolchains for ARM, RISC-V, or other embedded architectures.
- Hardware-in-the-loop (HIL) testing and simulation environments.
- Containerization (e.g., Docker or WASM) and orchestration in constrained environments.
Proficiency with
- Git, CI/CD pipelines, and automated testing frameworks.
- Build systems like Yocto, Buildroot, or CMake.
- Debugging tools (e.g., GDB, Valgrind, JTAG interfaces).
- Familiarity with io_uring
Special requirement(s)
- Willingness to travel overseas.
Recommendations
- Master’s or PhD in Embedded Systems, Aerospace Engineering, or Computer Science.
- Certifications in Embedded Linux, Yocto Project, or RTOS.
- Training in space systems engineering or satellite operations.
- Prior experience developing software for space missions, CubeSats, or satellite payloads.
- Familiarity with space-grade hardware platforms (e.g., radiation-hardened processors, FPGA
based systems).
- Understanding of ECSS, NASA, or ESA software standards and mission assurance protocols.
Duties and Responsibilities
- Strategic Contribution
- Contribute to the company’s space-edge computing roadmap, identifying innovation and scalability opportunities.
- Support cross-functional initiatives focused on autonomy, onboard intelligence, and in-orbit data sovereignty.
- Embedded Linux Development
- Architect and implement embedded software solutions on Linux-based platforms tailored for space-grade edge computers.
- Customize and optimize Linux kernels, drivers, bootloaders and board support packages for performance and reliability in radiation-prone, low-power environments.
- Integrate real-time capabilities and ensure deterministic behaviour where required.
- System Integration & Hardware Abstraction
- Collaborate with hardware engineers to interface with custom boards, sensors, and space qualified components.
- Develop and maintain hardware abstraction layers (HAL) and middleware to ensure seamless integration across subsystems
- In-Orbit Software Reliability
- Design fault‑tolerant systems with watchdogs, redundancy, and recovery mechanisms to ensure continuous operation in orbit.
- Implement secure update mechanisms for remote patching and software upgrades post‑launch.
- Edge Computing Enablement
- Develop and optimize onboard data processing pipelines for AI/ML inference, image analysis, and telemetry compression.
- Ensure efficient resource management (CPU, memory, I/O) for real‑time edge workloads.
- Testing & Validation
- Lead rigorous testing campaigns including unit, integration, and hardware-in-the-loop (HIL) testing.
- Simulate orbital conditions (thermal, radiation, latency) to validate software robustness.
- Collaboration & Documentation
- Work closely with mission systems, payload, and ground segment teams to align software capabilities with mission objectives.
- Maintain detailed documentation for software architecture, interfaces, and operational procedures.
- Compliance & Standards
- Ensure software adheres to space industry standards (e.g., ECSS, NASA, CubeSat protocols) and cybersecurity best practices.
- Participate in internal audits and reviews to ensure flight‑readiness and mission assurance.
- Continuous Technical Growth
- Stay abreast of emerging trends in embedded Linux, edge computing, and space‑grade software systems.
- Experiment with new tools, frameworks, and kernel features that could enhance system performance or resilience in space environments.
- Pursue certifications, courses, or research relevant to aerospace software engineering and embedded systems.
- Innovation in Edge Computing
- Explore novel approaches to onboard data processing, including AI/ML inference, distributed computing, and low‑latency decision‑making.
- Prototype and evaluate new software architectures that improve autonomy, fault tolerance, or energy efficiency in orbit.
Applying for Position
- Only open to South African citizens.
- If you are interested in this great career opportunity, please send your CV.