Ingénieur·e logiciel, expérience développeur
Résumé
En tant qu'Ingénieur·e logiciel dans l'équipe Expérience développeur, vous serez responsable de construire, maintenir et faire évoluer les outils, frameworks et infrastructure qui permettent à nos équipes d'ingénierie de travailler efficacement. Vous vous concentrerez sur rendre les ingénieurs de données, ingénieurs de plateforme et développeurs produit plus productifs à travers de meilleurs outils, workflows rationalisés et environnements de développement optimisés. Ce rôle est critique alors que nous faisons évoluer notre équipe et livrons des plateformes de données et produits alimentés par l'IA de plus en plus complexes aux clients d'entreprise.
L'équipe Expérience développeur est responsable d'architecturer, implémenter et faire évoluer les outils internes et frameworks que nos ingénieurs utilisent quotidiennement pour construire des plateformes de données, produits Noème et solutions clients. Nous recherchons des ingénieurs passionnés par la résolution de défis de productivité en ingénierie, ayant une profonde empathie pour les autres développeurs et aimant communiquer avec les équipes d'ingénierie.
Ce que vous ferez (rôles et responsabilités)
- Construire et maintenir des outils développeur qui améliorent la productivité des ingénieurs de données, ingénieurs de plateforme et développeurs produit à travers l'organisation
- Optimiser les pipelines CI/CD pour plateformes de données, déploiements d'infrastructure et releases d'applications - assurant des déploiements rapides, fiables et sécurisés
- Concevoir et implémenter des environnements de développement qui facilitent la construction, test et déploiement de pipelines de données, infrastructure et applications
- Créer des outils internes et applications CLI pour workflows d'ingénierie courants comme scaffolding de projets, test de pipelines de données, provisionnement d'infrastructure et automation de déploiement
- Améliorer l'infrastructure de build et test pour permettre des boucles de rétroaction rapides - visant à compléter les pipelines CI de PR en 15-20 minutes
- Travailler avec GitHub et workflows de contrôle de version pour optimiser les processus de révision de code, gestion de branches et automation de fusion
- Développer des outils de qualité de code incluant linters, formatteurs, analyse statique et scan de sécurité pour Python, TypeScript, SQL et code d'infrastructure
- Construire des frameworks de tests automatisés pour pipelines de données, API et infrastructure, facilitant l'écriture et l'exécution de tests par les ingénieurs
- Créer de la documentation et guides internes sur les meilleures pratiques de développement, utilisation d'outils et patterns architecturaux
- Surveiller et améliorer les métriques développeur comme temps de build, fréquence de déploiement, temps de cycle PR et satisfaction développeur
- Collaborer avec les équipes d'ingénierie pour comprendre les points de douleur, recueillir les exigences et prioriser les améliorations aux workflows développeur
- Évaluer et intégrer de nouveaux outils développeur de l'écosystème open source (GitHub Actions, Terraform, dbt, pytest, etc.)
- Implémenter des outils infrastructure as code (IaC) pour standardiser le provisionnement de ressources cloud à travers AWS et Azure
- Construire des outils de développement de pipelines de données qui aident les ingénieurs à développer, tester et déboguer les workflows ETL/ELT localement avant déploiement en production
- Créer des outils d'observabilité et débogage qui aident les ingénieurs à identifier et résoudre rapidement les problèmes en développement et production
- Standardiser les templates de projets et boilerplates pour patterns courants (pipelines de données, API, applications web, modules d'infrastructure)
- Optimiser l'onboarding développeur en construisant des outils et documentation qui aident les nouveaux ingénieurs à devenir productifs rapidement
- Supporter la réponse aux incidents en construisant des outils qui aident les ingénieurs à investiguer et résoudre rapidement les problèmes de production
- Piloter l'adoption des meilleures pratiques autour des tests, qualité de code, sécurité et excellence opérationnelle
- Contribuer à la culture d'ingénierie en championnat les améliorations d'expérience développeur et favorisant une culture d'amélioration continue
Exigences essentielles (Must-Haves)
- Diplôme de baccalauréat ou maîtrise en Informatique, Génie logiciel ou expérience pratique équivalente
- 3 à 7 années d'expérience en génie logiciel avec focus sur outils développeur, infrastructure ou ingénierie de plateforme
- Solides compétences en programmation dans des langages couramment utilisés pour l'outillage (Python, TypeScript/JavaScript, Go ou Bash)
- Expérience avec les systèmes CI/CD (GitHub Actions, GitLab CI, Jenkins, CircleCI) et optimisation de pipelines de build et déploiement
- Compréhension des workflows de développement logiciel et points de douleur courants que les développeurs rencontrent
- Expérience avec le contrôle de version (Git/GitHub) et pratiques de développement collaboratif
- Connaissance des plateformes cloud (AWS et/ou Azure) et automation d'infrastructure
- Familiarité avec la conteneurisation (Docker) et outils d'orchestration
- Expérience avec les frameworks de test et meilleures pratiques de tests automatisés
- Solides compétences en résolution de problèmes et capacité à déboguer des problèmes complexes à travers différents systèmes
- Excellentes compétences en communication avec capacité à comprendre les besoins développeur et les traduire en solutions d'outillage
- Empathie pour les développeurs et intérêt genuine à rendre les ingénieurs plus productifs
- Mentalité pragmatique et orientée affaires - comprendre l'équilibre entre améliorations d'expérience développeur et priorités d'affaires
- Auto-dirigé et orienté vers la propriété - capable d'identifier les problèmes, proposer des solutions et piloter l'implémentation
- Confortable avec les interruptions - capable de changer de contexte entre travail de projet et bloqueurs développeur urgents
Atouts (Nice-to-Haves)
- Expérience avec les outils d'ingénierie de données (dbt, Apache Airflow, Dagster, Prefect, Spark)
- Familiarité avec TypeScript et outillage JavaScript moderne (spécialement pour construire des outils CLI et interfaces web)
- Expérience avec Infrastructure as Code (Terraform, Pulumi, CloudFormation, templates ARM)
- Connaissance des tests de pipelines de données et frameworks de qualité de données
- Expérience avec les outils de développement Python (pytest, mypy, black, ruff, poetry, uv)
- Compréhension du développement cloud-native et architectures serverless
- Expérience avec les outils de monitoring et observabilité (DataDog, New Relic, Grafana)
- Connaissance du scan de sécurité et outils de gestion de dépendances
- Expérience dans la construction de portails développeur internes ou plateformes self-service
- Familiarité avec SQL et workflows de développement de bases de données
- Compréhension des architectures de plateformes de données (lakehouses, data warehouses, plateformes de streaming)
- Expérience avec React et construction d'outils web internes
- Formation en pratiques DevOps ou SRE
- Expérience avec les workflows de développement IA/ML et outillage MLOps
- Connaissance de Power BI ou Tableau processus de développement et déploiement
- Compréhension des environnements multi-cloud et gestion d'outillage à travers AWS et Azure
- Expérience passée dans des équipes d'expérience développeur ou plateforme
- Contributions à l'open source outils développeur ou projets d'infrastructure
- Maîtrise bilingue de l'anglais et du français (atout pour supporter les équipes d'ingénierie bilingues)
Détails
- Localisation : Télétravail, fuseau horaire EST préféré pour la collaboration avec équipes d'ingénierie
- Relation hiérarchique : Vous relèverez du Gestionnaire d'ingénierie, Directeur d'ingénierie ou Directeur Ingénierie de plateforme
Rémunération
Package salarial compétitif ajusté selon votre marché local et votre pays de résidence. La rémunération est basée sur la localisation et reflète les standards du marché régional. Nous nous alignons sur les principales entreprises technologiques de votre pays pour garantir une rémunération compétitive et équitable pour les talents d'ingénierie mid-senior avec expertise en expérience développeur et ingénierie de plateforme.
Que se passe-t-il après votre candidature
Échéancier : Nous visons à compléter notre processus dans les 2-3 semaines suivant la candidature.