Senior Software Developer (Signal Processing)
Summary
Senior software engineer designing and implementing high-performance signal processing algorithms for radar and sensing systems using C++, Python, and MATLAB.
A South African defence and aerospace technology company is looking for a Senior Software Developer to join their team engineering team in Stellenbosch, Cape Town.
The successful candidate will design and implement advanced signal processing algorithms that enhance the performance of cutting-edge radar and sensing solutions. This role offers the opportunity to work on high-performance, real-time systems in a collaborative, multidisciplinary environment.
Responsibilities:
- Design, develop, and optimise high-performance signal processing software.
- Develop, test, and maintain robust, low-latency network communication protocols using high-speed TCP/UDP.
- Drive system integration across software, firmware, and hardware components.
- Implement advanced memory management techniques to optimise application stability and performance.
- Manage software baselines using modern version control systems and contribute to collaborative development practices.
- Apply advanced mathematical models to solve complex engineering and signal processing challenges.
Key Objective:
- Bridge the gap between advanced mathematical models and high-performance software implementation.
- Develop, optimise, and integrate complex signal processing algorithms into larger system architectures.
- Take ownership of projects from concept through to successful deployment within a multidisciplinary engineering team
Requirements:
- Bachelor's Degree in Engineering, Computer Science, or Applied Mathematics.
- Master's Degree is highly advantageous.
- Minimum of 5 years' industry experience in Software Engineering or Signal Processing.
- Ability to work full-time on-site in Stellenbosch.
- Advanced C++ development for performance-critical applications.
- Strong Python programming, scripting, and simulation skills.
- MATLAB programming and modelling experience.
- Deep understanding of:
- Memory management and system optimisation.
- High-speed TCP/UDP networking and network programming.
- Modern source control/version control systems.
Advantageous:
- Strong mathematical background, particularly in Digital Signal Processing (DSP)
- Experience with system integration
- NVIDIA CUDA parallel computing experience.
- Radar signal processing knowledge or experience.