Support in driving and implementing software engineering strategies, standards and guidelines in the assigned feature team. Collaborate with the team to develop business critical technical solutions through the application of software programming, robust engineering practices and built in quality. The job also includes planning/estimation, application development, deployment, release, hyper-care and operation of developed solutions. The job holder provides technical leadership to the assigned team in the software development lifecycle.
In This Role You Will Be Responsible To
Collaborate with the team to deliver technical design, development and deployment of complex solutions within relevant product. Carry out effective technical design reviews to ensure that the right architecture patterns are used by the team.
Drive the adoption of Engineering practices, implement development process automation, lean software development, built-in-quality, test driven development, agile practices, and timely root cause analysis and blameless incident post-mortems.
Partner with cross-functional teams to determine viability of solutions. Evaluate current problems, future requirements and existing solutions in medium to large projects to enable high level design and drive proof-of-concepts and implement prototypes to validate ideas.
Investigate, debug and fix complex issues involving corner cases and rare conditions. Support continuous improvement by investigating alternatives and new technologies and presenting these for architectural review.
Contribute to sprint/work design and planning by providing subject matter expertise on business domain and relevant technologies and actively contribute to technology specific community of practices.
Manage and mentor Software Engineers to allow for skill/knowledge development through advice, coaching, and training opportunities. Responsible for their technical deliveries and adherence to design and coding standards and practices.
Ensure optimal use of enterprise application platforms, tools and libraries in line with the approved technology architecture.
Responsible for corrective, adaptive, preventative and perfective maintenance of products in collaboration with other capabilities for the relevant product.
Qualifications & Experience
To be considered for this role, you must meet the below requirements:
Degree or Honours (12+3 or equivalent) in a relevant field such as Computer Science, Computational Mathematics, Computer Engineering or Software Engineering.
2+ years of relevant Software Engineering experience preferably in agile ways of working and range of technologies: Java/J2EE with AngularJS/ReactJS, Cloud (AWS/Azure/GoogleCloud etc.).
Experience of developing advanced technology solutions for large, complex organisations in a multi-functional environment.
Experience in providing production support for business solutions.
Strong knowledge in Full stack development capabilities, technology evaluation, vendor selection and technology vendor management.
Experience in implementation of contemporary engineering practices like lean software development, test driven development, continuous integration and continuous deployment.
Experience in establishing and managing technology platforms for DevOps, Code Management, Testing, Continuous Integration and Continuous Deployment.
Knowledge/skills
Experience of developing advanced/Complex technology Software solutions for large, complex organisations in a multi-functional environment.
Solid experience in data modelling, systems design and expert coding.
Experience in providing production support for business solutions using ITIL framework.
Deep experience in Full stack development capabilities covering all layers (i.e., UI/Middleware and Databases).
Expert in Technology technical evaluation, vendor selection and technology vendor management using data driven models.
Implementation of contemporary engineering practices like lean software development, test driven development, continuous integration and continuous deployment.
Establishing and managing leveraging technology platforms for DevOps, Code Management, Testing, Continuous Integration and Continuous Deployment for ensuring robust and reliable code base is always maintained.