The Software Engineering Technical Lead is responsible for defining, planning, allocating and directing of the software engineers and software quality engineers within one or more feature teams.
Key Responsibilities / Accountabilities Strategy Responsible for defining, maintaining and enforcing software engineering practices, policies, procedures and standards across the allocated feature team / s
Responsible and accountable for contributing defining, maintaining and enforcing the software engineering practices and software engineering quality practices, policies, procedures and standards across practice, practice partners and participating countries.
Responsible for contributing towards the software engineering CoP (Community of Practice).
Provide expert guidance and knowledge on all aspects relating to the application development process and the methodology adhered to.
Contribute to and initiate process and service improvement programs as identified, and track to fruition.
Contribute to defining, continuously evolving, and making visible the metrics that will provide insight on the overall quality of the software engineering process, artefacts and people.
Provide thought leadership and industry expertise with regard to application development trends around process, methodology, technology disruptors.
Identify and drive opportunities for continuous improvement and innovation.
Responsible for driving a culture of continuous improvement and innovation across Software Engineering.
Accountable for driving a culture of continuous improvement and innovation across the allocated feature team / s.
Collaborate with Delivery Management (RTE’s), Solution Architecture, DevOps System team, other feature teams & internal / external stakeholders to achieve combined IT and business objectives.
Software engineering and Software Quality Engineering processes, procedures and operations should be aligned to the area’s strategy, should be lean and should enable efficient delivery while minimising any risks and contentions.
Ensure the development of a scalable and fit for purpose approach to implementing best practice software engineering and software quality engineering disciplines.
Drive the translation of the strategy into tangible action plans and outcomes; track to fruition and make visible.
Responsible and accountable for application performance and driving out a plan to improve the feature team’s accountability to this.
Automated Test Management Responsible and accountable for defining, maintaining and enforcing the test automation strategy for Digital Platforms
Accountable for defining and maintaining the software engineering test automation strategy (unit, functional & performance testing).
Accountable for tracking and improving the application development test automation coverage through appropriate automated metrics.
Build and Release Management Responsible and accountable for ensuring high-quality input into the build and release management processes to ensure high availability and predictability of releases
Accountable for ensuring code commit standards and conventions are adhered to by the Development team, including but not limited to GIT, Stash, Liquibase.
Actively contribute to improving the quality of code commit standards and conventions.
Accountable for ensuring stability of CI builds as it relates to the feature team’s commits.
Accountable for defining and implementing appropriate measures to deal swiftly with the coordination, communication and resolution of unstable builds where impacted by the feature team & the broader .
Accountable for ensuring the adherence to by the Software Engineering team to the source code branch strategy.
Initiate process and service improvement programs as identified.
Provide thought leadership and industry expertise with regard to all aspects of software engineering. Identify opportunities for improvement and drive out the change.
Ensure the development of a scalable and fit for purpose approach to implementing best practice software engineering disciplines.
Drive the translation of the software engineering strategy into tangible action plans and outcomes.
Identify and drive opportunities for continuous improvement and innovation.
Collaborate with the various teams in order to enable an efficient, effective release pipeline.
Responsible for contributing towards the strategy that will achieve the end goal of continuous integration, continuous delivery through automation.
Stakeholder Management ensure alignment across feature teams and partners in the delivery of Software Engineering services
Build strong relationships with Group IT partners and stakeholders to ensure alignment in the achievement of overall strategic goals.
Determine information and communication needs of these stakeholders, ensure regular relevant updates based on the strategic initiatives run in the area, their impact on the stakeholders and any action required.
Contribute to the development and co-ordination of a forum within Digital Platforms Software Engineering in order to provide a mechanism for alignment, constructive feedback from partners and taking actions to address any issues as it relates to the Software Engineering in a timely manner.
Leadership - Providing strategic vision and operational leadership to Digital Platforms Software Engineering
Contribute to and provide strategic vision and operational leadership to Digital Platforms Software Engineering.
Lead, motivate and develop the capability of the Software Engineering Practice to achieve agreed annual targets and objectives.
Lead and champion initiatives (e.g. Continuous Delivery, Test Automation, Certification) across functional areas and influence organisational change
Assist in driving a culture of innovation.
Motivate, Inspire, Lead through servant leadership principles.
Risk Management Providing technical risk analysis of releases
Responsible for ensuring that all identified technical risks relating to the release delivery within and under the accountability of the Software Engineering team, as highlighted by a DevOps Engineering team or Release Management, are mitigated and root cause determined and resolved in a sustainable manner.
People Management Lead a team of 8-15 people and ensure that sound people management practises are applied across the area in order to build a healthy team culture
Lead a team of 8-15 people spanning Standard Bank staff and non-permanent staff, which may be based onsite and offshore.
Responsible for creating a sustainable team that is localised and has the correct skillset, with the emphasis of driving an innovative, highly energised motivated engineering culture.
Recruit, employ and retain qualified staff to maintain appropriate staffing levels.
Drive the attraction and retention of a skilled workforce.
Responsible for all aspects of people management, performance management, resource development, remuneration, reward and recognition, and transformation targets within allocated feature team / s.
Ensure that sound people management practises are applied across the area in order to build a healthy team culture.
Provide coaching, mentorship and guidance to the allocated feature team members.
Responsible and accountable for implementing career development plans for the allocated feature team members.
Responsible and accountable for the growth and performance of the Software Engineering team members within the allocated feature team / s.
Preferred Qualification and Experience Qualifications :
Post-graduate degree in Computer Science, Commerce, Business Administration, or related discipline with an information technology focus, or equivalent
Experience in leading and managing large scale geographically distributed technical delivery teams, leading and driving change.
Able to influence and manage staff within a vendor engagement, both onsite and offshore.
Experience in working in a variety of technical areas within IT. Understanding and experience of the various disciplines within IT and how they relate to each other.
Understanding and experience in working with software development, infrastructure and networks spanning the front-end, middleware and back-end.
Have the ability to translate technical speak into layman’s language and to operate and understand the technical detail, but communicate in terms that Business will understand.
Have a comprehensive understanding of client / server technology, distributed systems and technologies with the ability to demonstrate deep technical understanding, knowledge and practical application.
Tangible, demonstrable evidence of experience in and deep knowledge of various technologies.
Knowledge / Technical Skills / Expertise
Knowledge and understanding of various IT systems and related configurations as applied within a specified business environment.
Ability to provide optimal IT support to departments to help facilitate meeting of the Bank's objectives.
The ability to write use and configure applications to provide technical solutions and software components based on technical specifications.
Knowledge and understanding of IT applications and architecture.
The ability to ensure the accuracy and consistency of data for the duration that the data is stored as well as preventing unintentional alterations or loss of data.
Architectural methodologies used in the design & development of IT systems.
Responsible for IT programme / project management & project support tasks.