Point your AI agent at freehire and let it find you a job.

Get the CLI →

Jobspage

NewBe an early applicant

Communication Systems Software Engineer

Posted 3 views
Discussion

Summary

This engineer builds and maintains ground-segment communication software for satellite/RF operations: link establishment, telemetry ingestion, file transfer, and modem control. The stack centers on C++ (or Go) and Python microservices on Linux, talking to modems over serial (UART/RS-232/422/485) and TCP/UDP, with delay-tolerant networking and Docker-based deployment.

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.

Skills

Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available