looking for an experienced C++ software developer with a broad range of interest and experience.
The position is focused on Image acquisition from and control of HD Cameras in remote locations to a central database server. This is followed by presentation on multiscreen desktop machines, with image processing for visual fire and smoke detection using intelligent algorithms. Thereafter incidents are managed, logged and escalated to a web service.
The system is currently functions on Microsoft Windows, but the desire is to be able to extend it to multiple platforms, including Linux.
The ideal candidate would possess:
Mandatory skills:
• Strong C++ skills and object oriented programming with 5-10 years experience.
• Familiarity with modern C++ standards.
• C++ development in a Windows environment.
• Familiarity with daily Linux usage and configuration (Debian, Ubuntu)
• Knowledge of modern C++ libraries for the network stack for example Boost ASIO, Networking TS, or similar.
• SQL Database experience.
• Image processing experience.
• Strong scientific/maths skills.
• Open Source libraries.
• Experience with version control (eg SVN, GIT, Bitbucket)
Desirable skills:
• Embarcadero C++ Builder.
• OpenCV
• OpenCL
• Video streaming and encoding technologies eg. FFMPEG, RTSP, H.264.
• ONVIF protocol for IP Cameras.
• Experience with interfacing with GIS servers (eg Geoserver, ESRI) and querying GIS elements.
• Knowledge of AI and machine learning.
• Cryptography and security protocols
• Secure programming practices.
• Experience with C++ programming in a Linux environment, preferably with the Debian operating system.
• Knowledge of the Linux networking stack (IP, ifconfig, wireguard) and kernel headers.
• Atlassian suite of products for documentation and project management.
Self motivated individual with the ability to work autonomously in relative isolation as well as integrating with a small dev team. “Can Do” attitude and ready to hit the ground running.
Ability to plan, execute, test and document software projects, and write well structured software that is easy to maintain, extend and pass on to other developers.
The position requires occasional travel (local and overseas) and interfacing with support and operational teams.
Located in Winston Park, Durban, South Africa, with a number of detection centres around the country and also has a satellite office based in Roseburg, Oregon, USA, with global clients.