SARAO seeks to appoint a Junior Software Engineer in our Software Engineering division, reporting to the Functional Manager – Software.

The key purpose of this roles is as follows:● Software development of the telescope operational software. All stages of the full software development life-cycle may be encountered: from requirements analysis, architectural input, software design and development, to testing, integration and deployment, as well as close interaction with hardware subsystems. ● Participate in system administration of hardware platforms and deployment environments and processes, this may involve site visits to the Karoo. ● Participate in commissioning and lab integration of software and hardware. ● Participate in coding standard compliance and code reviews. ● Follow System Engineering principles for development as instructed. ● Produce documentation sets for the applicable subsystem as required.

Desirable additional educational, work experience, and personal qualities:

  • Python programming (or other language such as C/C++/Java) technical knowledge and experience.
  • Linux operating system technical knowledge and experience.
  • Software development lifecycle knowledge and experience.
  • Understanding and experience in implementation of system engineering principles.
  • 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.
  • 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.

The ideal candidate will have the following competencies:

Ability:

  • Ability both to work independently and be a good team player.
  • Ability to participate and thrive in a collaborative environment.
  • Strong English oral and written communications.
  • Ability to develop back-end software (preferably using the Python programming language, or alternatively using other languages such as C++, Java, C#).
  • Ability to work with collaboration tools such as Github, Google Drive, Containers, Jira.
  • Ability to troubleshoot issues methodically.

Experience:

  • Experience in programming in the Python programming language.
  • Experience in prototyping and development, including, testing, deployment, commissioning, release and support of 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 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.

About The EmployerThe South African Radio Astronomy Observatory (SARAO) spearheads South Africa’s activities in the Square Kilometre Array Radio Telescope, commonly known as the SKA, in engineering, science and construction. SARAO is a National Facility managed by the National Research Foundation and incorporates radio astronomy instruments and programmes such as the MeerKAT and KAT-7 telescopes in the Karoo, the Hartebeesthoek Radio Astronomy Observatory (HartRAO) in Gauteng, the African Very Long Baseline Interferometry (AVN) programme in nine African countries as well as the associated human capital development and commercialisation endeavou

Learn more/Apply for this position