Full job description
Smadex is seeking a Senior Software/Data Engineer with 4+ years of experience in software or data engineering, specializing in high-throughput distributed systems. The role involves designing scalable data pipelines and real-time serving layers for machine learning models, developing features in Scala and Java, managing workflows with Apache Airflow, mentoring junior engineers, ensuring code quality, monitoring production systems, and collaborating in an agile environment. Required skills include deep knowledge of Java or Scala, experience with Apache Spark, advanced SQL, strong analytical and debugging skills, and excellent English communication. Familiarity with cloud environments (AWS), containerization (Docker, Kubernetes), and experience in AdTech or RTB ecosystems is a plus. The position is full-time, hybrid, based in Barcelona, Spain. Benefits include a competitive compensation package, flexible work hours with 2 days remote per week, professional development opportunities, meal vouchers, gym allowance, team events, and a well-equipped office with rooftop terrace.
What you'll do
- Design and build scalable, highly available data pipelines and serving layers bridging big data storage and real-time machine learning inference
- Develop and optimize features using Scala and Java to process massive amounts of data, aggregate it, and efficiently write it to our Redis Cluster
- Design and manage complex data workflows and DAGs using Apache Airflow
- Guide and support junior members of the team, fostering a culture of engineering excellence and best practices
- Write clean, efficient, testable code and thoroughly test work locally and in a sophisticated staging environment
- Monitor deployments and help ensure the stability, reliability and performance of production systems
- Collaborate with the team in an agile environment, participating in planning and reporting on progress
Requirements
- 4+ years of experience in a software engineering or data engineering role building high-throughput distributed systems
- Deep Java or Scala knowledge
- Proven track record of designing, building, and optimizing batch pipelines using Apache Spark
- Advanced SQL knowledge and experience optimizing complex queries for performance
- Strong analytical mindset with the ability to debug and monitor complex distributed systems in production
- Excellent communication skills in English (written and spoken)
Tech stack
JavaScalaPythonbashApache SparkSQLMySQLRedisAWSJenkinsDockerAirflowGitJiraNotionKubernetes
Benefits
Join a highly motivated and talented team in a fun and friendly work environmentOpportunity to work in a complex environment and gain experience from itDirectly add value to the business with the projects that you are assignedGreat compensation packageTop location at the heart of Barcelona with a rooftop terrace, Barbeque, and a fully stocked fridgeGreat work-life balance: work from home (2 days per week) and flexible hoursProfessional development with a LinkedIn Learning subscription and other training opportunitiesMeal vouchers - Ticket Restaurant monthly allowanceMonthly gym allowance: Choose between DiR and WellhubMonthly TGIF (Thank God It’s Friday) events and regular team-building activitiesPing-pong table and arcade machineAnd more!