Baryonic Space
Embedded Software Engineer
Baryonic SpaceTurkey15 hours ago
Full-timeEngineering, Information Technology
Back

  • ‹ All jobs

Embedded Software Engineer

Full-time

Ankara, Turkey

We are seeking a Spacecraft Embedded Software Engineer to support the development, integration, and validation of flight software and payload software for spacecraft platforms. This role combines low-level embedded development, Linux-based system engineering, and hardware-aware debugging with a strong emphasis on testing, reliability, and system integration.

You will work across heterogeneous compute environments within a multi-disciplinary engineering team, collaborating closely with hardware, FPGA, RF, systems, and operations engineers to deliver robust embedded solutions. The role includes payload-facing development for SDR-based instruments, high-throughput data movement, boot flow management, and extensive verification workflows. Hands-on hardware interaction and strong debugging discipline are essential.

Responsibilities

Embedded Software Development

  • Develop and maintain embedded software in C/C++ for spacecraft flight and payload subsystems.
  • Support payload software development for SDR-based systems using libiio and Linux userspace frameworks.
  • Implement device drivers, middleware, and application-layer logic across bare-metal, RTOS, and Linux environments.
  • Design and maintain boot flows including FSBL, U-Boot, and OS initialization sequences.
  • Implement high-throughput data pipelines and manage DMA-based transfers between programmable logic and processor subsystems.

System Integration & Testing

  • Lead and support HIL, SIL, unit, and integration testing workflows.
  • Develop automated test frameworks using pytest and scripting in Python.
  • Perform system bring-up, debugging, and integration with spacecraft hardware and payload electronics.
  • Support verification and validation campaigns across development and qualification phases.
  • Collaborate with hardware, FPGA, and algorithm teams to ensure reliable end-to-end system behavior.

Build Systems & Tooling

  • Develop and maintain reproducible build environments using CMake, Make, and related build systems.
  • Use Git and CI/CD pipelines to support automated builds, testing, and deployment workflows.
  • Utilize debugging and profiling tools including gdb, valgrind, and performance instrumentation tools.
  • Perform performance profiling and optimization of CPU, disk, and network workloads.

Embedded Linux & RTOS

  • Develop and maintain embedded Linux environments using Yocto and PetaLinux.
  • Configure device trees, kernel modules, and userspace services.
  • Implement RTOS-based solutions using FreeRTOS or Zephyr, and develop bare-metal firmware when required.
  • Manage system-level configuration and runtime services in Linux-based spacecraft compute environments.

Hardware Interfaces & Protocols

  • Implement and debug digital communication interfaces including: RS-232 / RS-485 / RS-422, I2C, SPI, CAN bus, Ethernet
  • Work with hardware engineers to validate interface behavior, timing, and robustness.
  • Support board-level debugging and bring-up activities.

Emulation, Simulation & Development Environment

  • Utilize QEMU or equivalent virtualization/emulation frameworks for system testing and development.
  • Develop simulation-based validation workflows and cross-platform testing environments.
  • Use containerization tools such as Docker for development reproducibility and CI environments.

Documentation & Collaboration

  • Produce and maintain high-quality technical documentation, including design documents, ICDs, test procedures, and troubleshooting guides.
  • Participate in design reviews and cross-functional technical discussions.
  • Work effectively within a multi-disciplinary team, coordinating closely with hardware and systems engineering teams throughout development and integration phases.
  • Maintain operational runbooks, integration notes, and development guidelines to support long-term maintainability.

Minimum Qualifications

  • Bachelor’s degree in Electrical Engineering, Computer Engineering, or related field.
  • 2+ years of professional embedded software development experience in C/C++.
  • Strong experience with embedded Linux environments and Linux-based development workflows.
  • Experience with CMake, Make, and build system design.
  • Proficiency with gdb and valgrind for debugging and performance analysis.
  • Experience with Git and CI/CD workflows.
  • Experience performing unit, integration, and system-level testing, including HIL/SIL environments.
  • Hands-on experience working with hardware and performing board bring-up and debugging.
  • Understanding of digital communication protocols (RS232/485/422, I2C, SPI, CAN, Ethernet).
  • Experience with ARM-based embedded systems and microcontroller platforms.
  • Working knowledge of bootloaders and embedded boot sequences (FSBL, U-Boot).
  • Familiarity with DMA-based data movement and memory architecture in embedded systems.
  • Proficiency in Python for scripting and test automation.

Preferred Qualifications

  • Experience with libiio and SDR payload software development.
  • Familiarity with QEMU or other emulation environments for embedded testing.
  • Experience with Yocto and PetaLinux build environments and device tree configuration.
  • Experience with FreeRTOS or Zephyr RTOS and bare-metal firmware development.
  • Knowledge of pybind11 for bridging C++ and Python environments.
  • Experience with Docker for reproducible development environments and CI integration.
  • Understanding of software-defined radio architectures and their operational constraints.
  • Basic DSP knowledge relevant to SDR payloads (sampling, IQ data, filtering concepts).
  • Experience implementing high-throughput streaming pipelines and optimizing memory bandwidth usage.
  • Familiarity with spacecraft or high-reliability embedded systems environments.

Benefits

  • Competitive salary and a comprehensive benefits package, including health insurance and fuel support.
  • Continued support for candidates currently enrolled in a master's or doctoral program.
  • Opportunities for continuous professional growth and skill development.
  • Engage in a collaborative and innovative work environment.
  • Enjoy a positive and enriching work environment, situated in a desirable location.

Apply Here

  • Required fields

First name*

Last name*

Email address*

Phone number*

Linked in profile*

Resume*

Upload a file

or drag and drop

PDF, DOCX, DOC

Email to a friend

Share on LinkedIn

Share on Twitter

Powered by

Key Skills

Ranked by relevance