Software Development Engineer Johannesburg Salary R60 000 to R65 000
About the Role
We are seeking a highly skilled Software Development Engineer to design, build, and optimize high-performance firmware, web applications, and data management systems for cutting-edge technology.
Key Responsibilities
Software & System Development: Design, develop, and integrate modern C++, C#, JavaScript, and .NET/ASP.NET Core solutions, including simulation tools and planning software for rock blasting systems.
Data & Cloud Management: Optimize operational and analytical databases (PostgreSQL, ClickHouse) and maintain cloud-native deployments using Docker, Cloud Run, and Kubernetes.
Architecture & Distributed Systems: Build high-throughput APIs, backend services, and event-driven systems utilizing enterprise messaging tools such as Apache Kafka.
Client & Site Integration: Solicit technical business requirements from clients and assist in the deployment, installation, and commissioning of systems on site.
Quality & Process Improvement: Write automated unit/integration tests, drive modern CI/CD practices, and contribute to continuous software process improvements.
Requirements
Must-Haves:
Relevant Degree in Computer Science, Engineering, or a related field.
5+ years of professional software development experience.
Strong programming background in C++, C#, JavaScript, and modern .NET / ASP.NET Core.
Demonstrated expertise with relational and analytical databases (PostgreSQL, ClickHouse).
Experience with containerization & cloud platforms (Docker, Kubernetes, Cloud Run).
Hands-on experience with REST APIs, event-driven architecture (Apache Kafka), and modern CI/CD workflows.
Strong mathematical, analytical, and technical communication skills.
Beneficial / Advantageous Skills:
Experience with Golang, QT, and QML.
Commercial mobile app development (Android/iOS) or web front-end development (HTML5, Angular, Node.js).
Experience with UI/UX design principles and testing frameworks (Selenium, Postman, Playwright).