
Systems Software Engineer
- 🇿🇦 South Africa
- On-site
- 1 day ago
- QNX
- System Design
- Rust
- SoCs
- WebAssembly
- Docker
- Kubernetes
- C++
Simera Sense is a leading provider of Earth observation camera solutions for the global small satellite market. Committed to excellence and innovation, we deliver superior products and services to our worldwide customer base.
Â
Are you passionate about developing high-performance software that powers cutting-edge technology? We are seeking a Systems Software Engineer to design, develop, and optimise robust software solutions for advanced engineering and mission-critical systems. If you enjoy solving complex technical challenges, collaborating across multidisciplinary teams, and delivering reliable, scalable software, we'd love to hear from you.
Â
Position Type:Fulltime
Remote Opportunity: No
Report To:Group Systems Engineer Manager
Location:Â Somerset West, South Africa
Job Purpose:
Engineer and qualify secure, production-ready system software for real-time edge platforms by developing low-level operating system components, device drivers, boot software, concurrent applications and resilient communication solutions that optimise system performance, reliability and connectivity.
Responsibilities:
System Software Development on an Edge Platform
- Design and implement system-level software on a powerful edge platform running on a real-time operating system, such as: QNX or VxWorks.
- Work close to the OS: processes, threads, memory, filesystems, networking and security.
- Implement operating system device drivers for on-chip devices as well as proprietary and standard on-board devices.
- Develop boot software on a development kit and later for proprietary hardware using the same SoC.
- Secure remote update of the operating system and proprietary services.
- Debug and optimize performance, resource usage, and reliability.
- Communicate with a central cloud-based system.
- Build tools and services that run reliably in production environments.
Â
Concurrency & Distributed Systems
- Design and implement concurrent and parallel software.
- Reason about synchronization, race conditions, deadlocks, and consistency.
- Build distributed components that tolerate partial failure, latency and partition.
- Apply formal reasoning to state machines and protocol design.
Networking & Communication
- Develop software that communicates over unreliable, high-latency and intermittent networks.
- Implement end-to-end cryptographic communication security.
- Design and implement robust communication protocols and data pipelines.
- Apply networking fundamentals to system design and troubleshooting.
Testing and Qualification
- Perform component testing
- Perform system testing
- Perform system qualification against requirements
- Produce test documentation
Â
Required Qualifications:
- Bachelor Honors Degree or Postgraduate Diploma in Computer Science, Electronic Engineering, or a closely related field
Â
Minimum years of work experience:
- 0-2 years of relevant experience.
Â
Required Experience:
- Strong foundation in computer science, including:
o   Algorithms and data structures
o   Automata and formal models of computation
o   Computational complexity and trade-offs
o   Concurrency and parallelism
o   Communication networks
o   Cryptographic security
- Strong background in system software development, including:
o   Real-time operating systems
o   Fault-tolerant, unattended systems
o   Distributed systems or message-based architectures
o   Multithreaded and concurrent programming
o   Reactive systems
o   Device drivers
o   System boot
o   Secure remote update
- Strong background in edge platforms.
- Strong background in analysing, profiling and debugging systems.
- Proficiency in at least two systems- or backend languages (e.g. C, Rust, Go)
- Solid understanding of networking fundamentals
- Solid understanding of communication security
- Experience modelling software with automata
Â
Recommendations:
- Proficiency with systems programming in Rust.
- Experience with QNX or VxWorks.
- Experience with AMD Versal SoCs.
- Familiarity with containers and orchestration (WASM, Docker, Kubernetes).
- Exposure to formal specification, verification, or protocol design
- Experience profiling and debugging production systems
- Experience with C++
- Interest in correctness, safety, and formal reasoning
What we offer:
- The opportunity to work in the fast-growing space industry.
- Niche global market for optical payloads for microsatellites.
- Cutting-edge technology at your fingertips
- A competitive salary
- A friendly working environment.
Â
Ready to make an impact?
- Apply now by submitting your CV.
Systems Software Engineer · Simera Sense