This offer is not available anymore

Search & Recommendations Software Engineer in Barcelona


Est. Salary
35,000 - €45,000
Share offer

Job Description

21 Buttons is changing the fashion game - through technology and talent. It has become the leading fashion social network in Europe where more than 7 million users come to get inspired by their favourite influencers and friends’ ready-to-shop content. With over 10 million outfits shared, 21 Buttons allows anyone no matter their audience size to earn revenue from sharing their personal style.

Launched in our first country just over 3 years ago and now with more than 3000 influencers across the US, UK, Germany, France, Italy and Spain, we’re growing faster than ever and now are keen to find someone as passionate as we are about our project to join the team at this exciting stage of our company’s journey of propelling our ambition of Stateside expansion.

Although our focus is fashion, 21 Buttons is an engineering company. We are looking for talented people with a broad set of technical skills who are ready to tackle some of the technology's greatest challenges and make an impact.

Our Engineering & Technology team kick-ass in the development of an innovative product that will be used by (hope!) billions of users.

If you’re a curious and collaborative visionary, someone excited about tackling the hard problems in technology, this is the place to be!


  • Designing and implementing solutions to catalogue & index large, highly variable data sets to enable search & recommendation.
  • Delivering and presenting proofs of concept of key technology components to stakeholders.
  • Drive and work on algorithm and architecture design, execute and deliver results.
  • Integrate with other components of the data ingestion pipeline to ensure that the search indexes and recommendations engines are well maintained and always up to date.
  • Working with other teams to support delivery of additional project components (APIs).
  • Evaluating the performance and applicability of multiple tools against customer requirements.
  • Working within an Agile delivery / DevOps methodology to deliver proof of concept and production implementation in iterative sprints.


  • BS degree in Computer Science, similar technical field of study or equivalent practical experience.
  • Strong OOP and software design skills.
  • Extensive experience in Java or other OO languages, ideally using TDD, DDD, Clean and/or other best practices.
  • Experience running applications on AWS, with the support from the DevOps team.
  • Passionate about developing high-quality enterprise software.
  • Experience building highly scalable applications with a large amount of traffic.
  • Happy to take an active role in supporting the business needs.

Highly valuable

  • Proven track record building robust search systems with Lucene / Elasticsearch / Solr or other noSQL.
  • Expertise in personalization and recommender systems.
  • Solid understanding of search metrics and implementing tracking to measure performance.
  • Solid understanding of search engines and utilizing features effectively.
  • Experience building search capabilities using natural language processing technique.
  • Hands-on experience developing and implementing Machine Learning algorithms and models. Background in Machine Learning & Information Retrieval.

What else is important for you to know?

  • Market competitive salary.
  • This position is full-time and based in Barcelona.

Feel free to get to know us a bit more!

Here are a few places you can visit to learn more about what our tech team is doing:


We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status


About 21Buttons

  • Social Network

21Buttons company page is empty
Add a description and pictures to attract more candidates and boost your employer branding.

Other software engineer jobs that might interest you...