Engineering & development
Engineering & development
Barclays moves, lends, invests and protects money for customers and clients worldwide. With over 300 years of history and expertise in banking, we operate in over 50 countries and employ over 140,000 people. We provide corporate banking solutions to businesses with an annual turnover of more than £5 million in the UK, and to large local companies, financial institutions and multinationals in non-UK markets. We support the success and growth of our clients by providing lending, risk management, cash and liquidity management, trade finance, and asset and sales financing. To that end, we hire and develop only the best people in the industry. We look for talented, tenacious individuals who are hungry to progress and eager to grow their knowledge.
Overall purpose of role
* To lead components of system engineering activity for one or more applications / products across the end-to-end software development lifecycle.
* To maintain an in-depth technical understanding of one or more components within an application / product, being recognised as the 'go to' contact for technical queries, live incidents and problems. Technologies include mainframe and distributed technologies.
* To ensure that the technical integrity and quality of the applications / products is maintained across their lifetime, leading the development of any technical changes being proposed.
* To provide system-specific knowledge and technical expertise to assist in the definition of technical strategies or business solutions.
* To be responsible for all changes to the application /system throughout the whole product life cycle including run and retirement of systems.
Ensure that all activities and duties are carried out in full compliance with regulatory requirements, Enterprise Wide Risk Management Framework and internal Barclays Policies and Policy Standards.
* Experience of working in a cross-functional Agile team
* Experience with Test Driven Development (TDD) and/or Behaviour Driven Development (BDD)
* Experience of various automated testing, continuous integration and deployment tools and practice
Knowledge and Expertise
* End-to-end software development lifecycle
* Awareness of leading-edge tools, techniques and services within IT
* Software development consisting of some of the following languages and technologies:
* Adobe Experience Manager
* Base 24
* Test Automation
* Maintaining an in-depth understanding of relevant and up to date technical knowledge, applications and techniques.
* Using technical knowledge to create new opportunities and solutions.
* Strong level of experience of IT software development (essential)
* Financial services, investment management/banking (preferred)
Technical Consultancy (15%)
* Provide technical consultancy for new initiatives, to assist in the definition of business solutions or technical strategies.
* Produce components of Technical Feasibility Studies (TFS) on behalf of the Solutioning and Architecture team for projects that impact applications / products within domain.
* Provide estimates for engineering work in the production of Advice and Guidance (A&G) documents and project Plan and Estimates (P&Es).
* Solve unique and complex technical problems with broad impact on the business unit as a whole.
* Provide full and detailed analysis, insightful commentary and recommendations for technical action as appropriate.
* Develop a broad awareness of new tools, processes and technical developments relevant to component area of expertise, and seek opportunities to apply them.
* To aid in the definition of product strategy and Roadmaps.
Requirements Gathering (15%)
* Liaise with business clients to help shape initial ideas into firm system requirements, ensuring that they are sufficiently comprehensive and detailed to support effective system development.
* Present complex technical ideas (both written and verbal), anticipate potential objections and persuade others to adopt the most appropriate view.
* Establish an end-to-end view and capture all key requirements. Establish clear functional and non-functional requirements (e.g. capacity, availability, response times, etc.).
* Ensure that all requirements are 'testable' and agree test strategy with business and test team lead.
Understand technical constraints of live environment / architecture, support business clients in understanding any 'requirement versus cost' trade-offs.Technical Development (Design, Build, Unit Test) (25%)
* Understand the various phases of the software development lifecycle.
* Undertake impact assessment of change requests against applications / products within domain.
* Review component designs to ensure compatibility with the end-to-end system design.
* Review test strategies to guarantee the quality of the delivered system, assist in the diagnosis of system problems encountered during testing.
* Collaborate with other component design and build teams, ensuring that end-to-end system design is followed.
* Ensure that technical engineering quality standards / benchmarks are met, taking remedial action where there are quality shortfalls.
* Complete technically-complex assignment work to budget, time and quality requirements. Document all work in accordance with agreed standards, and with re-use in mind
* Where system development is part of a wider set of interdependent systems changes, collaborate with the Systems Designers from the other areas to ensure end-to-end technical integrity of the development, leading this collaboration when required.
Application Management (10%)
* Ensure quality of all application management related change via record/incident record.
* Participate in technical implementation planning, ensuring that the integrity of live operations will be maintained.
* Support the handover of the system into business-as-usual (BAU) operation, providing the relevant IT service teams with information and education relating to the system technology and function.
Project Management (5%)
* Provide input to the Product Development Managers / Project Manager(s) to help identify and engage the engineering resources needed to ensure the success of project(s).
* Provide input to the technical development approach of a project, balancing cost, time, quality and risk.
* Assist in the identification, management and resolution of technical Risks, Assumptions, Issues and Dependencies (RAIDs).
* Assist project manager(s) in controlling projects and reporting progress, providing input from a technology perspective. Make decisions within general technical / industry guidelines.
Supplier Management (5%)
* Business Product Owners
* Project Managers
* IT Architects
* Senior Leaders and Accountable Executives