An Expert Community Where Every Voice Matters


Join Us
  • How to win a soccer betting competition when you know nothing about soccer.

    How to win a soccer betting competition when you know nothing about soccer.

    A few weeks ago, the Euro 2016 started and with it a betting contest at Criteo. I knew almost nothing about soccer ( I was still confusing the Ronaldo from Brazil-98 with the one from Portugal-now), but some pretty accurate information is freely available on betting websites, so I decided to give it a try…

  • Code Review at Criteo

    Code Review at Criteo

    Taking Care of our Engineering Culture… One Toilet at a Time! Introduction to Code Review When I first joined Criteo, code review was still a new thing in the culture. Taking a page from industry best practices, the DevTools team (the guys whose mission it is to make our lives easier) had installed , an open source…

  • Building the Cross Device Graph at Criteo

    Building the Cross Device Graph at Criteo

    Universal Match The purpose of Universal Match, Criteo’s cross-device solution, is to accurately and consistently identify users across multiple environments and devices along with the associated shopping intent. In the past year, we have been changing the whole Criteo platform to leverage all the shopping history across all devices for a single user, leading to…

  • Mobile in China is the new black

    In this post, we present our analysis of the Chinese Mobile Market and underline critical trends for digital actors like Criteo. For many, China’s image is still very related to the old image of low quality / cheap products. To all of these sino-skeptics people, we would advice to very quickly revise their judgment and…

  • Memory Optimization

    Memory Optimization

    Over here at Criteo we have a few apps that need to be “real time”. By that we mean we should respond in average below 10ms and never above 60ms. A failure to answer means a missed chance to buy an opportunity to display an ad. Ads are our business, we can’t miss a display.…

  • We showed out @Meilleur Dev de France 2016

    We showed out @Meilleur Dev de France 2016

    As you may have already read (seen) in several French media outlets, the fourth edition of “Le Meilleur Dev de France (The Best Developer of France coding contest) took place on March 14th, in the “Theatre de Paris”. Just like the event’s intallment, this was our fourth time participating and we we had a big…

  • Correlated random numbers

    Correlated random numbers

    Hunting a bug in one of our metrics, we recently discovered a very unexpected correlation in our data, between two actions that we make using pseudo random numbers. Isolating the code responsible for this, we discovered that we had indeed a very tricky bug in our use of pseudo random numbers. After removing all the…

  • A day in the life of an EPM

    A day in the life of an EPM

    Hi there! A number of friends regularly ask us what an EPM is and what our job looks like. We also get the same questions from candidates at Criteo. So we thought it might be useful to give a little bit of insight into the life of an Engineering Program Manager (EPM) at Criteo! Criteo…

  • Large-scale machine learning at Criteo

    Large-scale machine learning at Criteo

    At Criteo, machine learning lies at the core of our business. We use machine learning for choosing when we want to display ads as well as for personalized product recommendations and for optimizing the look & feel of our banners (as we automatically generate our own banners for each partner using our catalog of products).…

  • Internally mobile

    Internally mobile

    At Criteo one of the things we value most in our engineers is a sense of technical curiosity; the desire to learn more and more about cool new tech, especially in the context of the Criteo technology ecosystem. In R&D, we use a wide range of technologies such as Hadoop, Storm, Spark, Kafka, Cassandra, Mesos,…