Dieses Stellenangebot ist nicht mehr verfügbar
Senior Backend Developer
- Montreal, Québec, Canada
- Montreal, Québec, Canada
Über
Join our team and take your career to the next level.
Job Summary
Expretio recherche un.e Dé Backend Java expérimenté.e pour rejoindre son équipe dynamique basée à Montréal. Au sein d'une équipe Scrum, il/elle contribuera au développement d'Appia, sa solution phare spécialisée en Revenue Management pour l'industrie ferroviaire.
Le/la Dé Senior, travaillera avec les responsables Produit et R&D pour traduire les exigences d'affaire en solutions techniques et s'assurer de la faisabilité technique des nouvelles fonctionnalités. Il/elle contribuera activement à la conception, au développement, aux tests et à la maintenance des fonctionnalités backend de l'application (Spring Boot), de la couche de persistance (PostgreSQL ou MongoDB) jusqu'aux APIs (REST ou GraphQL).
En tant que Senior, la personne retenue agira également à titre de conseiller.ère et mentor.e pour les membres de l'équipe moins expérimentés et participera activement aux choix technologiques, à l'architecture et à l'amélioration continue des processus.
Expretio is seeking an experienced Backend Java Developer to join its dynamic team based in Montreal. Within a Scrum team, this person will contribute to the development of Appia, its flagship solution specialising in Revenue Management for the rail industry.
The Senior Developer will work with Product and R&D leaders to translate business requirements into technical solutions and ensure the technical feasibility of new features. They will actively contribute to the design, development, testing, and maintenance of backend features of the application (Spring Boot), from the persistence layer (PostgreSQL or MongoDB) to APIs (REST or GraphQL).
As a Senior, the selected candidate will also act as an advisor and mentor for less experienced team members and will actively participate in technology choices, architecture, and continuous improvement of processes.
Job Description
Responsabilités
Techniques
- Collaborer avec l'équipe Produit pour concevoir, étudier la faisabilité technique et mettre en place les solutions répondant aux besoins des clients et de l'entreprise
- Participer activement aux choix technologiques ainsi qu'aux choix d'évolution de l'architecture
- Rédiger les spécifications techniques des fonctionnalités complexes si nécessaire
- Participer à la modélisation et la réalisation de la couche de persistance (PostgreSQL ou MongoDB)
- Concevoir, développer et maintenir les services backend et les API (REST, GraphQL)
- Effectuer des revues de code et fournir des retours constructifs aux membres de l'équipe
- Produire les tests unitaires et d'intégration visant à valider les fonctionnalités développées et à s'assurer de leur non-régression
- Collaborer avec l'équipe d'assurance qualité pour l'aider à valider les fonctionnalités développées et l'assister si nécessaire
- Participer à la maintenance des fonctionnalités des versions antérieures de l'application
- Participer et encourager l'équipe dans la réduction de la dette technique et l'optimisation des performances de l'application
- Collaborer avec le responsable DevOps pour la mise en place et le maintien de la chaine d'intégration continue (GitLab, Jenkins)
- Collaborer avec l'équipe de Support pour analyser et résoudre les problèmes critiques de manière rapide et efficace
- Collaborer avec les clients et les équipes hors R&D pour fournir une expertise technique lorsque nécessaire.
Leadership
- Agir en tant que mentor auprès des développeurs afin de les accompagner dans leur montée en compétence
- Collaborer activement avec les autres membres de l'équipe et les autres équipes pour s'assurer que les fonctionnalités sont livrées dans les délais prévus
- Participer activement aux séances de rétrospectives et proposer des améliorations continues de nos pratiques de développement
- Identifier, communiquer et atténuer les risques et les obstacles dans la mise en œuvre des fonctionnalités
- Assurer la conformité avec nos standards et nos normes de sécurité et veiller à leur respect dans l'équipe
- Participer au processus de recrutement, d'intégration et de formation des développeurs intermédiaires et seniors
Ce que vous apportez au poste
Formation et expérience
- Baccalauréat en informatique, génie logiciel ou équivalent
- 8+ années d'expérience professionnelle en développement Java, y compris dans le cadre de projets complexes impliquant plusieurs équipes
- 5+ années d'expérience avec Spring Boot et divers frameworks Spring
- 5+ années d'expérience avec SQL, Hibernate et PostgreSQL (ou un SGBD similaire)
- 4+ années d'expérience de développement dans un environnement Agile
- 3+ années d'expérience avec les technologies NoSQL et de Messaging (Kafka, RabbitMQ ou simlaire)
- Expérience dans l'optimisation des performances et les défis liés à la scalabilité
- Expérience dans le mentorat et le développement d'autres développeurs
Compétences techniques
- Maîtrise de Java 8 et 21+ avec une solide compréhension des fonctionnalités Java modernes
- Connaissances avancées en architecture, principes de POO et patrons de conceptions
- Aptitude à comprendre les logiques d'affaire complexes et certains concepts mathématiques
- Expertise avancée en Spring Boot et l'écosystème Spring (Spring MVC, Spring Data, Spring Security)
- Compétences avancées en SQL, JPA et Hibernate y compris en termes d'optimisation des performances
- Solides connaissances en modélisation de de bases de données NoSQL (MongoDB)
- Expérience dans la conception et la mise en œuvre d'API REST et GraphQL sécurisées et performantes
- Compréhension approfondie des architectures événementielles et des technologies de Messaging (RabbitMQ, Kafka)
- Connaissance des technologies Java EE (EJB, WildFly) pour les tâches de maintenance.
- Maîtrise des IDE, des outils de débogage et de profiling, et de Git
- Solide connaissance des principes, méthodologies et bonnes pratiques de tests logiciels
- Solide expérience avec les outils de build (Maven, Gradle), de CI/CD (Jenkins idéalement), et des outils de conteneurisation (Docker)
- Maîtrise des outils d'IA pour améliorer la productivité en matière de conception, de développement et de documentation
- Capacité à communiquer en français et en anglais
- Atout : Expertise en matière de sécurité (OAuth2, JWT, OIDC, KeyCloak, Spring Security)
- Atout : Expérience avec des outils de monitoring (Prometheus, Grafana)
- Atout : Expérience dans un rôle de responsable technique ou responsable d'équipe
Autres compétences
- Curiosité naturelle et soif d'apprendre de nouveaux concepts ou de nouvelles technologies
- Capacité à comprendre le domaine d'affaire et les besoins des utilisateurs finaux
- Souci du détail et de la satisfaction des clients
- Habilités de communication et d'écoute permettant de faciliter le travail en équipe et l'amélioration continue
- Capacité à travailler de manière rigoureuse, de leader par l'exemple et à s'adapter rapidement
- Sens de l'initiative et proactivité permettant d'éviter les blocages, demander de l'aide et proposer des solutions
- Capacités d'analyse et de débogage facilitant la compréhension et la résolution de problèmes
- Capacité à mentorer des développeurs moins expérimentés
Sprachkenntnisse
- French
Dieses Stellenangebot wurde von einem unserer Partner veröffentlicht. Sie können das Originalangebot einsehen hier.