Innoflight is looking to solve the problem of designing and developing cyber secure embedded software for satellite avionics and payload data processing systems.
Requirements
- Proficiency in RUST and C/C++ for embedded systems and low-level driver development.
- Advanced proficiency in memory-managed embedded languages such as Rust, Go, or similar for secure systems.
- Experience with RTOS-based development and real-time system constraints.
- Ability to interpret schematics and hardware documentation for driver and software development.
- Proficient in networking and communication protocols, including secure communication standards.
- Familiarity with cryptographic principles and their application in embedded systems.
- Experience with software integration, debugging, and system-level validation.
Responsibilities
- Design and Implement Secure Software: Develop cyber secure embedded software for multi-core processors integrated with FPGA systems (Xilinx, Microsemi, Microchip, Vorago) using C/C++ and RUST.
- Develop Multi-Core Solutions: Design and implement embedded solutions for multi-processor and memory-managed systems on ARM Cortex and RISC-V architectures.
- Embedded Linux and RTOS Expertise: Lead the development of Embedded Linux solutions, managing inter-process and multi-core communications, and integrate with other RTOS implementations as needed.
- Implement Networking and Security Protocols: Build RFC-compliant high-speed networking and security protocols (IP, TLS, IPsec) for embedded systems.
- Integrate Hardware Interfaces: Work with SPI, I2C, UART, GPIO, PCI, PCIe, Ethernet, and SpaceWire interconnect standards to ensure seamless system operation.
- Apply Cryptographic Principles: Design and implement secure software using AES, RSA, ECDSA, ECDH, Secure Boot, Root of Trust, Zero Trust, signed applications, and other secure system techniques.
- Lead Software Development: Drive development and testing of reusable, high-quality software modules while ensuring Secure System best practices are followed at the architecture, design, and code levels.
Other
- Provide mentorship and SME-level guidance to support the growth and success of the engineering team.
- System-Level Leadership: You can independently drive complex software projects while providing guidance and mentorship to the team.
- Technical Communication: You clearly document designs, communicate technical concepts, and collaborate across engineering disciplines.
- Proven ability to mentor and support junior engineers in a collaborative environment.
- Ability to obtain a U.S. Security Clearance.