POSITION PURPOSE
- The Senior Software Developer will be part of a development team building the MeerKAT and the MeerKAT Extension telescopes Science Data Processors.
- Senior software developers research, analyse and evaluate requirements for existing or new software applications and operating systems, and design, develop, test, and maintain software solutions to meet these requirements.
- They may be expected to guide and work with more junior team members to accomplish their tasks.
QUALIFICATIONS AND EXPERIENCE
- B-Tech/BSc/BEng Computer Science, Information Communication Technology, Electrical Engineering or related.
- At least 7 years- software development experience.
- Experience developing software and systems in Python, or other imperative languages
- GPU software development, preferably using CUDA.
- Experience in systems analysis, engineering, or design.
- Experience working with formal project management and agile practices and methods
- Experience working with data processing or data intensive backend systems
- Knowledge, experience, or specialization in implementing specialist technology and computing modules, e.g., large scale computing, high performance computing, architecture, algorithms and patterns, parallel computing, computer systems optimization, etc.
- Experience integrating and configuring various software technologies and hardware.
- Experience in technology research, technology development and maturation towards production readiness.
Knowledge:
- Ability to effectively transfer knowledge and skills to other team members.
- Ability to mentor, guide and further develop junior team members.
- A clear and methodical approach to problem solving.
- A high attention to detail, excellent organization skills.
- Good communication skills, written and verbal.
Additional Notes:
- Ability to effectively transfer knowledge and skills to other team members.
- Ability to mentor, guide and further develop junior team members.
- A clear and methodical approach to problem solving.
- A high attention to detail, excellent organization skills.
- Good communication skills, written and verbal.
POSITION OUTPUTS
- Research and propose new technologies, systems, methods, or approaches, with the purpose of utilizing them within the organization.
- Develop, test, and maintain software systems and components.
- Participate in the documentation and refinement of system requirements, design, and implementation solutions.
- Continuously contribute to the software and system quality assurance and control processes.
- Provide technical support to escalate queries regarding systems functionality or changes.
- Contribute to systems design and architecture.
- Support and contribute to the requirements for computing infrastructure.
- Participate in agile project management activities.
- Mentorship, development, and guidance of junior team members.
Desired Skills:
- GPU software development
- agile project management
- integrating and configuring
Desired Work Experience:
- 5 to 10 years
Desired Qualification Level:
- Degree