Company logo

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
Powered by
Jobspage