Description
embedded software
fdir algorithms
data movement
board bring-up
linux platform
system debugging
As an Embedded Software Engineer, you will develop the embedded software that enables Array’s radar sensors, communication links, and flight systems to operate reliably in orbit. Your work will include board bring-up of Linux-based platforms, high-performance data movement between sensors and compute elements, integration with FPGA and RF subsystems, and the development of safety-critical control and FDIR algorithms.
We will conduct three interviews via Zoom; the typical process takes around 2-4 weeks to complete from start to finish.
As part of our quickly growing engineering team, you will play a critical role in building the world’s most advanced radar satellite constellation—one that will significantly improve humanity’s ability to rapidly and comprehensively understand our changing planet.
You will collaborate closely with signal processing, hardware, and GNC engineers to prototype, evaluate, and deploy software architectures that meet demanding latency, throughput, and reliability requirements. The software you build will directly influence radar performance, system robustness, and mission resilience on orbit.
- Develop safety-critical system-level software for hardware components and develop FDIR (fault detection, isolation, and recovery) algorithms for mission-critical systems
- Implement high-efficiency data movement between our radar sensor, FPGA fabric, microprocessors, networking interfaces, and storage peripherals
- Board bring-up of a Linux-based platform that integrates radar sensors, flight computers, RF transceivers, and navigation sensors
- Develop highly reliable and available software systems for our low-latency, high-capacity radar sensor, communication system, and flight control system
- Work collaboratively with signal processing, hardware, and GNC engineers to build performant and reliable embedded software for our payload
- Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to driver to application
Requirements
c/c++
python
rtos
linux
peripheral interfaces
master's
- Hands-on coding experience with peripherals with interfaces such as UART, SPI, CSI-2, i2c, GPIO, USB, and PCIE
- Rapid prototyping and evaluation of key architectural choices and design constraints
- Experience in one or more of the following areas: BSP/Board Support Package, Operating Systems, RTOS, Bootloader, Power Management, Linux, MCU (Microcontroller)
- Experience building software for complex embedded systems or custom SoCs
- Good understanding of multi-threaded embedded system concepts including tasks, priorities, and deadlocks
- Embedded software debugging experience including clock-level issues, bridges, delays, interrupts, clock gating, and polling using debuggers (Keil, J-Link)
- Experience with embedded software design and debugging of boards with multiple processors (ARM/RISC-V, DSPs, MCUs) and a large array of peripherals using a multitude of interfaces (SPI, UART, GPIO, I2C, Ethernet)
- Master’s degree in Computer Engineering, Computer Science, Electrical Engineering or related field
- High levels of self-motivation and personal accountability
- Learns new concepts rapidly, completely, and in a self-directed manner
- Experience with aerospace or space projects (flight control/GNC)
- Working knowledge of networking stack (Ethernet, TCP/IP suite) desired
- Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering or related field
- Ability to work in a fast-paced environment under significant time constraints
- Good understanding of Embedded Systems and OS concepts (Linux/RTOS)
- To conform to U.S. Government space technology export regulations, including the International Traffic in Arms Regulations (ITAR) you must be a U.S. citizen, lawful permanent resident of the U.S., protected individual as defined by 8 U.S.C. 1324b(a)(3), or eligible to obtain the required authorizations from the U.S. Department of State
- Ability to read and interpret schematic diagrams
- Experience with a variety of microprocessors (ARM,Nordic, Microchip, STM, etc) and hardware modules
- Experience in the automotive, medical robotics, or similar regulated embedded device industry with a focus on safety and high availability
- Experience programming in C or C++ in embedded environments and in Python to support development, automation, and testing
- Experience developing with modern Real-Time Operating Systems (FreeRTOS, Zephyr, ThreadX, VxWorks)
- 4+ years of embedded software experience
- Excellent teamwork and communication skills
Benefits
You can anticipate competitive pay, with high flexibility between salary and equity-based compensation.
Training + Development
Information not given or found