Senior Software Engineer (Backend / Full Stack / ML Systems)
Role details
Job location
Tech stack
Job description
This is a hybrid role based in Madrid (3 days per week onsite) where you will work on high-impact systems that power large-scale platforms - including backend services, APIs, ML-driven systems (ranking, recommendations, pricing optimization), and full-stack applications.
You will collaborate closely with engineers, data scientists, and product stakeholders to design, build, and scale robust and high-performance systems.
What You'll Do
Design, build, and maintain scalable backend services and APIs.
Contribute to ML-powered systems, including infrastructure for model training, deployment, and serving (batch and real-time).
Build and optimize data pipelines and distributed systems.
Develop full-stack solutions when required (frontend + backend integration).
Improve system scalability, reliability, performance, and resilience.
Implement CI/CD pipelines and contribute to DevOps and MLOps practices.
Work in an Agile cross-functional team from planning to production.
Mentor junior engineers and participate in architectural discussions.
Requirements
Do you have experience in Spark?, We value strong engineering fundamentals and language-agnostic problem solvers. Experience in several of the following areas is expected:
6+ years of experience in Software Engineering, Backend, Data, or ML Engineering roles.
Strong programming skills in Java (Kotlin is a plus).
Python is desirable (especially for ML-related environments).
Experience building backend systems and RESTful APIs.
Exposure to ML systems or MLOps environments is a strong plus.
Cloud platforms: AWS, GCP, or Azure.
Containerization: Docker.
Distributed/data systems: Spark, Kafka (plus).
CI/CD tools (e.g., GitHub Actions).
Databases: SQL and/or NoSQL.
Solid understanding of data structures, algorithms, and system design.
Frontend experience (React, Vue, Angular) is a plus.
Strong communication skills and ability to work cross-functionally.
Advanced English level.
Ideal Profile
This role is ideal for a Senior Engineer with a strong foundation in backend or distributed systems who is comfortable working across the stack and interested in scalable, ML-driven systems., If you're a Senior Engineer looking to work on scalable, high-impact systems in a global environment - we'd love to hear from you.