A relevant tertiary qualification in Information Technology (ideal)
3+ 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 advanced knowledge of the following:
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
Attract and relentlessly develop people (Departmental Contributor)
Care and passion for people (Departmental Contributor)
Earn and extend trust (Departmental Contributor)
Inspire optimism and persistence (Departmental Contributor)
Lead with the 'Why' (Departmental Contributor)
Make decisions - faster and smarter (Departmental Contributor)
Simplify and make it easy (Departmental Contributor)
Responsibilities:
Works closely with stakeholders and cross-functional teams to translate business and technical requirements into solutions that meet client/business needs
Produces solutions to complex business needs
Creates well-designed solutions that balance client value with security, operations, resilience, performance, and cost
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 development frameworks, patterns, and practices, with a particular focus on automated testing and CICD
Perform testing with a strong preference towards developing automated testing scripts and procedures to ensure code robustness and reliability
Practices secure coding practices (devsecops)
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 II 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