Company logo

Communication Systems Software Engineer

Full-time
Ankara, Turkey

We are looking for a software engineer specialized in real-time communication protocols, networking, and low-level data transfer for ground segment communication systems. You will develop and maintain the software that enables reliable link establishment, data transfer, and modem control between assets.


Key Responsibilities:


Implement communication protocols: Work with link-layer and transport-layer protocols, including device-specific ICDs for ground receiver modems.

Build real-time data pipelines: Develop C++ or Go microservices for telemetry ingestion, file transfer (FTP, generic store-and-forward), and general communication.

Low-level hardware communication: Interface with modems and RF hardware using UART, I2C, SPI, TCP/UDP, and serial protocols (RS-232/422/485).

Store-and-forward networking: Implement and optimize delay-tolerant networking (BP, LTP, UDP, DTPC) for challenged environments.

Service orchestration & automation: Deploy and manage communication services in a containerized environment (Docker, docker-compose) with CI/CD.

Network infrastructure: Handle routing, reverse proxying (Nginx/Caddy), load balancing, and basic socket-level programming for reliable data flow.

Testing & validation: Write automated unit and integration tests for protocol stacks and communication pipelines. Conduct hardware-in-the-loop testing.

Documentation: Maintain clear ICDs, API docs, and operational procedures for ground communication systems.


Minimum Qualifications:


Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.

3+ years of experience developing software for communication systems, embedded systems, or RF ground equipment.

Practical experience with Python for fast prototyping, testing, scripting, and data analysis.

Familiarity with Python REST servers like FastAPI.

Deep expertise in C++ (or Go) for performance-critical, real-time applications.

Hands-on experience with:

UART, I2C, SPI, and serial communication

TCP/UDP socket programming

RF data links and wireless communication protocols (e.g., point-to-point, mesh, or TDM)

Linux system programming: Experience with POSIX, sockets, threads, and process management on embedded or general-purpose Linux.

Understanding of store-and-forward networking (Bundle Protocol, LTP) or similar challenged-network protocols.

Experience with containerization (Docker) and CI/CD pipelines.

Knowledge of Git, unit tests, and automated testing.

Pratical experience with Agentic AIs.


Preferred Qualifications:


Knowledge of Go language.

Prior work on mission-critical command and telemetry systems.

Familiarity with RF concepts (modulation, FEC, link budget, SDRs).

Experience with GDAL, PostGIS, or geospatial data processing.

Prior work on frontend applications to develop simple utility UIs.


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 in a related field.

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