SARAO has an exciting opportunity for a Software Engineer to join our Control and Monitoring Software team. The primary responsibility is software engineering. The successful incumbent will report to the Functional Manager: Software.

Minimum education required:

  • B.Tech/B.Sc (Comp Sci)

Job specification:

  • 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 Karoo.
  • Collaborate with departmental stakeholders to support engineering, commissioning, operations and 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.
  • Provide project management and progress reporting input as required by the Functional Manager and for team communication.
  • Participate in development of project schedules and activities.
  • Participate in the development of budgets and cost/benefit analysis for compliance with project procurement policies.

Desirable additional education, work exp. & personal qualities:

  • Understanding and experience in implementation of project management and 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.
  • 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.

The ideal candidate will have the following competencies:

Ability

  • To work independently and be a good team player
  • Participate and thrive in a collaborative environment
  • Communicate effectively (written and verbal)
  • Troubleshoot issues methodically

Experience

  • Experience in Prototyping and development, including, testing, deployment, commissioning, release and support of large scale projects
  • Experience in programming in Python or C/C++ programming language
  • Experience with quality assurance processes and software development processes and willingness to participate in improving software development proces
  • Experience with test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems like revision control

Knowledge

  • Modern software collaboration tools such as Github, Containers, Google Drive, JIRA etc

Learn more/Apply for this position