As you contemplate your future, you might be asking yourself, what's the next step? Start your journey with us! We're seeking an experienced Java Software Engineer to join our Checkout team in Barcelona, Milan or Madrid (Hybrid) to deliver the best payment journey to our customers and create and design new financial products for our customers. If you're ready to soar, we're ready to take you there.You will join us in the Payments Domain, where our systems create 100K products every day, and they collect more than €423M in cash revenue per year, while at the same time protecting ourselves from fraud using ML algorithms. Your mission will be twofold: deliver the best payment journey to our customers and create and design new financial products for our customers.What you will do:The Role's Key Responsibilities and Tasks:Be part of a high performing cross functional team of 7-10 developers, plus product managers, UX designers, agile coaches, architects etc. working in collaboration to design, build and evolve the Payments Domain microservices platform.Work with a distributed, scalable microservices platform, where software gets deployed daily, with high quality, clean code, SOLID principles, design patterns and TDD.Be fully independent when working with the modules your team owns – across all the phases of the SDLC.Acquire functional and technical knowledge in all the modules your team owns.Work with talented colleagues who will mentor you and help you develop your career super fast.Provide solutions to complex problems – by understanding the problem and the system it sits in, and working with our most senior people to find the best solution that is robust, scalable and has good performance in a high load environment.Work in a fully agile organisation, using Kanban practices to deliver business value continuously, experimenting to deliver more value and be more efficient.Actively participate in team ceremonies and events, as well as product definition and ideation processes.Code the solutions, on a module scope, with the highest quality through good design, attention to detail and test quality.Make use of corporate libraries and tools, while following corporate and team quality standards.Offer suggestions and creative options to deliver technical solutions that improve your product, based on active monitoring of product and technical performance.Use your knowledge of Cloud and of Continuous Delivery environments, as well as other software tools to help you deliver value quickly and improve technical excellence.What you need to succeed:Good to have:Experience working with the entire software development cycle, including deploying to production and testing (both unit and integration).Good understanding of corporate procedures, tools and organisation.Solid understanding of software engineering concepts such as OOP, functional programming, concurrency, data structures, design and architecture patterns, databases, APIs.#J-18808-Ljbffr