Senior Full-Stack Software Developer
Johannesburg - South Africa
Job Summary
We are seeking an experienced Senior Full-Stack Software Developer to lead the design and delivery of scalable software solutions. This role is suited to an experienced engineer who enjoys solving complex technical challenges mentoring developers and influencing technical direction while remaining hands-on in development.
You will play a key role in architecting and delivering enterprise-grade applications while helping establish engineering best practices across the development team.
Key Responsibilities
You will be responsible for:
- Designing developing and maintaining complex full-stack applications
- Leading end-to-end delivery of major technical workstreams
- Designing scalable backend services and modern frontend applications
- Building and integrating APIs and distributed services
- Contributing to software architecture and technical decision-making
- Optimising application performance scalability and reliability
- Collaborating with cross-functional engineering teams
- Mentoring junior and intermediate developers
- Conducting code reviews and promoting engineering best practices
- Driving continuous improvement across development processes
Experience
- 5 years of professional software development experience
- Proven experience delivering complex full-stack applications
- Experience designing scalable software architectures
- Experience leading technical initiatives and mentoring developers
Frontend
- Strong experience with React Angular or similar frameworks
Backend
- Strong experience with Python Java or similar technologies
Databases
- Extensive experience with relational and NoSQL databases
- Data modelling and optimisation
Architecture & Engineering
- RESTful API design
- Microservices architecture
- Distributed systems
- Git version control
- Software design patterns
- Performance optimisation
Strong experience with:
- AWS Azure or Google Cloud Platform
- Docker and containerisation
- Kubernetes (advantageous)
- CI/CD pipelines
- Infrastructure automation
Qualifications
- Degree in Computer Science Software Engineering Information Technology or another STEM-related discipline
Required Skills:
Experience 5 years of professional software development experience Proven experience delivering complex full-stack applications Experience designing scalable software architectures Experience leading technical initiatives and mentoring developers Technical Skills Frontend Strong experience with React Angular or similar frameworks Backend Strong experience with Python Java or similar technologies Databases Extensive experience with relational and NoSQL databases Data modelling and optimisation Architecture & Engineering RESTful API design Microservices architecture Distributed systems Git version control Software design patterns Performance optimisation Cloud & DevOps Strong experience with: AWS Azure or Google Cloud Platform Docker and containerisation Kubernetes (advantageous) CI/CD pipelines Infrastructure automation Qualifications Degree in Computer Science Software Engineering Information Technology or another STEM-related discipline