Role Overview
The Software Engineering Team Leader will provide technical leadership on TP ICAP’s flagship Fusion platform on the Platform Team. This includes setting the standards and direction of other Engineers across Fusion teams. They will demonstrate the benefits of approaches to development and delivery either through working as a team member or through group sessions. They should be the authority for decisions relating to standards and engineering best practices within their discipline.
The Team leader will be a Principal Engineer that is passionate about software development and keen to use their technical and mentoring skills to help their development team to be successful. They should be comfortable working in agile teams, foster transparent communication, have a commitment to quality, and a focus on getting things done. This role will primarily be hands-on with some management responsibility.
Role Responsibilities
1. Lead and manage a team in the Fusion Platform Team to deliver Framework Services and for integration into the wider Fusion estate.
2. Principal Full-Stack Software Engineer using Microsoft c#.net, React, Typescript and low latency event driven architectures.
3. Communicate with stakeholders being the bridge between business and technology.
4. Communicate with the wider technology teams to coordinate interdependencies and resolve issues
5. Communicate with governance streams to ensure adherence to and development of process, quality and architectural design
6. Provide leadership across the Platform Engineering team and be accountable to the Head of Software Engineering for governance on team architecture, code quality, standards, tools and technology but foster a culture of collaboration, innovation and excellence.
7. Be a servant leader working with the Scrum Master to unblock the team and ensure delivery is unimpeded, velocity is high.
8. Be an Agile exponent, responding to change, participating in retrospectives, ensure continuous improvement is taking place.
9. Work with 3rd parties to ensure the Agile team has a full complement and is cross-functional. Responsible for hiring within the team.
10. Take part in incident management to ensure Production defects are rectified based on their criticality and severity and to a sufficient standard.
11. Use technical experience to collaborate with architecture to guide software solutions
12. Guide and support team to identify and escalate risks as appropriate
13. Ensure inter-project dependencies and projects risks are understood and managed
14. Guide and support team in implementation and adherence to Change Control principles
Experience / Competences
Essential
15. Demonstrable and current experience of hands-on Full-Stack Software Engineering leadership primarily with Microsoft c#.net, React, Typescript and low latency event driven architectures. Messaging using AMQP.
16. Experience of Application Lifecycle Management Tools and technologies such as Source Code Management; git, DevOps platforms; gitlabs, TeamCity
17. Experience of OO design principals such SOLID / DRY / YAGNI to create maintainable, self-documenting and high quality code.
18. Experience of Architectural Patterns and practices such as Backend for Frontend, Micro Frontends, Microservices, MediatR
19. Experience of Domain Driven Design (DDD) and implementing patterns like CQRS to facilitate polyglot persistence.
20. Demonstrable experience of utilising Dev(Sec)Ops to automate and minimise delivery times from Development to Production e.g. utilising CI\CD
21. Experience of and understanding of the importance of maintaining code quality using Unit/Integration/e2e testing tools such as N\XUnit, Moq, Jasmine, Cucumber. Utilising Quality Assurance expertise to automate regression.
22. Knowledge and use of Cloud Technologies and concepts preferably on AWS or Azure/GCP etc.
23. Collaborate on Solution Technical Architecture with Enterprise Technical Architects to follow Enterprise standards. Enjoy and understand new technology and be able to influence technical direction.
24. Use of and working with Containerization to aid deployability, testing and loose coupling.
25. Agile exponent to speed up delivery, reduce risk and provide maximum value to the end users
Desired
26. Knowledge of the Broking \ Trading business domain
27. Knowledge or application of the Scaled Agile Framework (SAFe)
28. Experience of GraphQL and subscription based streaming
29. Experience of Software engineering using Java