Job Description
Overview
I'm partnering with a very exciting organisation who are enabling sustainable access and utilisation of the Moon, Mars and beyond.
This company have been building and flying reusable rockets for nearly two decades with the most successful rocket-powered landings in the industry.
Key Duties & Responsibilities:
- Design and implementation of robust, highly resilient and fault-tolerant distributed avionics systems
- Developing FDIR (Fault Detection, Isolation & Recovery) algorithms
- Selecting third-party/open-source software frameworks (RTOS, middleware, bootloaders, C/C++ runtimes) based on system-level and schedule requirements
- Selection of peripheral devices and interfaces for processing platforms
- Development of drivers and board-support packages (BSP)
- Participating in informal and formal system design reviews and fault tolerance analysis/FMECA
- Supporting flight operations
Required Skills/Experience:
- Bachelor’s degree in Computer Science, Computer Engineering, or similar
- Thorough understanding of C and C++
- Build tools and infrastructure (Makefiles, shell scripting, compilers, linkers, debuggers, C/C++ runtime libraries, CI tools)
- Embedded systems, microcontrollers, and bare-metal programming
- Development of real-time software on x86 and ARM architectures
- Operating system kernel configuration fundamentals for real-time system behaviour
- Detailed understanding of common software design paradigms (message-passing, event-driven, RAII, etc.)
- Understanding of considerations when developing fault-tolerant software components such as error-tolerant file systems, communications agents, memory-scrubbing/EDAC
- Comms protocols (Ethernet, TCP, UDP, IP, CAN, SPI, I2C, UART, IEEE1588 PTP)
Desired Skills/Experience:
- Understanding of basic EE hardware design concepts
- Knowledge of analog/mixed-signal systems design
- Some experience with PCB design and/or board bring-up from an embedded standpoint
- Experience in controls/GNC (implementing state estimation, sensor fusion & similar algorithms)