Sr Staff/Principal Embedded Software Engineer
Company: Testing Solutions GmbH
Location: Palo Alto
Posted on: November 13, 2024
Job Description:
Array Labs is building a distributed radar imaging constellation
to power the first accurate, real-time 3D map of the world.The
Satellite Software Team is responsible for designing the software
that powers all aspects of our mission. The core focus areas for
the Satellite Software Team include mission software (radar data
collection, storage, processing, and downlink), radio
communications, satellite/flight control, telemetry, and embedded
firmware. Array Labs is seeking Embedded Software engineers with
experience in low-level systems software, device driver
programming, board support package development, and experience
shipping hardware/software products to be part of our core Software
Team.The position requires working closely with cross-functional
teams as well as external suppliers to develop products that run on
our custom low-power space computing platform. As an early member
of this team, you will have the opportunity to implement components
at all layers including kernel, resource allocation, memory
management, interrupt handling, synchronization primitives, power
management, and high-bandwidth I/O handling.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.Basic Qualifications:
- Bachelor's degree in Computer Engineering, Computer Science,
Electrical Engineering or related field.
- 11+ 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.Preferred
Skills and Experience:
- 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.ITAR
Requirements:
- 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.Equal Opportunity Employer
- Array Labs is an Equal Opportunity Employer. Employment
decisions are made on the basis of merit, competence, and job
qualifications and will not be influenced in any manner by gender,
color, race, ethnicity, national origin, sexual orientation,
religion, age, gender identity, veteran status, disability status,
marital status, mental or physical disability or any other legally
protected status.
#J-18808-Ljbffr
Keywords: Testing Solutions GmbH, Tracy , Sr Staff/Principal Embedded Software Engineer, IT / Software / Systems , Palo Alto, California
Didn't find what you're looking for? Search again!
Loading more jobs...