Il y a près de quatre ans et demi, Nicolas Truchi intégrait Criteo en tant que Software Development Lead au pôle Product Engineering. Depuis, Nicolas a rejoint l’équipe SRE en tant qu’Engineering Manager pour adresser les défis de scalabilité de l’infrastructure web au sein du pôle Recherche et Développement (R&D).
Nicolas nous parle de son poste, de ses missions au quotidien, du rôle de ses équipes et des évolutions à venir, tant pour l’entreprise que pour les nouveaux arrivants.
Qu’est-ce qui t’a le plus surpris au début de ta carrière chez Criteo ?
À mes débuts chez Criteo en 2015, j’étais à la tête d’une petite équipe gérant plusieurs produits phares de la société. À l’époque, mon objectif était de développer ce service pour qu’il devienne un pôle à part entière composé d’une douzaine de développeurs.
Ce qui m’a le plus surpris, c’est la liberté, l’autonomie et surtout la confiance que m’a a accordé mon manager dès mon arrivée dans l’entreprise. J’ai vite compris que cela faisait tout simplement partie de la culture Criteo. C’est de loin l’environnement le plus stimulant dans lequel j’aie jamais travaillé. Je suis heureux de voir que cette culture perdure encore aujourd’hui.
Parle-nous de ton poste au sein de l’équipe SRE.
J’occupe le poste d’Engineering Manager au sein du pôle SRE, ce qui veut dire que je supervise plusieurs équipes, dont les leads et les managers qui les gèrent. Notre mission consiste à fournir des frameworks et des SDK de haute qualité aux quelques 300 ingénieurs du pôle R&D.
Nos équipes gèrent les systèmes, créent les API et contribuent à l’amélioration de la performance des technologies de développement de Criteo (.NET et JVM).
Ma responsabilité en tant qu’EMG est non seulement de veiller à ce que l’exécution soit en phase avec la vision et les roadmaps du groupe, mais aussi de créer des opportunités de croissance et de renforcer les liens avec les équipes R&D.
Quels sont les plus grands défis que doivent relever tes équipes au quotidien ?
Les ingénieurs qui travaillent dans mon équipe doivent créer le code le plus fiable et le plus performant possible, vu qu’il s’agit de SDK. Le code qu’ils rédigent est exécuté plus de 500 milliards de fois par jour, voire jusqu’à 3 millions de fois par seconde pendant les pics d’activité. Comme vous vous en doutez, la moindre optimisation ou erreur peut déterminer le succès ou l’échec de l’entreprise. C’est le risque lorsqu’on travaille sur du code de bas niveau : l’impact des actions du pôle SRE sur l’ensemble des produits Criteo est immédiat.
Autre défi particulièrement d’actualité pour nous : la migration du code C# de Windows à Linux. Cette transition nous permettra d’améliorer la performance du framework .NET de Microsoft sur Linux, et d’optimiser non seulement les développeurs .NET de Criteo, mais aussi ceux du monde entier.
D’autres projets pour inspirer de nouveaux talents à rejoindre le pôle SRE ?
Autres que ces deux projets qui sont déjà particulièrement complexes et prenants ? Bon. L’avantage chez Criteo, c’est qu’il y a toujours de quoi faire et que mes équipes et moi, on ne s’ennuie pas, je vous le garantis. Certaines parties de l’architecture de Criteo datent d’il y a huit ans. L’entreprise est aujourd’hui dix fois plus importante qu’à l’époque.Tout modèle d’architecture a ses limites en termes de croissance. La modernisation de certains composants ne ferait donc pas de mal. Je pense notamment à notre environnement de mise en cache distribuée qui, créé pour prendre dix serveurs en charge, en supporte aujourd’hui plusieurs milliers. Si travailler sur de tels systèmes à grande échelle vous botte, n’hésitez pas, Criteo recrute !
Quelques « must-know » sur l’équipe SRE de Criteo ?
Le pôle SRE est l’environnement R&D idéal pour se former sur la conception et les architectures. Nos équipes touchent à tout, du code de bas niveau aux opérations, en passant par le data engineering et même le front-end.
La plupart de ces compétences ne sont pas exclusives à un produit ou un autre, et sont donc utiles dans plus d’un service. Elles sont aussi extrêmement demandées chez les plus grandes entreprises tech, ce qui représente un atout majeur.
Ce que tu aurais aimé qu’on te dise avant de te lancer dans cette carrière ?
La plupart des jeunes ingénieurs (moi y compris, il y a quelques années) s’imaginent que le software engineering se limite au code.
Avec l’expérience, je me suis aperçu qu’il s’agissait surtout de résoudre des problèmes et d’exécuter les solutions. La plupart du temps, la communication et les plateformes de collaboration sont bien plus utiles que les algorithmes des manuels de programmation informatique.
Et sinon, quid des idées reçues que se font les candidats sur le recrutement à ce type de poste ?
Beaucoup de candidats redoutent les interviews techniques et passent des semaines à se préparer. Qu’ils se rassurent : ce n’est pas le cas chez Criteo ! Nos tests de compétences ne portent pas sur des algorithmes de tri à connaître en quelques semaines. Nous évaluons avant tout les connaissances de base en ingénierie informatique, l’ouverture d’esprit et leur capacité à faire avancer les choses. Dans tous les cas, ces compétences ne s’acquièrent pas en quelques jours. Moralité : travailler sur la confiance en soi apporte bien plus que de s’obstiner à apprendre des algorithmes.
Un conseil pour les candidats ou les jeunes talents qui débutent ?
Comme le disait Grace Hopper, « Il est plus facile de demander le pardon après, que la permission avant. ». Cela fait entièrement partie de la culture de notre pôle R&D. Rien de tel que ce type d’environnement pour se dépasser.
La technologie, l’innovation et les challenges vous motivent ? Cliquez ici pour consulter nos offres d’emploi.