Back
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
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