Role Overview
As a Senior Back-End Software Engineer at TP ICAP you will be part of a talented team delivering business critical software for the internal broking division and their external customer base. You will work within an Agile environment, from design through to implementation, with a strong focus on Continuous Improvement. There will be a strong emphasis on collaboratively working as part of self-organising, cross-functional team. There will be a focus on Continuous Integration and Deployment and automating as much as possible. Promote delivery of quality software – unit tests, code reviews etc. Experimenting with multiple technologies and methodologies as part of delivery, to help guarantee the best solution and approach.
Role Responsibilities
1. Work closely with the Architect/Principal/Team Leader to build solutions that align to the IT strategy/vision.
2. Provide support and mentoring to other members of the team.
3. Work in partnership with QA counterpart to ensure the delivery of quality software.
4. Deliver against both Functional and Non-functional requirements.
5. Take Ownership/Accountability for development of key features and drive to completion.
6. Communicate effectively on progress and ensure impediments are raised early to minimise impact on the delivery.
Experience / Competences
Essential
7. Demonstrable and current experience of hands-on Back-End Software Engineering primarily with Microsoft c#.net and low latency event driven architectures. Messaging using AMQP.
8. Experience of Application Lifecycle Management Tools and technologies such as Source Code Management; git, DevOps platforms; gitlabs, TeamCity
9. Experience of OO design principals such SOLID / DRY / YAGNI to create maintainable, self-documenting and high quality code.
10. Experience of Architectural Patterns and practices such as Backend for Frontend, Micro Frontends, Microservices, MediatR
11. Demonstrable experience of utilising Dev(Sec)Ops to automate and minimise delivery times from Development to Production e.g. utilising CI\CD
12. Experience of and understanding of the importance of maintaining code quality using Unit/Integration/e2e testing tools such as N\XUnit, Moq. Utilising Quality Assurance expertise to automate regression.
13. 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.
14. Use of and working with Containerization to aid deployability, testing and loose coupling.
15. Agile exponent to speed up delivery, reduce risk and provide maximum value to the end users
Desired
16. Knowledge and use of Cloud Technologies and concepts preferably on AWS or Azure/GCP etc.
17. Experience of Domain Driven Design (DDD) and implementing patterns like CQRS to facilitate polyglot persistence.