Job description
About The Team
Our 40+ engineering teams are working on designing, creating and running the rich product catalogue across our business areas (e.g. Payments Services, Business Services). We have a long roadmap ahead of us and always have compelling problems to tackle. We trust and empower our engineers to make real technical decisions that affect multiple teams and shape the future of Tide's Global One Platform. It's an exceptional prospect to make a real difference by taking ownership of engineering practices in a rapidly expanding company
We work in small autonomous teams, grouped under common domains owning the full lifecycle of some microservices in Tide's service catalogue. Our engineers self-organize, gather together to discuss technical challenges, and set their own guidelines in the different Communities of Practice regardless of where they currently stand in our Growth Framework.
About The Role
Contribute to our event-driven Microservice Architecture (currently 200+ services owned by 40+ teams).
You will define and maintain the services your team owns (you design it, you build it, you run it, you scale it globally)
Use Java 17, Spring Boot and JOOQ to build your services.
Expose and consume RESTful APIs. We value good API design and we treat our APIs as Products (in the world of Open Banking often times they are gonna be public)
Use SNS+SQS and Kafka to send events
Utilise PostgreSQL via Aurora as your primary datastore (we are heavy AWS users)
Deploy your services to Production as often as you need to (this usually means multiple times per day). This is enabled by our CI/CD pipelines powered by GitHub with GitHub actions, and solid JUnit/Pact testing (new joiners are encouraged to have something deployed to production in their first 2 weeks)
Experience contemporary GitOps using ArgoCD. Our Cloud team uses Docker, Terraform, EKS/Kubernetes to run the platform.
Have DataDog as your best friend to monitor your services and in