|Location||Johannesburg, South Africa|
|Date Posted||Sep 15, 2020|
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.
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
- Post-graduate degree in Computer Science, Commerce, Business Administration, or related discipline with an information technology focus, or equivalent
- IT Certifications eg. SAFe, Scrum Master
- Agile Software development methodologies and associated practices such as Continuous Integration, Continuous delivery, Software Defined Infrastructure as code, Evolutionary Architecture, Domain specific certification etc.
- 5-7 Years experience in Solution Engineering - Experience Description: Dependent on the specific engineering practice but the candidate will have come from a background of full lifecycle design and development covering solution design, application design, development, testing and maintenance, network software, operating systems, multi-tier environments, desktop and workgroup software, middleware, server technology, fault tolerant environments, development tools. Broad experience of application development methodologies, data base methodology, programming languages, data base concepts and IT infrastructure and operations. Experience using Agile Software development methodologies and associated practices such as Continuous Integration, Software Defined Infrastructure, Evolutionary Architecture, etc.
- 3-4 Years experience in Practice Management and Leadership - Experience Description: Proven ability to work effectively as both a team leader and as a member of a small team of technical staff working in an agile development environment. Track record in capability and competency building and coaching of staff is required. Minimum 1-2 years’ experience as a manager running a portfolio of 10+ technical experts
- 3-4 Years experience in Business Partnering and Service Management - Experience Description: Proven track record to a broad spectrum of stakeholders including senior executives. Knowledge of Agile and Lean frameworks, methods and practices and experience in being a catalyst for organisational change. Experience working with cross-functional teams fostering collaboration and team work. Exposure to broad business and financial management type experience, specifically within the banking sector. Good understanding of the Standard Bank IT environment
- DevOps Knowledge and Execution - Competency Description: Experience working with one or more tools within the Continuous Delivery lifecycle (Bamboo, Jenkins, BitBucket, Git). Autonomous development and testing, code reviews. Partial to including security best practices such as code obfuscation, driving DevSecOps.
- Business Process Improvement - Competency Description: The identification of new and alternative approaches to performing business activities. The analysis of business processes, including recognition of the potential for automation of the processes, assessment of the costs and potential benefits of the new approaches considered and, where appropriate, management of change and assistance with implementation
- Business Analysis - Competency Description: Knowledge and ability to analyse business requirements to be met by IT solutions.
- Organisation Change Management - Competency Description: Defining and managing the process of deploying and integrating IT capabilities into the business in a way that is sensitive to, and fully compatible with, business operations.
- Stakeholder Management - Competency Description: The coordination of relationships with and between key stakeholders, during the design, management and implementation of business change
- Research and Information Gathering - Competency Description: Ability to review and study relevant information from various sources to develop new information; Ability to identify primary and secondary authorities to validate the research.
- Trouble Shooting Ability - Competency Description: Knowledge and understanding of IT diagnostic tools including the replication of errors in test environments
- IT Knowledge - Competency Description: Possesses a deep and broad knowledge base in fundamental IT technical skill sets. Stays informed on emerging trends
- Benefits Management - Competency Description: Monitoring for the emergence of anticipated benefits (typically specified as part of the business case for a change program or project). Action (typically by the program management team) to optimize the business impact of individual and combined benefits