Software Engineer - Data

Farfetch (NYSE: FTCH)

  • Location
    • Porto
  • Date Posted
  • 22 Mar 2021
  • Function
  • Software Engineering
  • Sector
  • Retail

Farfetch exists for the love of fashion. We believe in empowering individuality. Our mission is to be the global technology platform for luxury fashion, connecting creators, curators and consumers.


We’re on a mission to build the technology that powers the global platform for luxury fashion. We operate a modular end-to-end technology platform purpose-built to connect the luxury fashion ecosystem worldwide, addressing complex challenges and enjoying it. We’re empowered to break traditions and disrupt, with the freedom and autonomy to make a real impact for our customers all over the world.


Our Porto office is located in Portugal's vibrant second city, known for its history and its creative yet cosy environment. We welcome new ideas and a large number of our people. From Account Management to Technology and Product, whatever your skills are, you'll find your fit here. You can have an informal meeting in the treehouse or play the piano in your lunch break!

The role

You will get a chance to work in an innovative Big Data environment building large scale and sophisticated software with a significant focus on messaging patterns. The data from these pipelines is crucial for business analytics and data science. You will enroll in the Messaging team and work closely together with the API teams and the Big Data teams.

What you'll do

  • Design and build software that will stream and process operational events from Farfetch's micro-services and store them in Farfetch's Data Lake
  • Work on software engineering challenges that arise from Farfetch's scale and data growth.
  • Work with state-of-the-art data frameworks and technologies like Spark (Streaming), Kafka, HBase,Hadoop, HDFS, Dataflow, Cloud Dataproc, ADLS and others.
  • Research and develop new software and technologies related to fast and big data processing.
  • Work cross functionally with various engineering teams, gathering requirements and creating solutions that move large volumes of data.

Who you are

  • A professional with a Computer engineering background.
  • A professional with strong aptitude for learning new data technologies and willing to work in the with messaging patterns.
  • Someone with at least 2 years of experience in software development in data related fields. Java, Scala or Python experience is a plus.
  • Experience with distributed computing.
  • Experienced with data processing frameworks like Apache Storm, Apache Spark, Apache Camel, Apache Flink, DataFlow or kafka-connect (a major plus).
  • Knowledgeable of relational and non-relational databases or other storage types (S3, Blob, ADLS, GCS, …)
  • Knowledgeable of messaging brokers like RabbitMQ, Apache Kafka, ZeroMQ or
  • A professional with a DevOps mindset - ready to deliver and maintain production grade solutions.