Location: Johannesburg, South Africa | Hybrid Employment Type: Full-Time Industry: Technology | Software Engineering | Software Development WatersEdge Solutions is partnering with a technology-driven business to find a talented Mid-Level Full Stack Engineer who enjoys building high-quality software, solving technical challenges and working across the full development stack. We're looking for a well-rounded engineer who is equally comfortable contributing to front-end and back-end development, understands how modern applications fit together and takes pride in writing clean, maintainable code. This is an excellent opportunity for someone who has developed a solid technical foundation and is ready to take greater ownership of their work while continuing to grow alongside an experienced engineering team. A minimum of 3 years of professional software development experience is required, with 5 years preferred. About the Role As a Mid-Level Full Stack Engineer, you'll be involved in designing, developing, testing and maintaining modern software applications. You'll work across both front-end and back-end technologies, contributing to user-facing functionality, server-side development, API integrations and overall application performance. Working closely with other engineers, you'll help build software solutions that are scalable, reliable and maintainable, while applying sound engineering principles throughout the development process. The role requires someone who enjoys the variety of full stack development, can navigate different parts of an application confidently and understands how individual components work together to deliver a seamless user experience. You'll be expected to contribute independently, collaborate effectively and take ownership of assigned development tasks. Key Responsibilities Full Stack Application Development Design, develop, test and maintain software applications across front-end and back-end environments. Build new application features and enhance existing functionality. Contribute to the development of scalable and reliable software solutions. Work across different layers of the application to deliver complete, functional features. Write clean, structured and maintainable code. Troubleshoot application issues and implement effective solutions. Take ownership of assigned development tasks from implementation through testing and completion. Front-End Engineering Develop responsive, intuitive and maintainable user interfaces. Build user-facing features that support a consistent and reliable user experience. Ensure front-end components integrate effectively with back-end services. Identify and resolve front-end performance and functionality issues. Apply sound development practices to create reusable and maintainable front-end code. Collaborate with fellow engineers to deliver well-designed application functionality. Back-End Development Develop and maintain server-side application functionality. Implement business logic and application services that support software requirements. Contribute to reliable communication between application components. Identify opportunities to improve back-end performance, scalability and maintainability. Troubleshoot server-side issues and support application stability. Ensure back-end development aligns with established engineering standards. API Development & Integration Develop, consume and integrate APIs within software applications. Support communication between front-end applications, back-end services and third-party systems. Build and maintain reliable API-driven functionality. Troubleshoot integration issues and resolve data exchange problems. Contribute to API design discussions and implementation decisions. Ensure integrations are developed with reliability, scalability and maintainability in mind. Application Scalability & Performance Contribute to applications designed to support growing user demands and business requirements. Identify opportunities to improve application performance and reliability. Apply development approaches that support long-term maintainability. Consider scalability and performance when implementing new features. Work with other engineers to resolve technical challenges affecting application stability. Contribute to ongoing improvements across existing software solutions. Code Quality, Testing & Best Practices Write clean, reusable and well-structured code. Follow established software engineering standards and development practices. Participate in code reviews and provide constructive technical feedback. Test application functionality and troubleshoot defects. Use version control and collaborative development workflows. Identify opportunities to improve code quality and development processes. Contribute to the maintainability and reliability of the overall codebase. Engineering Collaboration & Continuous Improvement Work closely with fellow engineers and technical stakeholders. Participate in technical discussions and contribute practical development ideas. Collaborate on software features, integrations and technical improvements. Communicate development progress, challenges and potential risks clearly. Share technical knowledge and learn from experienced colleagues. Take initiative in identifying and resolving development challenges. Stay informed about relevant technologies and modern software development practices. What You'll Bring Essential Requirements Minimum 3 years of professional software development experience , with 5 years preferred. Design, develop, test and maintain software applications across front-end and back-end environments. Build new application features and enhance existing functionality. Contribute to the development of scalable and reliable software solutions. Work across different layers of the application to deliver complete, functional features. Write clean, structured and maintainable code. Troubleshoot application issues and implement effective solutions. Take ownership of assigned development tasks from implementation through testing and completion. Front-End Engineering Develop responsive, intuitive and maintainable user interfaces. Build user-facing features that support a consistent and reliable user experience. Ensure front-end components integrate effectively with back-end services. Identify and resolve front-end performance and functionality issues. Apply sound development practices to create reusable and maintainable front-end code. Collaborate with fellow engineers to deliver well-designed application functionality. Back-End Development Develop and maintain server-side application functionality. Implement business logic and application services that support software requirements. Contribute to reliable communication between application components. Identify opportunities to improve back-end performance, scalability and maintainability. Troubleshoot server-side issues and support application stability. Ensure back-end development aligns with established engineering standards. API Development & Integration Develop, consume and integrate APIs within software applications. Support communication between front-end applications, back-end services and third-party systems. Build and maintain reliable API-driven functionality. Troubleshoot integration issues and resolve data exchange problems. Contribute to API design discussions and implementation decisions. Ensure integrations are developed with reliability, scalability and maintainability in mind. Application Scalability & Performance Contribute to applications designed to support growing user demands and business requirements. Identify opportunities to improve application performance and reliability. Apply development approaches that support long-term maintainability. Consider scalability and performance when implementing new features. Work with other engineers to resolve technical challenges affecting application stability. Contribute to ongoing improvements across existing software solutions. Code Quality, Testing & Best Practices Write clean, reusable and well-structured code. Follow established software engineering standards and development practices. Participate in code reviews and provide constructive technical feedback. Test application functionality and troubleshoot defects. Use version control and collaborative development workflows. Identify opportunities to improve code quality and development processes. Contribute to the maintainability and reliability of the overall codebase. Engineering Collaboration & Continuous Improvement Work closely with fellow engineers and technical stakeholders. Participate in technical discussions and contribute practical development ideas. Collaborate on software features, integrations and technical improvements. Communicate development progress, challenges and potential risks clearly. Share technical knowledge and learn from experienced colleagues. Take initiative in identifying and resolving development challenges. Stay informed about relevant technologies and modern software development practices. We're looking for a genuine Full Stack Engineer who enjoys working across the entire application, rather than someone whose experience is limited primarily to front-end or back-end development. Nice to Have 5 or more years of professional software engineering experience. Experience within an established technology company or product-led software business. Experience working in a successful start-up or scale-up environment. Previous involvement in developing applications that support growing user bases. Experience working with modern front-end frameworks and back-end technologies. Familiarity with cloud-based applications and deployment processes. Exposure to application architecture and technical design discussions. Experience contributing to performance optimisation and scalability improvements. Experience working within Agile development environments. Exposure to cross-functional engineering teams. Experience improving the maintainability or performance of existing applications. What's On Offer Full-time hybrid opportunity based in Johannesburg. Opportunity to work across the full technology stack. Hands-on involvement in developing scalable and maintainable software applications. Exposure to modern software engineering practices and development workflows. The chance to collaborate with experienced engineers and technical stakeholders. Opportunities to broaden technical knowledge across front-end, back-end and API development. Scope to take greater ownership of development responsibilities. A collaborative engineering environment that values problem-solving and continuous improvement. Opportunity to contribute to meaningful software projects while continuing to grow professionally. Company Culture You'll be joining a collaborative, engineering-focused environment where quality software development, teamwork and continuous learning are valued. The emphasis is on building reliable, maintainable technology, encouraging engineers to share ideas and creating an environment where individuals can take ownership of their work while learning from experienced colleagues. The team values practical problem-solving, open communication and developers who take pride in the quality of what they build. This opportunity will particularly appeal to someone who enjoys working across different technologies, contributing to shared engineering goals and continuously improving their technical capabilities. Please Note: If you have not been contacted within 10 working days, consider your application unsuccessful.