We are partnering with a global engineering and technology organisation looking to appoint an experienced Senior Software Engineer to join its Cape Town-based development team.
This is a hands-on senior position suited to an experienced engineer who enjoys solving complex technical problems, developing new software products and enhancing existing solutions. You will work within a collaborative engineering environment, contributing across the full software development lifecycle while also providing technical guidance and helping maintain high engineering standards across the team.
Key Responsibilities
- Design, develop and maintain high-quality, scalable and maintainable software solutions.
- Develop new software products and enhance existing applications and functionality.
- Build and support applications, APIs, database integrations, interfaces and backend services.
- Write clean, high-performance and well-structured production code.
- Contribute to software and system architecture, technical design and solution decisions.
- Participate in code reviews and promote strong software engineering standards and best practices.
- Support testing, deployment, troubleshooting and ongoing improvement of applications.
- Work with cross-functional stakeholders to translate business and technical requirements into effective software solutions.
- Contribute to Agile/Scrum development processes, including planning, estimation and delivery.
- Provide technical guidance and mentorship to other engineers where required.
- Take ownership of technical challenges and contribute to the successful delivery of complex software projects.
What We're Looking For
- Masters or Bachelor's degree in Computer Science, Software Engineering, Electronic/Electrical Engineering or a related technical discipline.
- Minimum 3+ years of relevant commercial software development experience, with preference for candidates operating at Senior or Lead level.
- Strong expertise in at least one of the following: C# / .NET, Python, TypeScript
- Strong understanding of Object-Oriented Design and software design principles.
- Experience with database design, SQL and application/database integration.
- Experience developing and integrating APIs and services.
- Understanding of modern software architecture and scalable application development.
- Experience working within Agile or Scrum software development environments.
- Experience with source control, testing, code reviews and modern software development practices.
- Strong analytical and problem-solving ability.
- Excellent communication skills and the ability to work effectively within cross-functional teams.
- Ability to take ownership, manage multiple priorities and work independently when required.
Advantageous Experience
- Azure, AWS or other cloud platforms
- CI/CD and automated deployment pipelines
- GitHub Actions or Azure DevOps
- Microservices or event-driven architectures
- Large-scale or business-critical software applications
- Software supporting engineering, industrial, manufacturing, energy, IoT or other technical environments
The Opportunity
This is an opportunity to join an established international organisation developing technology for complex engineering environments. The position offers exposure to challenging software products, modern development practices and a collaborative technical team, while allowing you to remain hands-on and contribute meaningfully to architecture and technical direction.