Point your AI agent at freehire and let it find you a job.

Get the CLI →

Array Labs

Embedded Software Engineer

Posted Updated
Discussion
  • 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
  • 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
  • Experience programming in C or C++ in embedded environments and in Python to support development, automation, and testing
  • Master’s degree in Computer Engineering, Computer Science, Electrical Engineering or related field
  • 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 multi-threaded embedded system concepts including tasks, priorities, and deadlocks
  • Learns new concepts rapidly, completely, and in a self-directed manner
  • Experience with aerospace or space projects (flight control/GNC)
  • 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
  • High levels of self-motivation and personal accountability
  • Experience in the automotive, medical robotics, or similar regulated embedded device industry with a focus on safety and high availability
  • Experience building software for complex embedded systems or custom SoCs
  • Good understanding of Embedded Systems and OS concepts (Linux/RTOS)
  • 4+ years of embedded software experience
  • Embedded software debugging experience including clock-level issues, bridges, delays, interrupts, clock gating, and polling using debuggers (Keil, J-Link)
  • 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
  • Ability to read and interpret schematic diagrams
  • Working knowledge of networking stack (Ethernet, TCP/IP suite) desired
  • We will conduct three interviews via Zoom; the typical process takes around 2-4 weeks to complete from start to finish

Skills

Apply

See also

Embedded jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available