EU remote
Senior Software Engineer — Support Tooling
About this role
We're looking for a Senior Software Engineer to join our Support Tooling team in Tallinn. The team builds and maintains the systems that enable our Customer Support agents to help millions of Wise customers efficiently, reliably and at scale. Our goal is to make customer support as seamless as possible by providing agents with the right tools, information and workflows to resolve issues effectively, while ensuring that our systems remain secure, scalable and easy to maintain.
You'll take ownership of the core tooling our Support agents use every day , working on a complex, distributed Java system with opportunities to improve how we support our customers. As part of a new workstream, you'll work closely with Product colleagues to help shape the future of our agent tooling — balancing new product capabilities, technical improvements and long-term reliability. What you'll be working on: Owning and evolving a complex Java backend system , taking responsibility for technical decisions, development, testing and deployment.
Solving distributed-systems challenges involving concurrency, service-to-service communication, data consistency and reliability. Improving the tools used by Customer Support agents , helping them resolve customer issues more efficiently and deliver a better customer experience. Driving technical improvements and managing tech debt , making pragmatic decisions about when to prioritise new features, maintenance and long-term system health.
Partnering closely with Product Managers and operational stakeholders to understand problems, influence priorities and help shape the team's roadmap. Contributing to the user experience , working with React where needed to improve the interfaces and workflows used by our agents. Taking end-to-end ownership of meaningful Engineering initiatives, from identifying opportunities through to production delivery. What you'll bring: Strong hands-on Java experience , building and maintaining complex backend systems in production.
Experience with distributed systems and asynchronous communication , including technologies such as Kafka and service-to-service integrations. A solid understanding of concurrency and parallel processing , including concepts such as thread safety, distributed locking and eventual consistency. The ability to work independently and take ownership of complex technical problems, from identifying the right approach through to delivery.