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
Care and passion for people
Earn and extend trust
Inspire optimism and persistence
Lead with the "Why"
Make decisions - faster and smarter
Simplify and make it easy
Responsibilities:
Works closely with stakeholders and cross functional team 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.
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.