Interview métier | Christophe : Data Engineer chez Teads

14 abr 2016

3 min

Interview métier | Christophe : Data Engineer chez Teads

Teads est une plateforme de publicité vidéo spécialisée dans les formats haut-de-gamme pour le web et le mobile. Cette entreprise française créée en 2011 est aujourd’hui un acteur majeur sur le marché mondial de la publicité vidéo et fournit sa technologie à de nombreux éditeurs de contenus dans plus de 40 pays.

Chez Teads, la data est omniprésente. Nous avons rencontré Christophe, Data Engineer, qui nous explique son métier au quotidien !

Bonjour Christophe ! Peux-tu nous en dire un peu plus sur toi ?

Bonjour ! Je suis un passionné d’informatique dès le départ. Après ma prépa mathématiques, j’ai fait l’ENSEIRB-MATMECA à Bordeaux (aujourd’hui IPB). Après plusieurs stages en SSII, je suis parti à la recherche d’une startup où je pourrais vraiment avoir un impact à grande échelle et être entouré de passionnés. C’est au travers de CodinGame (une plateforme de concours de programmation en ligne) que j’ai découvert et intégré Teads, il y a 2 ans et demi à l’issue de mon diplôme d’ingénieur.

Pourquoi as-tu choisi de rejoindre Teads ?

Dès 2013, Teads était une startup très ambitieuse aussi bien sur le plan business (rentable dès le départ) que sur les technologies (Scala, Cassandra et AngularJS entre autres). En discutant avec les 2 fondateurs, j’ai senti la passion pour le projet et l’envie de révolutionner le domaine de la publicité en ligne. J’ai donc décidé de m’embarquer dans cette aventure excitante !

Mon poste a beaucoup évolué, initialement Développeur Backend, j’ai touché à beaucoup de projets (même du développement mobile !) avant de me focaliser sur le reporting et les statistiques puis de manière plus générale sur la partie Data Engineering de l’entreprise.

En quoi consiste ton métier de Data Engineer au quotidien ?

Je travaille principalement sur le développement des applications mais j’interviens également sur la production ou encore certaines discussions produits et spécifications, sans oublier le support ! J’analyse les données issues de la diffusion de nos publicités et détermine avec l’équipe produit quelles statistiques il est intéressant d’obtenir de ces données. Ceci dépend du client (advertiser) qui a besoin de savoir si la campagne pub a bien ciblé les utilisateurs voulus.

Nous travaillons sur un data lake de plus d’un pétabyte et cela ne cesse de grossir car nous trackons plus de 100 millions d’évènements par jour. (Un événement correspond à un comportement d’internaute : le type de vidéo visionnée, le moment précis auquel elle a été vue, l’origine de la vidéo etc.)

Quelles techno utilises-tu ?

Je programme principalement en Scala où j’utilise des frameworks tels que Spark ou Akka. Je construis généralement des applications connectées à MySQL, Cassandra et Redis. Les applications que je développe sont soit packagées dans des conteneurs Docker que l’on fait tourner sur AWS, soit déployées sur notre cluster Hadoop où Jenkins et YARN gèrent leur lancement. Enfin Git est à la manoeuvre pour la gestion de source.

Peux-tu nous décrire une journée type ?

Avant de partir au travail, je fais un tour sur Slack (le réseau de communication que nous utilisons en interne) pour vérifier que la production n’a aucun soucis. En fonction de ça, j’arrive généralement vers 10h. En arrivant, je vois si je peux aider des collègues, fait mon “daily standup” sur Slack avant de me plonger dans les implémentations en cours ou d’attaquer de nouvelles tâches jusqu’à la pause du midi où, régulièrement, nous partons faire du sport dans un parc avec quelqu’un de mes collègues. Après un repas rapide et une douche dans les locaux, j’ai souvent une réunion liée à l’un de mes domaines d’expertise avant de reprendre mes tâches. Je rend généralement mon tablier vers 19h.

Je dirai que mes tâches se répartissent de cette manière :

  • 40% : Dév’
  • 25% : Support (résoudre bugs et problèmes)
  • 25% : Réunions, discussions sur le produit, les spécifications
  • 10% : Mails et veille

Qu’est-ce que tu aimes dans ce métier ?

J’ai l’opportunité de travailler sur des projets qui touchent plus d’un milliard de personnes sur la planète. Peu de projets permettent d’impacter autant de personnes. Du fait de cette échelle, on a vraiment l’impression de changer le monde ! En plus la Tech a un rôle prépondérant dans la survie des contenus en ligne et j’aime travailler dans une entreprise qui permet aussi d’aider une industrie.

Et puis chez Teads, il y a une culture d’entreprise forte, une culture entrepreneuriale et une forte autonomie : l’ambiance de travail est vraiment motivante ! Au sein des équipes innovation, des summits sont organisés chaque trimestre pour faire un point sur le travail effectué : c’est l’opportunité de rencontrer les équipes de Montpellier et d’améliorer la collaboration.

Quelles sont selon toi les qualités indispensables pour faire ce poste ?

En tant que Data engineer, on travaille sur des gros volumes de données. Ainsi la complexité algorithmique de plupart des algorithmes que je produis est vraiment mise à l’épreuve. Chaque solution doit être pensée pour fonctionner à l’échelle et les bugs coûtent souvent très chers. La qualité du code est donc une priorité au sein de l’équipe. Il faut être pointilleux et pragmatique pour éviter les catastrophes tout en innovant.

Un souvenir marquant, une fierté ?

En 2 ans et demi, le trafic de Teads a été multiplié par 100 ! Ce qui veut dire aussi 100x fois plus de données donc beaucoup plus de travail ! Mais on a réussi à s’adapter et je suis fier de voir que l’app Teads prévue à la base pour gérer quelques millions d’événements arrive aujourd’hui à en générer quelques centaines de millions !

On connaît toujours une croissance forte et on recrute !