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