Standard Bank is a firm believer in technical innovation, to help us guarantee exceptional client service and leading edge financial solutions. Our growing global success reflects our commitment to the latest solutions, the best people, and a uniquely flexible and vibrant working culture. To help us drive our success into the future, we are looking for an experienced Technical Lead to join our team at our Johannesburg offices. Standard Bank is a leading African banking group focused on emerging markets globally. It has been a mainstay of South Africa's financial system for 150 years, and now spans 16 countries across the African continent.
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
- 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.
- .NET Development - C# - Object Oriented Development
- Knowledge of Microservices, Cloud and Container Architecture - Service Fabric/Kubernetes
- Deployment of applications in Azure (via VSTS CI&CD with scripting and automation)
- Experience with Visual Studio IDE, Web Services Design/Deployment, REST Services, SOAP Services, Web API, Google Web Toolkit, IBM API Gateway, Azure API Manager - Json/Http, XML/Http
- Experience in working with MS SQL
- ORMs – Dapper
- Swift, Objective C, Ionic
- MSIS, MSRS, MSAS – Reporting
- Swift, Objective C, Ionic
- Runtime tools : Webpack, Angular CLI, Node, Git, Maven
- Service Bus/Messaging Architecture
- Windows Services
- Experience in working with SQL and NoSQL databases, PL/SQL
- AGILE and SCRUM Methodologies
- Code Architecture and PatternsDomain specificFactory/Repo Pattern etc
- Domain specific
- Factory/Repo Pattern etc
- Experience in implementing and monitoring Microsoft Azure SolutionsCloud computing technologiesEmerging computer trendsWebsites : Create, configure, monitor, deploy into App Services
- Cloud computing technologies
- Emerging computer trends
- Websites : Create, configure, monitor, deploy into App Services
- Authentication Concepts : Active Directory Domain Services, Federated Services, OAuth
- Native/Hybrid Mobile Application Development