Senior Backend Developer (Winnipeg)

Senior Backend Developer (Winnipeg)

23 Oct
|
Nexfeld Group
|
Winnipeg

23 Oct

Nexfeld Group

Winnipeg

Join our team and take your career to the next level.

Job Summary

Expretio recherche un.e Développeur.euse 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éveloppeur.euse 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.

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 similar)

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 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 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 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

Key Responsibilities

Technical

Collaborate with the Product team to design, assess technical feasibility, and implement solutions that meet client and company needs

Actively participate in technology choices and architectural evolution

Write technical specifications for complex features when necessary





Participate in modelling and implementing the persistence layer (PostgreSQL or MongoDB)

Design, develop, and maintain backend services and APIs (REST, GraphQL)

Conduct code reviews and provide constructive feedback to team members

Produce unit and integration tests to validate developed features and ensure non-regression

Collaborate with the QA team to help validate developed features and assist when necessary

Participate in maintaining features from previous versions of the application

Encourage and participate in reducing technical debt and optimising application performance

Collaborate with the DevOps manager to set up and maintain the continuous integration chain (GitLab, Jenkins)

Collaborate with the Support team to analyse and resolve critical issues quickly and effectively

Collaborate with clients and non-R&D; teams to provide technical expertise when needed

Leadership

Act as a mentor to developers to support their skills development

Actively collaborate with other team members and teams to ensure features are delivered on schedule

Actively participate in retrospectives and propose continuous improvements to development practices

Identify, communicate, and mitigate risks and obstacles in feature implementation

Ensure compliance with standards and security norms and ensure their respect within the team

Participate in the recruitment, onboarding, and training of intermediate and senior developers

What you bring to the role

Preferred Education and Experience

Bachelor’s degree in Computer Science, Software Engineering, or equivalent

8+ years of professional experience in Java development, including complex projects involving multiple teams

5+ years of experience with Spring Boot and various Spring frameworks

5+ years of experience with SQL, Hibernate, and PostgreSQL (or similar RDBMS)

4+ years of development experience in an Agile environment

3+ years of experience with NoSQL and Messaging technologies (Kafka, RabbitMQ or similar)

Experience in performance optimisation and scalability challenges

Experience in mentoring and developing other developers

Technical Skills

Mastery of Java 8 and 21+ with a solid understanding of modern Java features

Advanced knowledge of architecture, OOP principles, and design patterns

Ability to understand complex business logic and some mathematical concepts

Advanced expertise in Spring Boot and the Spring ecosystem (Spring MVC, Spring Data, Spring Security)

Advanced skills in SQL, JPA, and Hibernate, including performance optimisation

Strong knowledge in NoSQL database modelling (MongoDB)

Experience in designing and implementing secure and high-performance REST and GraphQL APIs

In-depth understanding of event-driven architectures and Messaging technologies (RabbitMQ, Kafka)

Knowledge of Java EE technologies (EJB, WildFly) for maintenance tasks

Mastery of IDEs, debugging and profiling tools, and Git

Robust knowledge of software testing principles, methodologies, and best practices

Solid experience with build tools (Maven, Gradle), CI/CD tools (ideally Jenkins), and containerisation (Docker)

Mastery of AI tools to improve productivity in design, development and documentation

Ability to communicate in French and English

Asset: Expertise in security (OAuth2, JWT, OIDC, KeyCloak, Spring Security)

Asset: Experience with monitoring tools (Prometheus, Grafana)

Asset: Experience in a technical lead or team lead role

Other Key Skills and Competencies

Natural curiosity and eagerness to learn new concepts or technologies

Ability to understand business domain and end-user needs

Attention to detail and customer satisfaction

Communication and listening skills to facilitate teamwork and continuous improvement

Ability to work rigorously, lead by example, and adapt quickly

Initiative and proactivity to avoid blockages, seek help, and propose solutions

Analytical and debugging skills to facilitate problem understanding and resolution

Ability to mentor less experienced developers

Worker Type

Regular

Number of Openings

1

📌 Senior Backend Developer (Winnipeg)
🏢 Nexfeld Group
📍 Winnipeg

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: senior backend developer (winnipeg) / winnipeg

Subscribe to this job alert:

Get the latest job offers by email for: senior backend developer (winnipeg) / winnipeg