Paris, France
/
Internship

Bare Metal Software Engineer Intern

Develop and test bare metal firmware on our microcontroller and SoC targets, from boot sequences and drivers to fault detection and recovery.

About the position

We are looking for a Bare Metal Software Engineer Intern to work on the lowest layers of our onboard computing platforms. Below the operating system, everything a spacecraft computer does depends on firmware that boots reliably, drives the hardware correctly, and behaves predictably when things go wrong. That layer is what you will work on.

In this role, you will develop and test bare metal firmware on our microcontroller and SoC targets: startup and boot sequences, linker scripts and memory maps, peripheral drivers (SPI, I2C, UART, CAN, Ethernet), interrupt handling, and low-level power and clock configuration. You will contribute to board bring-up on new hardware revisions, write test and debug tooling, and help harden the firmware against faults through watchdogs, error detection and recovery mechanisms.

This internship offers the opportunity to work directly with our software, hardware, and avionics engineering teams, and to see your code run on flight-representative hardware rather than on a simulator alone.

Required skills

  • Final-year or gap-year student in embedded systems, computer engineering, electrical engineering, computer science, or related field
  • Solid C programming, with a clear understanding of pointers, memory layout, and undefined behaviour
  • Understanding of microcontroller architecture: registers, interrupts, DMA, memory-mapped peripherals
  • Experience programming on a bare metal or RTOS target (STM32, ARM Cortex-M, RISC-V, or similar), academic or personal projects included
  • Comfortable reading datasheets, reference manuals, and schematics
  • Familiarity with debug tooling (JTAG/SWD probes, GDB, logic analyzer, oscilloscope)
  • Experience with version control, build systems (Make, CMake), and cross-compilation toolchains
  • Knowledge of Rust, assembly, or fault-tolerance techniques (ECC, memory scrubbing, watchdog strategies) is a plus
  • Rigorous, methodical, and comfortable debugging problems that sit between hardware and software

Why join Coros Space

Joining Coros Space means joining a team designing high-performance computing systems for tomorrow's satellites. As an intern, you will:

  • Work closely with experienced engineers in avionics, software, and hardware
  • Contribute directly to a flight-representative onboard computing stack
  • Learn how real spacecraft systems are designed, tested, and validated
  • Have meaningful impact in a startup environment where your work matters

How to apply

Send your CV to careers@coros-space.com.

The subject line of your email must be exactly:

[COROS-INT26-BMS] Bare Metal Software Engineer - Intern 26

Applications sent without a CV attached, or without the position title and code in the subject line, may not be processed correctly.

More positions

Browse all positions