Developing Board Support Package (BSP) software for new hardware, including driver development
Bare-metal or OS-level programming for hardware initialization, control, embedded data processing, and networking/communication
Hands-on work with avionics spaceflight hardware, including debugging with logic analyzers, oscilloscopes, and JTAG debuggers
Participating in design concepts and reviews, with special attention to partitioning between HW and SW implementation
Performing benchmark analysis and deploying benchmarking code to characterize hardware performance
Bring up and utilization of HW-accelerators in modern SoC devices (e.g. encoders, decoders, encryption engines, image signal processing cores, etc.)
Scripting, Linux development, and hands-on work with development kits and sensor modules
Defining and implementing embedded SW for interfaces such as I2C, SPI, UART, TCP/IP, UDP, GMSL, SpaceWire, CameraLink, Aurora, AXI, AMBA, etc.
Developing boot and SW-based fault-tolerance strategies
Publishing internal documents and memos, participating in design reviews, reviewing and generating requirements
Willingness to learn new skills, languages, debug/development tools.
Requirements
BS in computer engineering, computer science, electrical engineering, aerospace engineering, or a related technical field
6+ years of experience in the field(s) above
Embedded software design and development skills in C/C++/Rust with Linux (or similar) scripting experience
Debugging skills, using a mix of cross HW/SW techniques and tools (GDB, XSDB, GRMON, Logic Analyzer, Protocol Analyzer, Wireshark, etc.), and experience single stepping through code, looking at Assembly, probing memory, and driving I/O
Background in computer architecture, understanding of memory buses, cache, DMA, CPU execution pipelines
Experience with / knowledge of version control systems (Git)
Ability to work well in a team and independently with minimal direction.
Tech Stack
Assembly
Linux
Rust
TCP/IP
Benefits
Medical, dental, vision, basic and supplemental life insurance
Paid parental leave
Short and long-term disability
401(k) with a company match of up to 5%
Education Support Program
Paid Time Off: Up to four (4) weeks per year based on weekly scheduled hours, and up to 14 company-paid holidays.