Department: Software Delivery Reports to: Head of Software Engineering Date: April 2024 Purpose As Technical Lead, you will lead a team responsible for technical design, development, and maintenance of high-quality software product features and services. You will provide technical authority and direction to a software development team to efficiently deliver incremental product enhancements to customers in an agile environment. This will involve: Collaborating with Product Owner(s), Product Manager(s), UX, QA and Software Architect to ensure epics and features are understood and delivered against the Product Roadmap/ Delivery Plan. Providing technical authority by utilising your expertise in software engineering and best practice. Motivating and mentoring members of your team, including Software Developer(s), Test Engineer(s), and Test Analyst(s). Building robust products and services using modern technologies and tools, including NodeJS, Angular, and Amazon Web Services. Bringing a continuous improvement mindset to our software delivery processes to improve delivery of quality software to customers. Upholding and improving on a strong software engineering culture within the development team People & Resources Staff: The Technical Lead is responsible for leading a n agile team consisting of a mix of Senior Software Developers, Software Developers, Graduate Software Developers and Test Engineers/ Test Analysts. Key R esponsibilities Provide technical leadership to your team of full stack developers. Architect and develop technically robust, flexible, and scalable solutions and champion their adoption. Work on back-end, front-end and other associated technologies to build and maintain software products. Mentor, coach, motivate, and continually challenge a mix of Senior Developers, Developers and Graduate Developers to inspire them to reach their full potential. Participate in and proactively promote a culture of pair programming, code reviews, designing technical specifications and collaborating closely with other people. Promote that the highest levels of quality are maintained through the software development lifecycle (e.g. test automation, release automation and application monitoring). Research new technologies and adopt/ adapt them to meet our requirements. Collaborate with UX Designers to help ensure proposed designs are technically feasible and efficient to deliver. Maintain a rolling, up to date delivery plan for your team in collaboration with the Product Owner/ Product Manager. Contribute to the development of our software development framework and promote its adoption across your team. Set objectives for your team aligned with personal and business goals. Collaborate with external suppliers, partners, and customers where needed. Keep up to date with the latest developments in software engineering. Support your team with respect to agile ceremonies such as planning, review, refinement and maintaining the product backlog. The job holder may also be asked to undertake other duties outside of this job description that are commensurate with their skills and experience. Measure of success Clear delivery plan for your area of responsibility with products being delivered in line with the roadmap, meeting requirements, design, and quality criteria. Technical design of features follows strong architectural principles and good design. Your team's software development activity is aligned to our agreed software development framework and associated approaches. Serious risks and issues are highlighted to the delivery team promptly with suggestions & contributions for resolution. Continued commitment to the development of team members and colleagues. Technical/ Job skills, qualifications, and experience Hands-on experience in designing, developing, and scaling complex systems. Excellent understanding of one or more JavaScript frameworks e.g. NestJS, Angular, Next.js. Demonstrate software engineering expertise and solid engineering principles. Experience writing and maintaining unit tests. Proficient in working with APIs (REST, GraphQL). Proficient in working with SQL and/ or other database technologies. Experience working within an agile and DevOps delivery environment and be a passionate advocate of these practices. Experience or detailed understanding of developing on cloud platforms like AWS (Amazon Web Services) or Microsoft Azure. Excellent verbal and written communication skills. Strong planning and organisational skills. Ability to engage with a wide range of stakeholders at all levels from across the business.