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

Learn more/Apply for this position