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 SystemsHands-on work with real-time operating systems (RTOS) or real-time Linux extensions.
Optimization for low-power, high-reliability environments.Hardware-Software IntegrationExperience 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 & ValidationExperience with automated testing, hardware-in-the-loop (HIL), and simulation environments.
Security & ReliabilityKnowledge 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 testingExperience 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_uringSpecial 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, FPGAbased systems).
Understanding of ECSS, NASA, or ESA software standards and mission assurance protocols.Duties and Responsibilities
Strategic ContributionContribute 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 DevelopmentArchitect 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 AbstractionCollaborate 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 subsystemsIn-Orbit Software ReliabilityDesign 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 EnablementDevelop 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 & ValidationLead rigorous testing campaigns including unit, integration, and hardware-in-the-loop (HIL) testing.
Simulate orbital conditions (thermal, radiation, latency) to validate software robustness.Collaboration & DocumentationWork 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 & StandardsEnsure 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 GrowthStay 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 ComputingExplore 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.#J-18808-Ljbffr