Embedded Software Engineer

Array LabsPalo Alto, CA
14d

About The Position

At Array Labs, we are building the world’s most advanced radar imaging satellites to produce an accurate, continuously updated 3D map of the Earth — providing governments and commercial organizations with critical insights into the physical world. We design and build our entire radar system in-house, from antenna panels and RF front-ends to digital electronics, calibration systems, and data processing. This vertical integration gives us control over the electrical, thermal, and mechanical constraints that set the limits on radar performance and system reliability. 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. 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. 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.

Requirements

  • Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering or related field
  • 4+ years of embedded software experience
  • Good understanding of Embedded Systems and OS concepts (Linux/RTOS).
  • Experience in one or more of the following areas: BSP/Board Support Package, Operating Systems, RTOS, Bootloader, Power Management, Linux, MCU (Microcontroller).
  • Excellent teamwork and communication skills
  • Learns new concepts rapidly, completely, and in a self-directed manner
  • High levels of self-motivation and personal accountability
  • Ability to work in a fast-paced environment under significant time constraints
  • Experience programming in C or C++ in embedded environments and in Python to support development, automation, and testing.

Nice To Haves

  • Master’s degree in Computer Engineering, Computer Science, Electrical Engineering or related field
  • Experience with aerospace or space projects (flight control/GNC)
  • Experience in the automotive, medical robotics, or similar regulated embedded device industry with a focus on safety and high availability
  • 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 building software for complex embedded systems or custom SoCs
  • Hands-on coding experience with peripherals with interfaces such as UART, SPI, CSI-2, i2c, GPIO, USB, and PCIE
  • Experience developing with modern Real-Time Operating Systems (FreeRTOS, Zephyr, ThreadX, VxWorks)
  • 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)
  • Experience with a variety of microprocessors (ARM,Nordic, Microchip, STM, etc) and hardware modules
  • Working knowledge of networking stack (Ethernet, TCP/IP suite) desired
  • Ability to read and interpret schematic diagrams

Responsibilities

  • Develop highly reliable and available software systems for our low-latency, high-capacity radar sensor, communication system, and flight control system
  • Board bring-up of a Linux-based platform that integrates radar sensors, flight computers, RF transceivers, and navigation sensors
  • Work collaboratively with signal processing, hardware, and GNC engineers to build performant and reliable embedded software for our payload
  • Rapid prototyping and evaluation of key architectural choices and design constraints
  • Implement high-efficiency data movement between our radar sensor, FPGA fabric, microprocessors, networking interfaces, and storage peripherals.
  • Develop safety-critical system-level software for hardware components and develop FDIR (fault detection, isolation, and recovery) algorithms for mission-critical systems
  • Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to driver to application
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service