The Senior Software Developer (DSP) drives or supports the overall design and development of radio astronomy-focused Digital Signal Processing products and applications owned by the Data Processing & Pipelines Department within the Engineering & Technology Development Division. The Senior Software Developer brings expertise in software development, high-performance computing and GPGPU programming to enable development and delivery of data processing products and applications.
JOB DESCRIPTION

  • Architectural design and/or implementation of digital signal processing (DSP) products, applications and/or algorithms for Radio Astronomy data processing systems that satisfy higher-level system functional and performance requirements
  • Design of these products contains elements of software development, high-performance computing (HPC, GPGPU) and high-speed data transport
  • Support analysis, definition, integration, verification and validation activities of DSP products at various system levels
  • Development of software to control, monitor, debug and support operation of the developed products and applications
  • Drive, follow and support the relevant Software Design Life Cycle and Systems Engineering processes for product development throughout the entire product or application lifecycle from conceptualisation through to decommissioning
  • Support deployment, maintenance, upgrades, operation and decommissioning of developed products
  • Manage, support and coordinate resources to ensure delivery of products within project constraints
  • Participate in the generation of technical system and product-related documentation applicable to developed DSP products to support the delivery and handover of the Data Processing & Pipelines Group??s products
  • Drive and participate in Research & Development initiatives within the domain of expertise to develop novel ideas for future products and contribute to the overall continuous development of the group


JOB REQUIREMENTS


Qualification:

  • Sc or B.Tech (Eng) (NQF 7) in Computer Engineering, Computer Science or related field with 13+ years relevant experience, OR
  • Eng/B.Sc (Eng) (NQF 8) in Computer Engineering, Computer Science or related field with 9+ years relevant experience; OR
  • MSc / [URL Removed] (NQF 9) in Computer Engineering, Computer Science or related field with 7+ years relevant experience; OR
  • PhD (NQF 10) in Computer Engineering, Computer Science or related field with 5+ years relevant experience

Experience:

  • Experience as a Software Developer with a track-record of designing and implementing digital signal processing or similar data processing systems on GPGPU/HPC hardware architecture.
  • Experience building data processing applications specifically for Radio Astronomy instrumentation is advantageous but not required
  • Experience in both designing high-performance data processing or digital signal processing systems at a higher, product level as well as low-level implementation of components and features
  • High-performance computing, particularly GPU computing and implementing parallel processing on GPU-based systems
  • Implementation of accelerated and optimised algorithms (DSP algorithms is advantageous)
  • High-performance networking (e.g., ibverbs, DPDK, VMA or similar kernel bypass technologies)
  • Experience analysing system requirements and defining a suitable system design
  • Writing technical documentation describing the implementation and design of products at various technical levels
  • Software development: Python (particularly for scientific computing, such as NumPy), C/C++
  • Working with workflow and issue management tools (e.g., JIRA)
  • Working with source code and version control tools (e.g., Git)

Desired Skills:

  • • Good communication skills
  • • A high attention to detail
  • Excellent organisation skills

Learn more/Apply for this position