Vacancy expired!
- Architecting a robust, highly resilient and fault-tolerant distributed avionics system
- 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
- Thorough understanding of C and C (C98 or greater)
- Understanding of build tools and infrastructure (compilers, linkers, debuggers, C/C runtime libraries, CI tools)
- Detailed knowledge of software design from first principles on x86, ARM & PowerPC architectures (bootloaders, startup code, C/C runtime implementation)
- Development of hard-real time software in POSIX environments
- Basic understanding of operating system kernel configuration fundamentals for real-time system behavior
- Detailed understanding of common software design paradigms (message-passing, event-driven, RAII, et. al.)
- Understanding of considerations when developing fault-tolerant software components such as error-tolerant file systems, communications agents, memory-scrubbing/EDAC
- Experience with Modern C (C11/14 or greater) or emerging systems languages like Rust
- Understanding of basic EE hardware design concepts
- Board design/bring-up experience
- Knowledge of analog/mixed-signal systems design
- Experience in controls/GNC (implementing state estimation, sensor fusion & similar algorithms)
- Working knowledge of communications security (commsec) and information assurance concepts
- Experience with Linux/UNIX, Linux kernel (scheduler, driver stack), microcontrollers (Cortex R/M)
- Some experience with PCB design and/or board bring-up from an embedded standpoint
- Bootloader development experience
- Comms protocol understanding (CAN, SPI, I2C, UART, LIN, Ethernet, IEEE1588 PTP)
- Understanding of performance/determinism trade-offs when writing hard-real-time software
Vacancy expired!