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; OR
  • B.Eng/B.Sc Hons (Comp Sci) with 4+ years; OR
  • [URL Removed] (Comp Sci) with 3+ years; OR
  • PhD with 2+ years; OR
  • Engineering (with a software focus) or related fiel

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:

  • Python

Learn more/Apply for this position