Job Description
Description de l'entreprise Nous sommes Nurun, au centre de la créativité et de la technologie. Nous créons des expériences numériques qui aident à faire grandir les marques et à transformer les organisations. Nous sommes des hybrides qui organisent notre travail autour de la collaboration multidisciplinaire. Notre vision : l'humain d'abord, la technologie ensuite. Toujours les mêmes ingrédients, mais jamais la même recette: nous nous adaptons selon les besoins pour assurer l'excellence de nos produits. Nous sommes un grand groupe de professionnels diversifiés réunis à Toronto, Montréal, Québec, Windsor, en Colombie-Britannique et même en Saskatchewan ! Qui sont ces professionnels ? Nous nous organisons en équipes de designers d'expérience, développeurs, partenaires clients, chefs de projet, stratèges et designers d'affaires. Descriptif du poste Nous recherchons un·e développeur·euse backend sénior passionné·e pour rejoindre notre équipe dynamique. Ce rôle est idéal pour les personnes souhaitant faire progresser leur carrière dans un environnement stimulant, collaboratif et innovant. Vous collaborerez avec des équipes multidisciplinaires afin de concevoir des services backend et des API fiables, sécurisés et évolutifs. Axé·e sur l’excellence en ingénierie, l’agilité et une culture d’équipe forte, vous contribuerez activement à nos produits tout en approfondissant votre expertise dans l’écosystème Java. Responsabilités Développement collaboratif Travailler étroitement avec les responsables de produit, designers, développeur·euse·s frontend, équipes SysOps et collègues afin de livrer des capacités backend robustes (API, services, pipelines de données) alimentant les expériences client. Participer activement aux cérémonies agiles (planification de sprint, rencontres quotidiennes, affinage, rétrospectives). Contribuer aux revues de code en fournissant des retours constructifs, en identifiant rapidement les enjeux de qualité, sécurité et performance, et en intégrant efficacement les commentaires des pairs. Adopter une mentalité collaborative : soutenir les collègues, partager le contexte, documenter les décisions et contribuer à un environnement de travail positif. Offrir du mentorat et du soutien technique aux autres développeur·euse·s (pair programming, revues de conception, dépannage). Excellence en ingénierie Concevoir, développer et exploiter des services backend en Java et avec des frameworks courants (ex. : Spring). Produire du code clair, efficace et maintenable tout en respectant des standards élevés (lisibilité, testabilité, résilience). Concevoir et faire évoluer des API REST en mettant l’accent sur la qualité, la convivialité, la rétrocompatibilité et la documentation. Appliquer des principes d’ingénierie rigoureux pour garantir des livrables de haute qualité (stratégie de test complète, automatisation, contrôles qualité). Contribuer à la conception et à l’architecture des systèmes : participer activement à l’évolution de l’architecture (ADRs, schémas, documents de solution). Assurer l’exploitabilité des systèmes : journalisation, métriques, traçage, alertes, optimisation des performances et suivi des incidents avec apprentissages concrets. Collaborer aux pratiques CI/CD afin de réduire les délais de livraison, améliorer la fiabilité et renforcer la confiance dans les déploiements. Innovation et amélioration continue Explorer et proposer de nouvelles technologies, architectures et outils pour améliorer l’expérience développeur, la performance, la résilience et les coûts. Contribuer à l’amélioration continue des pratiques, processus et méthodes de travail. Participer à des ateliers internes et formations afin de rester à jour avec les tendances du secteur. Contribuer à l’amélioration de l’expérience de développement assistée par l’IA et des pratiques associées. À ce niveau, nous attendons que vous : Preniez en charge des composantes backend de bout en bout (de la conception à l’exploitation en production). Naviguiez dans l’ambiguïté : analyser les problèmes, proposer des options avec compromis et soutenir la prise de décision. Éleviez les standards d’ingénierie : améliorer la fiabilité, les performances, la sécurité et les stratégies de test. Ayez une influence au-delà de vos tâches : contribuer à l’architecture, aux standards de code et aux pratiques communes. Agissiez comme mentor·e et catalyseur·rice de croissance pour les autres membres de l’équipe. Qualifications Exigences essentielles Solide maîtrise des outils de développement : Git, pipelines CI/CD, scripts Bash, Docker. Expérience approfondie de l’écosystème Java (Java moderne, frameworks comme Spring/Spring Boot). Expérience dans la conception et la maintenance d’API et services backend en production (REST, versionnage, documentation). Bonne compréhension des bases de données relationnelles et SQL, ainsi que des ORM (ex. : JPA/Hibernate) et des pratiques de migration. Connaissance des stratégies de test (unitaires, intégration, contrats, bout en bout). Forte capacité d’apprentissage et volonté d’amélioration continue, avec une attitude proactive et positive. Excellentes compétences en communication orale et écrite, orientées vers la collaboration. Atouts importants Familiarité avec des frameworks de contenu web et moteurs de templates (ex. : Apache Sling, FreeMarker). Expérience avec Elasticsearch ou technologies d’indexation. Expérience en environnement cloud natif (conteneurs, orchestration, Infrastructure as Code, pratiques SysOps). Maîtrise des outils d’observabilité (métriques, traçage, logs) et participation à la gestion des incidents. Sensibilité à la sécurité applicative (concepts OWASP, authentification/autorisation, API sécurisées, gestion des secrets). Expérience en optimisation des performances, planification de capacité et gestion des coûts. Informations complémentaires Portfolio (optionnel mais apprécié) Profil GitHub, portfolio ou exemples de projets démontrant votre approche en ingénierie backend. Processus de recrutement Appel de présélection avec l’équipe acquisition de talents Évaluation technique (formats variés possibles) Entretien sur la culture et l’adéquation à l’équipe Entretien technique approfondi Offre et rétroaction Vérification des antécédents et références Ce que nous offrons Salaire compétitif, compensation pour la garde (lorsque applicable) et avantages adaptés au poste. Opportunités de mentorat et de progression de carrière. Accès à des ressources d’apprentissage et de développement professionnel continu. Participation à des projets stimulants favorisant le développement des compétences. Un environnement de travail inclusif où chacun·e peut s’exprimer et contribuer pleinement à l’équipe. Des congés fériés prolongés : profitez de l'ajout des lundis et vendredis lors des jours fériés provinciaux pour bénéficier de week-ends de quatre jours ainsi qu'une fermeture de nos bureaux en Noël et le Jour de l’An. Un modèle de travail hybride qui allie flexibilité et collaboration. Des assurances collectives complètes incluant soins médicaux, dentaires, optiques, psychologiques et paramédicaux, ainsi que l'assurance salaire, et des soutiens en matière de fertilité et de transition de genre. Un programme interne de soutien et d'accompagnement pour la fertilité, la transition de genre et contre le cancer. Le programme "Work Your World" qui vous permet de travailler à distance jusqu'à 6 semaines dans n'importe quel pays où nous sommes présents.
Exigences essentielles Solide maîtrise des outils de développement : Git, pipelines CI/CD, scripts Bash, Docker. Expérience approfondie de l’écosystème Java (Java moderne, frameworks comme Spring/Spring Boot). Expérience dans la conception et la maintenance d’API et services backend en production (REST, versionnage, documentation). Bonne compréhension des bases de données relationnelles et SQL, ainsi que des ORM (ex. : JPA/Hibernate) et des pratiques de migration. Connaissance des stratégies de test (unitaires, intégration, contrats, bout en bout). Forte capacité d’apprentissage et volonté d’amélioration continue, avec une attitude proactive et positive. Excellentes compétences en communication orale et écrite, orientées vers la collaboration. Atouts importants Familiarité avec des frameworks de contenu web et moteurs de templates (ex. : Apache Sling, FreeMarker). Expérience avec Elasticsearch ou technologies d’indexation. Expérience en environnement cloud natif (conteneurs, orchestration, Infrastructure as Code, pratiques SysOps). Maîtrise des outils d’observabilité (métriques, traçage, logs) et participation à la gestion des incidents. Sensibilité à la sécurité applicative (concepts OWASP, authentification/autorisation, API sécurisées, gestion des secrets). Expérience en optimisation des performances, planification de capacité et gestion des coûts.
Développement collaboratif Travailler étroitement avec les responsables de produit, designers, développeur·euse·s frontend, équipes SysOps et collègues afin de livrer des capacités backend robustes (API, services, pipelines de données) alimentant les expériences client. Participer activement aux cérémonies agiles (planification de sprint, rencontres quotidiennes, affinage, rétrospectives). Contribuer aux revues de code en fournissant des retours constructifs, en identifiant rapidement les enjeux de qualité, sécurité et performance, et en intégrant efficacement les commentaires des pairs. Adopter une mentalité collaborative : soutenir les collègues, partager le contexte, documenter les décisions et contribuer à un environnement de travail positif. Offrir du mentorat et du soutien technique aux autres développeur·euse·s (pair programming, revues de conception, dépannage). Excellence en ingénierie Concevoir, développer et exploiter des services backend en Java et avec des frameworks courants (ex. : Spring). Produire du code clair, efficace et maintenable tout en respectant des standards élevés (lisibilité, testabilité, résilience). Concevoir et faire évoluer des API REST en mettant l’accent sur la qualité, la convivialité, la rétrocompatibilité et la documentation. Appliquer des principes d’ingénierie rigoureux pour garantir des livrables de haute qualité (stratégie de test complète, automatisation, contrôles qualité). Contribuer à la conception et à l’architecture des systèmes : participer activement à l’évolution de l’architecture (ADRs, schémas, documents de solution). Assurer l’exploitabilité des systèmes : journalisation, métriques, traçage, alertes, optimisation des performances et suivi des incidents avec apprentissages concrets. Collaborer aux pratiques CI/CD afin de réduire les délais de livraison, améliorer la fiabilité et renforcer la confiance dans les déploiements. Innovation et amélioration continue Explorer et proposer de nouvelles technologies, architectures et outils pour améliorer l’expérience développeur, la performance, la résilience et les coûts. Contribuer à l’amélioration continue des pratiques, processus et méthodes de travail. Participer à des ateliers internes et formations afin de rester à jour avec les tendances du secteur. Contribuer à l’amélioration de l’expérience de développement assistée par l’IA et des pratiques associées. À ce niveau, nous attendons que vous : Preniez en charge des composantes backend de bout en bout (de la conception à l’exploitation en production). Naviguiez dans l’ambiguïté : analyser les problèmes, proposer des options avec compromis et soutenir la prise de décision. Éleviez les standards d’ingénierie : améliorer la fiabilité, les performances, la sécurité et les stratégies de test. Ayez une influence au-delà de vos tâches : contribuer à l’architecture, aux standards de code et aux pratiques communes. Agissiez comme mentor·e et catalyseur·rice de croissance pour les autres membres de l’équipe.
