Product Developer

Culture de l'ingénierie

🚀
Expédier tôt
et souvent
📦
Un seul projet
à la fois
🧪
Les tests sont un problème de première classe
🙋🏽♂️
Soyez toujours
recrutant
📨
Communiquer ouvertement et fréquemment



Suivez le compte Twitter de l'ingénierie pour les mises à jour

Audiense est un employeur qui respecte l'égalité des chances et nous savons que ce sont nos différences qui nous rendent formidables, c'est pourquoi nous souhaitons accueillir des personnes de tous horizons dans notre famille. Nous encourageons les Noirs, les Bruns, les LGBTQ+, les handicapés, les mamans et les papas à postuler !

Au cours de la procédure de candidature, n'hésitez pas à indiquer les pronoms que vous utilisez (elle/hers, il/him/his, ils/elles/héritiers). Et faites-nous savoir si vous avez besoin d'ajustements raisonnables pour la candidature ou l'entretien.

Chez Audiense, nous traitons plus d'un milliard de profils sociaux. Nous les enrichissons en appliquant plusieurs algorithmes de classification et de segmentation pour aider des clients tels que Twitter, Telefónica, DHL et Puma à définir leurs campagnes marketing, à identifier les influenceurs et à découvrir de nouvelles niches de marché.

Notre défi est d'optimiser l'acquisition, l'enrichissement et le stockage de cet actif de données croissant et de faire en sorte que le calcul des informations soit aussi proche que possible du temps réel.

Pour cela, nous disposons d'un pipeline qui ingère des données à partir d'un système d'enrichissement principalement écrit en Node.js. Ce système utilise de nombreuses API tierces et applique des algorithmes pour déduire de nouvelles caractéristiques. Ce pipeline est capable de mettre à jour un lac de données de plus de 100 To qui est utilisé pour générer des rapports pour nos clients à l'aide de Spark et Scala.

La plupart de notre base de code est un monolithe écrit en Node.js. Nous sommes en train de la découpler et c'est l'un des plus grands défis auxquels nous sommes confrontés actuellement. Certaines parties de la plateforme dédiées au traitement des données sont en cours de réécriture en Scala et la logique métier est en cours de migration vers Typescript.

Nous suivons les principes du Domain Driven Design, de SOLID et de l'architecture hexagonale, et nous recherchons donc des personnes qui les connaissent et les ont appliqués.

L'un de nos principaux défis au niveau du front-end et de l'UX est de représenter, de manière plus exploitable et compréhensible, une grande quantité d'informations complexes sur les publics cibles. Pour cela, nous comptons sur une pile de composants React.js, Typescript, Redux, Webpack et Styles.

Outre les défis visuels, nous en avons d'autres intéressants : améliorer notre base de tests end2end, découpler notre code frontal du monolithe, développer un système de notifications robuste (CQRS) qui permet de découpler la logique du démarrage initial de l'application et des appels API, ajouter un système de métriques pour améliorer les performances en appliquant de meilleures stratégies de mise en cache, migrer le code hérité vers Typescript en appliquant SOLID et l'architecture hexagonale.

Mais nos utilisateurs ne sont pas seulement nos clients directs. Nous disposons d'un solide programme de partenariat que nous rendons opérationnel via une API privée. Cette API est encore en version bêta mais compte déjà plus de 200 clients et un grand potentiel de développement.

Toute notre pile est hébergée dans AWS, nous utilisons principalement Docker (ECS), EC2 et Lambda pour exécuter notre code source et un large éventail de services comme SQS et SNS pour la communication via des événements.

Nous avons une culture de travail de type "remote-first", et nous travaillons à 100% à distance depuis plus de 8 ans. Bien que nous ayons des bureaux à Cordoue, nos équipes (direction, ventes, service client, produit, marketing et ingénierie) sont réparties dans différentes villes : Londres, Italie, Málaga, Barcelone, Madrid, Cordoue, Vigo, Séville, Grenade, Cuenca...

Notre état d'esprit, nos flux de travail et notre communication supposent que nous sommes tous à distance. Presque tout est documenté dans Github : plans de croissance, parcours d'apprentissage, architecture, protocoles, onboarding, playbooks, système de conception, directives UX, etc. Nous investissons tout ce qui est en notre pouvoir pour automatiser nos routines quotidiennes afin d'être aussi autonomes que possible pour nous permettre de travailler efficacement à distance.

Vous rejoindrez une équipe soudée (plus de 4 ans en moyenne ensemble) dans un environnement très collaboratif dans lequel vous vous sentirez pris en charge dès le début de votre onboarding.

Chaque équipe applique des méthodologies agiles différentes mais toutes suivent quelques principes de base. Nous donnons la priorité aux fonctionnalités qui apportent le plus de valeur à nos clients et, au lieu de fixer des délais, nous livrons de petits incréments afin de toujours disposer d'une version fonctionnelle et livrable de la fonctionnalité. Nous essayons de maintenir le nombre de tâches en parallèle au minimum possible. Nous avons quelques réunions prévues, mais nous ne manquons pas les réunions quotidiennes, les planifications de sprint bihebdomadaires et les revues. Nous avons régulièrement des entretiens individuels avec le directeur et le directeur technique, et nous n'hésitons pas à nous rendre sur un hangout si un fil de discussion sur Slack ou par e-mail s'allonge.

Nous croyons en la programmation extrême comme technique de développement, c'est pourquoi nous pratiquons la plupart du temps la programmation en binôme (oui, à distance) et le TDD est notre principal outil pour écrire un code robuste et testable. La programmation en binôme nous aide toujours à faire confiance à notre code, ce qui permet des itérations constantes. Une fois par sprint, nous consacrons du temps à la révision conjointe du code afin de détecter les éventuels problèmes à traiter en priorité. Nous faisons de l'intégration continue et nous sommes en train d'éteindre les branches pour faire du développement à partir du tronc, ce qui représente un défi là aussi.

Le code que nous écrivons aujourd'hui essaie de suivre les principes de SOLID. Il s'agit de code propre, de l'application de l'architecture hexagonale et de la conception orientée domaine lorsque la complexité l'exige. La preuve de notre approche peut être vue dans nos collaborations en tant qu'enseignants pour plusieurs cours de DDD pour Typescript. Pour une transparence totale (une valeur d'Audiense), au cours des 6 dernières années, nous avons écrit notre part de "mauvais" code et créé un certain nombre d'anti-modèles, mais nous considérons cela comme une opportunité de voir des exemples réels de ce qu'il ne faut pas faire et des techniques de refactoring à ne pas pratiquer.

Nous avons une culture d'apprentissage continu et nous encourageons cela pendant les heures de travail. En tant qu'équipe, nous avons fait le pacte de suivre un parcours d'apprentissage, donc en rejoignant Audiense, vous vous y engagez aussi. Si vous avez suivi un parcours similaire, nous sommes impatients de vous connaître et d'apprendre de vos expériences, si ce n'est pas le cas, nous sommes impatients de vous soutenir avec des ressources, du temps et du mentorat afin que nous soyons alignés.Vous pouvez en apprendre davantage sur notre culture sur notre blog d'ingénierie et notre compte Instagram.

Que recherchons-nous ?

Nous recherchons des personnes dotées d'un fort esprit de produit et qui valorisent les bonnes pratiques techniques.

Nous utilisons la technologie pour créer une expérience de produit transparente ; vous collaborerez donc avec la conception, la gestion de produit et d'autres ingénieurs pour développer cette expérience. En tant qu'entreprise, nous abandonnons la culture des silos au profit d'une mentalité en forme de T. Nous attendons donc de vous que vous soyez suffisamment polyvalent pour participer aux tâches frontales et dorsales.

Dans le cadre de nos activités quotidiennes et bien que nous soyons à distance, nous pratiquons la programmation en binôme et nous recherchons des personnes qui se sentent à l'aise avec cette pratique et d'autres pratiques de programmation extrême : TDD, DDD et code propre. Toute expérience préalable dans ces domaines est toujours appréciée.

Nous disposons d'une pile variée : Node.js, React, MongoDB, MySQL, RabbitMQ, Redis, AWS... cependant, les maîtriser tous n'est pas une exigence. Nous sommes plus intéressés par les principes qui les sous-tendent. Plus important encore, il est essentiel d'avoir l'expérience de la conception axée sur le domaine, de l'architecture hexagonale et de comprendre le défi que représente le découplage d'un monolithe. Cela dit, pour les projets imminents, une certaine expérience de Node.js, Typescript, React, MongoDB, MySQL vous aidera à lancer la production plus rapidement.

Nous investissons notre temps et notre soutien pour nous aider mutuellement à apprendre en permanence, il est donc très important que vous ayez envie d'apprendre et de continuer à pratiquer les compétences nécessaires pour maîtriser notre profession. Pratiquez, pratiquez, pratiquez !

Travailler à distance présente de nombreux avantages, mais exige également des efforts supplémentaires en matière de communication et de prise de responsabilités. C'est pourquoi l'autogestion, la communication fluide, le respect et l'inclusion sont autant de compétences que nous jugeons essentielles.

Ce que nous offrons ?

Processus de recrutement

À propos d'Audiense

Audiense permet aux organisations innovantes de comprendre et d'appliquer la puissance de la segmentation d'audience et des connaissances en réinventant l'utilisation des données sociales compliquées pour les rendre plus stratégiques et les relier à la stratégie commerciale/marketing afin d'être pertinent et d'obtenir des résultats.

La plateforme avancée de science des données d'Audiense a attiré de nombreux clients de premier plan tels que Twitter, Telefónica, Puma et DHL. Nous avons également développé d'importants partenariats avec Twitter et IBM. Nous sommes l'un des deux seuls partenaires officiels de Twitter certifiés à la fois pour l'analyse des données et la publicité, ce qui permet à nos clients de recueillir des informations approfondies et de tirer le meilleur parti de leur investissement dans Twitter grâce à un micro-ciblage avancé.

Nous sommes également partenaires d'IBM Watson, ce qui nous permet d'enrichir notre base de données grâce à l'analyse cognitive, notamment l'intelligence de la personnalité, de l'image et du sentiment. Cela donne à nos clients un avantage sur leurs concurrents car ils peuvent recueillir des informations riches et détaillées sur les audiences qui comptent pour leur entreprise en temps réel.Fondée en 2011 par Javier Burón et Alfredo Artiles, Audiense a des bureaux à Londres, au Royaume-Uni, et à Cordoue, en Espagne, et compte actuellement plus de 50 employés, dont plus de la moitié travaillent dans l'ingénierie et les produits.

Partager cette offre d'emploi