Vacant Position – Software Engineer
NRF/SARAO
About the role
Contract type: Permanent
Job Level: Skilled / Middle Management
Work Location: Cape Town, Western Cape
Closing Date: 10 April 2026
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 programmes to the broader community in all fields of science and technology, including natural sciences, engineering, social sciences and humanities.
The South African Radio Astronomy Observatory (SARAO) implements South Africa’s strategic investments in radio astronomy, including the international Square Kilometre Array (SKA) project, which covers a broad range of engineering and scientific activities. SARAO is a National Facility of the National Research Foundation, and incorporates radio astronomy and space geodesy instruments and programmes such as the MeerKAT telescope in the Karoo, the Hartebeesthoek Radio Astronomy Observatory (HartRAO) in Gauteng, the Africa Radio Astronomy Programme across nine African countries, as well as associated human capital development and commercialisation endeavours.
SARAO has an exciting Software Engineer position to form part of a development team building the MeerKAT, MeerKAT Extension, African VLBI Network (AVN) and the Square Kilometre Array Observatory (SKAO) telescopes. The role will be responsible for writing the software that controls and monitors the telescope, research and evaluate requirements for the existing or new software applications, furthermore they develop, test and maintain software solutions to meet the requirements
Key Responsibilities:
* Prototyping and software development of the telescope operational software (all stages of the full software development life-cycle may be encountered).
* Provide hands-on technical support in the system administration of the hardware platforms, deployment environments and processing, which may include site visits to the site.
* Collaborate with departmental stakeholders to support engineering, commissioning, operations and early science activities.
* Assist in maturing of software development and quality assurance processes towards greater standardization and improved long term maintainability and robustness.
* Facilitate coding standard compliance and code reviews, which include mentoring junior engineers.
* Compile document sets.
Key Requirements:
Qualification:
* B.Tech/B.Sc Computer Science, Computer Engineering or related field
* 6 years experience in a software engineering environment, preferably in an engineering project environment with a strong software focus.
Experience:
* Experience in a software engineering environment, preferably in an engineering development project environment with a strong software focus.
* Python or C/C++ programming language and experience in development, testing, deployment, commissioning, release and support of large scale projects in Python or C/C++.
* Technical knowledge of development in Linux operating systems (experience in system administration of such will be beneficial).
* Technical experience in architecture design and development of large software projects (experience with control and monitoring will be beneficial.
* Experience in programming in the Python programming language.
* 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 the implementation of project management and system engineering principles..
* Experience in the implementation of project management and system engineering principles.
Knowledge:
* Modern software collaboration tools such as Github, Containers, Google Drive, JIRA etc.
* Python programming language.
* Database development, real-time sensor messaging management.
* Knowledgeable or willing to learn to develop and design ML models.
Additional Notes:
* Participate and thrive in a collaborative environment.
* Troubleshoot issues methodically.
* Self-motivated and willingness to self-train and up-skill independently.
* Communicate effectively (written and verbal).
* Understanding and experience in implementation of project management and system engineering principles.
* Experience with quality assurance processes and software development processes and willingness to participate in improving software development processes and software quality procedures.
* Willingness to play a leading role in mentoring juniors.
* Ability both to work independently and be a good team player.
* Ability to participate and thrive in a collaborative environment.
* Self-motivated and an ability and willingness to self-train and up-skill independently.
* Keen attention to detail.
* Strong oral and written communication skills.
Information:
The website www.nrf.ac.za provides more details on the NRF initiatives and activities.
Applications:
Applicants should submit a comprehensive CV by logging to https://ess.nrf.ac.za/Account/Recruitment and apply online. Applications should be accompanied by a letter of motivation indicating the applicant’s suitability for the position. The names and contact details of at least three referees should be provided.
Closing Date: 10 April 2026
The NRF offers a challenging career and competitive remuneration package which is commensurate with qualifications and experience.
The NRF is committed to employment equity and redress and the appointment to the position will be made in line with the NRF Employment Equity Plan.
The NRF reserves the right not to make an appointment.
Correspondence will be sent to short-listed candidates only
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free