An opportunity exists for a Senior Software Developer to join our Client who operates within a niche industry and whose services add value to the scientific / research community. This is a permanent role and is based in Cape Town.
Our Client supports and promotes research and human capital development through funding the provision of 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.
They spearhead South Africas activities in engineering science and construction. The Senior Software Developer will be responsible for driving or supporting the overall design and development specific the focus area of our clients products and applications owned by the Data Processing and Pipelines Department within the Engineering & Technology Development Division.
As a Senior Software Developer your expertise in software development high-performance computing and GPGPU programming will enable the development and delivery of data processing products and applications.
Key Responsibilities:
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 Groups 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
QualificationRequirements:
BSc or (Eng) (NQF 7) in Computer Engineering Computer Science or related field with 13 years relevant experience OR
Eng/ (Eng) (NQF 8) in Computer Engineering Computer Science or related field with 9 years relevant experience; OR
MSc / (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 Requirements:
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)
Knowledge Required:
Experience in GPGPU and HPC programming
Software Development best practices
Typical radio astronomy instrumentation: e.g. spectrometers correlators beamformers (advantageous)
Knowledge of multi-rate and parallel implementations of Digital Signal Processing Operations such as FFTs Filters DDS DDC
High-speed data transport such as ethernet and knowledge of large-scale networks
Controlling and monitoring of DSP or data processing applications and components
Software Development or Scientific Computing proficiency in either Python or C
Systems Engineering or Software Design Life Cycle
Linux operating systems and development tools
Competencies:
Desire to continuously learn problem solve and acquire new skills with cutting edge technology
A clear and methodical approach to problem solving
A high attention to detail excellent organisation skills
Good communication skills written and verbal
Able to effectively manage and lead a team on a technical project
Ability to effectively transfer knowledge and skills to other team members
Eagerness to develop a technical specialisation and expertise
Willingness to travel both locally and internationally depending on operational needs
Disclaimer: Drjobpro.com is only a platform that connects job seekers and employers. Applicants are advised to conduct their own independent research into the credentials of the prospective employer.We always make certain that our clients do not endorse any request for money payments, thus we advise against sharing any personal or bank-related information with any third party. If you suspect fraud or malpractice, please contact us via contact us page.