Software Engineer: Full Stack III- Sandton, JHB
About the job Software Engineer: Full Stack III- Sandton, JHB
- Grade 12 National Certificate / Vocational
 - A relevant tertiary qualification in Information Technology (ideal)
 - 6+ years proven experience in both front- and back-end software development, project delivery and implementation (in relevant development technologies/language).
 - Experience with modern front-end and back-end frameworks and technologies
 
Knowledge:
- Is able to apply expert knowledge and develop others understanding of the following: IT systems development processes (SDLC)
 - Advanced programming concepts
 - Advanced algorithms and data structures Design Patterns
 - Version Control
 - Testing practices
 - Database systems and query optimization (e.g., SQL, NoSQL).
 - RESTful API design and integration.
 - Cloud computing platforms and services (e.g., AWS, Azure).
 - Advanced Microservice and event driven architectures
 - Deployment using kubernetes and containerization
 - Responsive design principles and mobile-first development.
 - Front-end build tools and package managers
 
Responsibilities:
- Designing software solutions
 - Works closely with stakeholders and cross functional team to translate business and technical requirements into solutions that meet client / business needs
 - Designs complex software systems, considering scalability, performance and future requirements.
 - Can identify the trade-offs in solutions and can clearly articulate and act on these where required Produces solutions to programming challenges.
 - Creates well designed solutions that balance client value with security, operations, resilience, performance and cost.
 - Introduces and propagates new patterns, practices, technologies into the organisation to efficiently solve a business need.
 - Software development and systems integration
 - Work with other software engineers and architects in developing components based on needs that support application functionality.
 - Optimise systems for maximum performance and scalability to handle increasing user loads.
 - Develop reusable code, APIs and libraries for future use.
 - Share impact of code changes with product team.
 - Database management and application logic
 - Implement and optimise database models and queries for efficient data storage and retrieval.
 - Write business logic and algorithms to handle complex data processing and application workflows.
 - Quality and testing
 - Implement and improve the organisation's prescribed development frameworks, patterns, and practices, with a particular focus on automated testing and CICD.
 - Conducts thorough code reviews and ensures high code quality for self and others.
 - Utilises continuous integration, deployment, and automation tools effectively.
 - Perform testing with a strong preference towards developing automated testing scripts and procedures to ensure code robustness and reliability.
 - Practices, promotes and guides others in secure coding practices (devsecops) and addresses potential vulnerabilities
 - Operational Excellence
 - Conduct investigations through troubleshooting and debugging to fix minor, major and escalated bugs, promoting system stability.
 - Perform first and/or second level standby across environments for integration between internal systems and applications, as well as that of external service providers.
 - React to system monitoring and alerting events in a timely manner.
 - Assist capacity planning on infrastructure requirements, as well as stability and load tests to improve system performance and throughput.
 - Maintains, modifies and upgrades existing solutions, recommending and implementing improved methods.
 - Learning and continuous improvement
 - Expected to develop and maintain proficiency in modern programming paradigms, patterns and practices and apply or improve what is used by their delivery team. (This will differ per delivery team).
 - Software Engineer Level III forms part of a structured career progression model where the incumbent will be exposed to meaningful projects in order to develop their level of autonomy, decision making and problem-solving skills
 - Technical Leadership
 - Engage with product managers, project sponsors, and other stakeholders to support scoping of work and provide updates on progress and status
 - Coach, guide and provide support to Software Engineer I / II
 - Share expertise and knowledge with product team and stakeholders
 - Drives innovation, bringing new technologies and ways of solving problems into the team and organisation
 - Responsible to assist Software Engineer I / II with development work and perform code reviews