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