Foundation system

Software Engineer at NRF National Research Foundation

Job summary:
The software engineers are part of a development team that builds the MeerKAT, MeerKAT Extension, African VLBI Network (AVN) and Square Kilometer Array (SKA) telescopes. They are responsible for writing the software that controls and monitors the telescope. Software engineers research and evaluate requirements for existing or new software applications, furthermore, they develop, test and maintain software solutions to meet requirements. They can be expected to guide and work with a junior software engineer to accomplish their tasks

Main responsibilities:

  • Prototyping and software development of the operational software of the telescope (all stages of the complete software development life cycle can be encountered)
  • ? Provide hands-on technical support in system administration of hardware platforms, deployment environments, and processing, which may include on-site visits to the Karoo
  • Collaborate with departmental stakeholders to support engineering, commissioning, operations and scientific activities
  • Help mature software development and quality assurance processes towards greater standardization and improved long-term maintainability and robustness
  • Facilitate coding standards compliance and code reviews, which includes mentorship of junior engineers
  • Compile sets of documents
  • Provide project management information and progress reporting, as needed by the functional manager and for team communication
  • Participate in the development of project schedules and activities

Minimum qualification:

  • Baccalaureate / Advanced diploma / CNC 7

Minimum experience:

  • B
  • Technician/B
  • Sc (Comp Sci) with 5 years and over; ORB
  • Eng / B
  • Sc Hons (Comp Sci) with 4 years and above; ORM
  • Eng / M
  • Sc (Comp Sci) with 2+ years; ORPhD / D
  • eng only


  • Experience in a software engineering environment, preferably in a software-heavy engineering development project environment
  • Python or C/C++ programming language and experience developing, testing, deploying, provisioning, releasing and supporting large-scale projects in Python or C/C++
  • Technical knowledge of development in Linux operating systems (experience in system administration of these systems will be beneficial)
  • Technical experience in architecture design and development of large software projects (experience in control and monitoring will be beneficial
  • )Programming experience in the Python programming language
  • Experience in prototyping and development including testing, deployment, go live, release and support large scale projects
  • Experience with test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems like revision control and build systems
  • Experience with quality assurance processes and software development processes and willingness to participate in improving software development processes and software quality procedures
  • Experience in implementing project management and systems engineering principles


  • Modern software collaboration tools such as Github, Containers, Google Drive, JIRA
  • Python programming language

Additional notes:
Participate and thrive in a collaboration [URL Removed] work independently and be a good team [URL Removed] issues [URL Removed] and the desire to self-train and improve their skills [URL Removed] effectively (written and verbal). Understanding and experience in implementing project management and systems engineering [URL Removed] with test-driven integration development and testing techniques, methodologies, and frameworks; and supporting systems like revision control and build [URL Removed] with quality assurance processes and software development processes and a willingness to participate in improving software development processes and software quality [URL Removed] play a leading role in mentoring [URL Removed] both work independently and be a good team [URL Removed] participate and thrive in a collaboration [URL Removed] and an ability and willingness to self-train and improve skills [URL Removed] be careful with [URL Removed] oral and written communication [URL Removed] The NRF website provides more details on initiatives and activities
Applicants must submit a full CV by registering and applying online through the NRF Recruitment and Selection Portal.
Applications should be accompanied by a cover letter indicating the candidate’s suitability for the position.
The names and contact details of at least three arbitrators must be provided.

Desired skills:

  • Skills in the field of application of the position
  • Knowledge to be relevant
  • Responsible in the performance of duties

About the employer:

The National Research Foundation (NRF) supports and promotes research and human capital development through funding, the provision of national research facilities and science outreach platforms and programs to the wider community in all fields of science and technology, including natural sciences, engineering and social sciences. and human sciences.
The South African Radio Astronomy Observatory (SARAO) spearheads South Africa’s activities under the Square Kilometer Array Radio Telescope, commonly referred to as SKA, in engineering, science and building. SARAO is a national facility operated by the National Research Foundation and integrates radio astronomy instruments and programs such as the MeerKAT Telescope in the Karoo, the Hartebeesthoek Radio Astronomy Observatory (HartRAO) in Gauteng, the African Interferometry Program Very Long Baseline (AVN) in nine African countries as well as associated human capital development and commercialization efforts.

Find out more/Apply to this position