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 Karoo.
  • 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.
  • Provide project management and progress reporting input as required by the Functional Manager and for team communication.

KEY REQUIREMENTS:

QUALIFICATION:

  • B.Tech/B.Sc. (Comp Sci) with 5+ years
  • B.Eng./B.Sc. Hons (Comp Sci) with 4+ years
  • [URL Removed] (Comp Sci) with 3+ years
  • PhD with 2+ years
  • Engineering (with a software focus) or related field

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 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

Desired Skills:

  • C/C++
  • Python
  • Linux

Learn more/Apply for this position