Graphical User Interphase (GUI) Software Engineers are part of a development team and responsible for writing the software that controls and monitors the telescope. Software Engineers research and evaluate requirements for the existing or new software applications, furthermore they develop, test and maintain software solutions to meet the requirements. They may be expected to guide and work with Junior software engineer to accomplish their tasks.
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.
- Participate in development of project schedules and activities.
- Participate in the development of budgets and cost/benefit analysis for compliance with project procurement policies.
Key Requirements:
Qualification:
- Tech/B.Sc. (Comp Sci) with 5+ years; OR
- Eng./B.Sc. Hons (Comp Sci) with 4+ years; OR
- Eng/M. Eng /M.Sc. (Comp Sci) with 2+ years; OR
- Engineering (with a software focus) or related field
Experience:
- Experience in AngularJS, websockets, RESTful APIs and back-end systems developed using the Python programming language
- 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.
Additional Notes:
- Knowledge of front-end technologies such as AngularJS, websockets, RESTful APIs and back-end systems developed using the
- Python programming language will be beneficial
- 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
Ability to:
- Participate and thrive in a collaborative environment.
- Both to work independently and be a good team player.
- Troubleshoot issues methodically.
- Ability and willingness to self-train and up-skill independently.
- Communicate effectively (written and verbal).
Desired Skills:
- Python
- Front-end-technologies
- Modern Software Collaboration Tools
- Programming
- Prototyping
- Software Development
Desired Work Experience:
- 5 to 10 years