Senior Software Developer |Johannesburg | Permanent
Build software that matters in a fast-moving fintech environment where technical depth, innovation and commercial impact come together.
This is an opportunity for an experienced Senior Software Developer to take a leading role in the design, development and evolution of scalable software solutions. Reporting to the Executive Head of Product, you will contribute to architectural decisions, provide technical leadership and help shape high-quality products across the full software development lifecycle.
You will work closely with product, QA, support and development teams, translating complex requirements into robust, secure and maintainable solutions. Alongside hands-on development, the role offers the opportunity to mentor junior and intermediate developers, influence technical direction and contribute to continuous improvement across the development function.
The organisation is an established and growing fintech business with a technology-focused culture and a strong emphasis on innovation, transparency and collaboration. Its development environment provides exposure to modern technologies including cloud computing, microservices and emerging generative AI capabilities, while giving experienced developers the opportunity to make a meaningful contribution to the evolution of the platform and products.
What You'll Do
Design, develop, test and deliver clean, efficient and maintainable software
Lead the development of scalable software applications aligned with business requirements
Contribute to architectural decisions, technology selection, design patterns and technical direction
Translate complex user and business requirements into effective technical solutions
Apply secure coding and software development practices throughout the development lifecycle
Optimise application performance, reliability and scalability
Develop and maintain unit, integration and functional tests
Participate in and lead code reviews
Identify, troubleshoot and resolve software defects and production issues
Maintain, enhance and upgrade existing applications and systems
Collaborate closely with QA teams on testing strategies and execution
Support technical troubleshooting and assist with assigned production or support tickets
Provide technical guidance and mentorship to junior and intermediate developers
Contribute technical insight to project planning and delivery
Share development knowledge, standards and best practices across the team
Stay current with emerging technologies, development practices and industry trends
Contribute to innovation initiatives, including the practical application of generative AI
Participate in the review of technical assessments as part of the recruitment process
What You Bring
8–10 years' experience in software development
Bachelor's degree at NQF Level 7 in Computer Science, Engineering or a related field
Strong C# and .NET development experience, including .NET Core
Experience with Web API and JSON
Strong SQL and SQL Server experience
Experience with Angular and JavaScript
Experience with Node.js
Experience with Flutter
Experience with Docker and containerised application development
Exposure to cloud environments, particularly Azure and/or AWS
Experience with Git or other version control systems such as Bitbucket, SVN or TFS
Strong understanding of object-oriented programming principles
Comprehensive understanding of the Software Development Life Cycle
Experience across unit, integration and functional testing
Strong understanding of software security principles
Experience with performance optimisation
Experience working within Agile and Scrum environments
Understanding of modern software architecture and scalable application design
Generative AI development experience or demonstrated practical capability in this area
Azure or AWS certifications will be advantageous
Experience with AKS, EKS or other container orchestration technologies will be advantageous
What Success Looks Like
High-quality, secure and maintainable software is consistently delivered
Technical solutions are scalable, reliable and aligned with business objectives
Architectural decisions support long-term product and platform growth
Defects and technical issues are proactively identified and resolved
Testing and quality practices are embedded throughout development
Existing systems remain efficient, stable and relevant as the technology environment evolves
Development standards and best practices are consistently applied
Junior and intermediate developers receive effective technical guidance and mentorship
Cross-functional teams collaborate effectively to deliver successful projects
New technologies and development practices are evaluated and adopted where they add meaningful value
Software development contributes directly to product innovation and strategic business objectives