The South African Radio Astronomy Observatory (SARAO) is recruiting a junior Software engineer on a permanent contract in Cape Town. The successful candidate will be part of a development team building the MeerKAT, MeerKAT Extension, African VLBI Network (AVN) and the Square Kilometre Array (SKA) telescopes. In addition, the incumbent will develop the software to control and monitor the telescope and develop, test and maintain software solutions to meet the requirements.
Key Responsibilities
- Software development of the telescope operational software. All stages of the full software development life-cycle may be encountered: from requirements analysis, architectural input, software design and development, to testing, integration and deployment, and close interaction with hardware subsystems.
- Participate in deployment environments and processes, which may involve site visits to the Karoo.
- Participate in commissioning and lab integration of software and hardware.
- Participate in coding standard compliance and code reviews.
- Follow System Engineering principles for the development of software.
- Produce documentation sets for the applicable subsystem as required.
Key Requirements
Qualification
- B.Tech/ B.Sc (Comp Sci) with three years of working experience, OR
- B.Eng / B.Sc Hons (Comp Sci) with three years of working experience, OR
- M.Eng / M.Sc (Comp Sci) with two years of working experience, OR
- PhD / D.Eng only with 1-year working experience, OR
- Engineering (with a software focus) or related field
Experience
- Experience in programming languages (Python or C++, or Java).
- 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 and software development processes and willingness to participate in improving software development processes and quality procedures.
- Experience in the implementation of project management and system engineering principles
Additional Notes
- Ability both to work independently and be a good team player.
- Ability to participate and thrive in a collaborative environment.
- Strong English oral and written communication.
- Ability to develop back-end software (preferably using Python or other languages such as C++, Java, and C#).
- Ability to work with collaboration tools such as Github, Google Drive, Containers, and Jira.
- Ability to troubleshoot issues methodically.
- Python programming (or other languages such as C/C++/Java) technical knowledge and experience.
- Linux operating system technical knowledge and experience.
- Software development lifecycle knowledge and experience.
- Understanding and experience in the implementation of 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.
- Self-motivated and the ability and willingness to self-train and up-skill independently.
- Keen attention to detail.
- Strong oral and written communication skills.
How to Apply
Applicants should submit a comprehensive here on or before 09 May 2023. Furthermore, applicants should include a letter of motivation indicating their suitability for the position in their applications. In addition, the applicants must provide at least three referees’ names and contact details.
Click here to get real time data and information on every Segments and players in the African space and satellite industry.