Communications Software Developer

Communications Software Developer

Position Description

Subsystem Summary:

The Communications (COMMS) subsystem is responsible to reliably transfer the largest possible volume of scientific and diagnostic data between the satellite and the Earth, by developing the necessary On-Board and Ground Station hardware and software. COMMS is also in charge of performing system-level electromagnetic analyses on AcubeSAT. In that context, our members are occupied with

  • RF front-end design,
  • antenna design, construction and testing,
  • studying and implementing communication protocols,
  • digital signal processing,
  • electromagnetic compatibility and 
  • data and link budget analysis of the mission, 

amongst others.

Position Description:

As a Software Developer in the Communications subsystem, you will learn to apply concepts of digital signal processing, wireless communications and networking to implement: 

  • Space telecommunication protocols (CCSDS) 
  • Error correction and cryptographic codes 
  • Digital RF front-end and software interfaces of the ground station
  • Computational tools for the analyses carried out by the subsystem   

Preferred Skills: 

Given the nature of the subsystem’s work and the multidisciplinarity of the team, the skills that are more sought after are:

  • Eager to learn and apply theoretical knowledge to real communication systems
  • Ability to work in a group and independently 
  • Not afraid of taking initiative
  • Capable of analytical thinking and researching new fields
  • Good English written and oral skills

Any of the following skills are not a prerequisite, but would be nice for a Communications Software Developer to have:

  • Knowledge of programming languages (mainly C/C++, Python)
  • Git working knowledge
  • Experience with GNU Radio 
  • Basic Linux knowledge
  • Ham radio operator

Note: The RF Engineer and Communications Software Developer positions are neither mutually exclusive nor destined for only one recruit each! Rather, they represent the different types of work performed in the subsystem.