About the position
ENVIRONMENT :
A leading Security Solutions provider based in Centurion is seeking a Senior Backend Developer with strong C++ experience to join its Development and Engineering team.
This role is primarily focused on C++ backend development, with some exposure to C# and the Microsoft technology stack. The successful candidate will work on the development, enhancement and maintenance of robust backend systems and services, while contributing to technical design, architecture and development best practices.
You will work within an experienced development team, provide technical guidance where required and help deliver reliable, scalable software solutions.
DUTIES:
- Design, develop, maintain and enhance backend applications, primarily using C++.
- Develop and support components using C# where required.
- Contribute to the architecture and technical design of systems and solutions.
- Develop reliable, scalable and maintainable software in line with development standards.
- Work with multi-threaded and parallel processing applications.
- Develop and maintain integrations, APIs and backend services.
- Work with relational databases and complex SQL queries.
- Participate in Agile / Scrum development processes.
- Troubleshoot, debug and resolve complex software issues.
- Maintain existing systems without introducing new defects.
- Enhance existing platforms and assist with the migration or adoption of newer technologies.
- Participate in code reviews and ensure adherence to clean coding and development best practices.
- Apply principles including SOLID, KISS, TDD, DDD and Clean Coding.
- Use source control and development tools effectively.
- Document systems and enhancements to support knowledge sharing.
- Share technical knowledge with development and support teams.
- Mentor and assist Junior Developers where required.
- Collaborate with Developers, Technical Leads, Architects and other stakeholders.
- Deliver development work within agreed timelines and quality standards.
REQUIREMENTS:
- Degree or Diploma in Computer Science, Software Development, Engineering or a related field.
- Approximately 4 to 6+ years of relevant software development experience.
- Strong commercial development experience using C++.
- Solid understanding of object oriented programming, data structures, algorithms and software design principles.
- Experience developing backend systems, services or applications.
- Experience with multi-threading and parallel development would be highly advantageous.
- Experience with C# and the Microsoft development stack.
- Experience with SQL Server, including:
- Relational database design
• Complex SQL queries
• Database driven application development - Experience working within Agile / Scrum development environments.
- Good understanding of software development best practices including SOLID, KISS, TDD, DDD and Clean Coding.
- Experience with source control such as Git.
Advantageous:
- .NET Core.
- WCF.
- Web API.
- Azure DevOps / TFS.
- Message queuing technologies such as RabbitMQ, ActiveMQ or Kafka.
- Service Oriented Architecture (SOA).
- SQL Reporting Services.
- Microsoft certifications.
- Experience working on high performance, real time or security related systems.
ATTRIBUTES:
- Strong analytical and problem solving ability.
- High attention to detail with a strong focus on quality.
- Good planning and organisational skills.
- Strong interpersonal and communication skills.
- Comfortable working collaboratively within a development team.
- Able to take ownership of technical problems through to resolution.
- Passionate about producing clean, reliable and maintainable software.
Desired Skills: