Software Engineer: Full Stack III- Cape Town
About the job Software Engineer: Full Stack III- Cape Town
- 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