Overview
GalaxEye aims to shape the future of Satellite Image Acquisition, providing the most meaningful datasets to help businesses and governments make data‑driven decisions. We deliver satellite imagery datasets and value‑added services to geospatial analytics companies and infrastructure enterprises, and research various aspects of remote sensing.
The C&DH (Command & Data Handling) team at GalaxEye designs and develops onboard computing and embedded software infrastructure powering our satellite constellation. The team works across embedded platforms, real‑time systems, onboard communications, and flight software, encompassing Bare Metal, RTOS, and Embedded Linux‑based development for mission‑critical spacecraft operations.
The team operates in a highly interdisciplinary environment where embedded software, FPGA systems, avionics hardware, and mission operations combine to build reliable and high‑performance satellite systems. We foster a culture of ownership, encouraging engineers to drive technical solutions independently, proactively solve system‑level challenges, and provide strong engineering justifications while collaborating closely across hardware, FPGA, systems, and operations teams.
Key Responsibilities
- Design, develop, and maintain embedded software for spacecraft C&DH systems.
- Develop low‑level firmware and board support packages (BSP) for microcontrollers, SoCs, and FPGA‑integrated systems.
- Implement real‑time software architectures using Bare Metal and RTOS environments.
- Develop and optimize Embedded Linux applications, drivers, and middleware.
- Work on communication interfaces and protocols such as SPI, I2C, UART, CAN, Ethernet, PCIe, SpaceWire, and CCSDS‑based interfaces.
- Implement low‑level drivers for microcontrollers and SoCs (e.g., ADC, PWM, GPIO, Timers, RTC, Flash, EEPROM).
- Develop telemetry, telecommand, fault management, watchdog, bootloader, and health‑monitoring software.
- Perform debugging, profiling, and performance optimization on target hardware.
- Support hardware bring‑up, system integration, environmental testing, and mission operations.
- Contribute to software architecture, coding standards, CI/CD pipelines, and verification activities.
- Collaborate closely with avionics, FPGA, systems, and mission operations teams.
Requirements
- Strong programming expertise in C/C++ for embedded systems.
- Strong understanding of MCU architecture (ARM Cortex‑M/A/R or RISC‑V, etc.).
- Knowledge of memory management (stack/heap, static allocation, alignment, DMA coherency/caches if relevant).
- Experience with Bare Metal firmware development.
- Familiarity with RTOS concepts (task scheduling, synchronization, IPC, memory management).
- Embedded Linux internals and driver/application development.
- Experience with one or more RTOS such as FreeRTOS, Zephyr, or ThreadX.
- Experience in Linux‑based embedded systems, device drivers, kernel/user‑space interaction, build systems (Yocto/Buildroot), and scripting (Python or Perl).
- Strong debugging skills using JTAG, GDB, logic analyzers, and oscilloscopes.
- Experience with communication protocols: SPI, I2C, UART, CAN, Ethernet, PCIe.
- Understanding of software reliability, fault tolerance, and safety‑critical system design.
Preferred Qualifications
- Bachelor’s or Master’s degree in Electronics, Embedded Systems, Computer Science, VLSI, or related field.
- 4‑6 years of experience in embedded software or flight software development.
- Experience in aerospace, satellite, defense, robotics, or autonomous systems.
- Knowledge of spacecraft onboard software architecture and mission operations.
- Experience with FPGA‑software co‑design and MPSoC platforms.
- Familiarity with CCSDS, ECSS, or DO‑178 development practices.
- Exposure to AI accelerators, edge computing, or high‑speed data handling systems.
Who We’re Looking For
We are seeking a dedicated engineer who thrives in a collaborative, innovative environment and can contribute to the design and execution of mission‑critical satellite software.