Communication Systems Software Engineer
Summary
Develops and maintains real-time communication protocols and low-level data transfer systems for ground segment links, using C++/Go and networking stacks.
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.