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