Apply for Embedded Software Engineer Position at CubeSpace ADCS


CubeSpace designs Attitude Determination and Control System (ADCS) solutions for orientation control of nano and micro-satellites. The company is based in Stellenbosch in the Cape Winelands district located in the Western Cape, South Africa. Cubespace’s technology sits at the heart of spacecraft built by our international satellite manufacturing partners and clients.


CubeSpace has a specialist software team responsible for all software aspects of the ADCS solution. It works closely with the ADCS algorithms team and the ADCS subsystems specialists to deliver a complete software solution. The team responsibilities include mission critical firmware development, test and production infrastructure, customer-facing supporting software and technical support.

Job description:

CubeSPace is looking for a junior to mid-level embedded software engineer to initially take ownership of the customer-facing supporting software. The supporting software provides a user-friendly interface to all the ADCS components used for testing, configuration and firmware upgrading.

As part of the software team, you will eventually be required to contribute to all areas (including firmware development). This will give you the opportunity to develop yourself into an Embedded Software/Firmware specialist.

As an Embedded Software Engineer, your tasks will be:

  • Communicate with individuals from other teams for requirements and feedback
  • Arrange design reviews in the software team for your areas of ownership
  • Develop, test, and maintain supporting software tools written in Python and C#
  • Build an automated test environment for supporting tools
  • Investigate issues reported by users (all the way to the firmware and hardware level)
  • Write and maintain documentation for supporting tools
  • Assist in building automated test infrastructure for firmware
  • Firmware development, maintenance, and documentation


  • Bachelor’s Degree in Electronic Engineering (or similar)
  • Experience coding in C#
  • Experience coding in Python
  • Experience coding and debugging in C
  • South African citizenship

As the ideal candidate:

  • You have a passion for software and firmware
  • You want to develop yourself to become an all-round Embedded Software/Firmware expert
  • You prefer collaboration and value feedback
  • You are always willing to help outside your comfort zone
  • You continuously strive to improve and innovate
  • You take accountability for your decisions
  • You can track bugs down to the firmware/hardware level

To stand out from the crowd:

  • You can demonstrate experience working with ARM Microcontrollers
  • You can demonstrate experience with Eclipse-based IDEs
  • You can demonstrate experience with MISRA C coding compliance
  • You can demonstrate experience working with SPI, I2C and CAN

How to apply

If the description of the role excites you, we would love to hear from you! 

However, the email address used for applications is a well-guarded CubeSpace secret. Rumour has it that the email address is hidden deep inside the firmware of a self-aware agent called CubeBot. Only the bravest and most determined engineers can convince the agent to offer its secret…

You can download the challenge here:

Please carefully read the instructions (guide.pdf) included in the challenge download and email the required information and projects. Applications should be submitted not later than Friday, 11 December 2020, end of the day.

Click here to get real time data and information on every Segments and players in the African space and satellite industry.