Postion Summary:
Senior Software Engineers are part of the software development team building the MeerKAT, MeerKAT Extension, African VLBI Network (AVN) and the Square Kilometre (SKA) telescopes. Senior software engineers research, analyze and evaluate requirements for the existing or new software applications, furthermore they design, develop, test and maintain software solutions to meet these requirements. They are expected to mentor and work with software engineers and junior team members 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
- Make technical decisions independently without direction from Technical lead
- Has deep understanding of version control to the point of being able to help out junior and software engineers
- Innovate independently towards improving the software
Minimum Qualification:
- Bachelors Degree / Advanced Diploma / NQF 7
Minimum Experience:
- 5-9 years
- B
- Tech/B
- Sc (Comp Sci) with 10+ years; ORB
- Eng/B
- Sc Hons (Comp Sci) with 9+ years; ORM
- Eng/M
- Sc (Comp Sci) with 7+ years; ORPhD/D
- Eng with 5+ years; OREngineering (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, development, 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
- Quality assurance processes and software development processes
- Programming in the Python programming language
- Development, testing, deployment, commissioning, release and support large scale projects
- Developing applications targeted for the Linux operating system
- Implementation of project management and system engineering principles
- Test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems
Knowledge:
- Modern software collaboration tools such as Github, Containers, Google Drive, JIRA
- Python programming language
Additional Notes:
Communicate effectively (written and verbal).Participate and thrive in a collaborative [URL Removed] work independently and be a good team [URL Removed] issues [URL Removed] and experience in implementation of project management and system engineering [URL Removed] with test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems like revision control and build [URL Removed] with quality assurance processes and software development processes and willingness to participate in improving software development processes and software quality [URL Removed] to play a leading role in mentoring [URL Removed] both to work independently and be a good team [URL Removed] to participate and thrive in a collaborative [URL Removed] and an ability and willingness to self-train and up-skill [URL Removed] attention to [URL Removed] oral and written communication [URL Removed] NRF website provides more details on the initiatives and activities
Applicants should submit a comprehensive CV by registering and apply online through the NRF Recruitment and Selection Portal.
Applications should be accompanied by a letter of motivation indicating the applicantĀ·s suitability for the position.
The names and contact details of at least three referees should be provided.
Desired Skills:
- Skilled in applied field of position
- Knowledge to be relevant
- Responsible in performing duties
About The Employer:
The National Research Foundation (NRF) supports and promotes research and human capital development through funding, the provision of National Research Facilities and science outreach platforms and programmes to the broader community in all fields of science and technology, including natural sciences, engineering, social sciences and humanities.
The South African Radio Astronomy Observatory (SARAO) spearheads South Africa’s activities in the Square Kilometre Array Radio Telescope, commonly known as the SKA, in engineering, science and construction. SARAO is a National Facility managed by the National Research Foundation and incorporates radio astronomy instruments and programmes such as the MeerKAT telescope in the Karoo, the Hartebeesthoek Radio Astronomy Observatory (HartRAO) in Gauteng, the African Very Long Baseline Interferometry (AVN) programme in nine African countries as well as the associated human capital development and commercialisation endeavours.