Développeur Java principal - Mississauga, Ontario

Résumé du poste :

En tant que développeur Java principal, vous serez chargé de diriger une équipe de développeurs dans la conception, le développement et la maintenance de systèmes logiciels complexes. Votre rôle consistera à utiliser des technologies Java avancées, telles que Spring Boot, Java 8 et Apache ActiveMQ, pour créer des applications évolutives et efficaces. En outre, vous devrez concevoir des solutions orientées objet, telles qu'un système de parking, et diriger la mise en œuvre d'architectures orientées service (SOA).

Principales responsabilités :

Diriger les efforts de développement :

  • Diriger la conception et le développement d'applications Java évolutives en utilisant Spring Boot, Java 8 et les technologies Java de base.
  • Concevoir et mettre en œuvre des architectures orientées services (SOA) qui soutiennent les objectifs commerciaux de l'entreprise.
  • Assurer le leadership technique et le mentorat des développeurs juniors, en les guidant vers les meilleures pratiques et les techniques de codage avancées.

Programmation Java avancée :

  • Utiliser les fonctionnalités de Java 8, notamment l'API Stream, les expressions lambda et la programmation fonctionnelle, pour écrire un code propre et efficace.
  • Mettre en œuvre le multithreading et la concurrence pour optimiser les performances de l'application.
  • Développer et maintenir des collections et des structures de données qui garantissent une utilisation optimale de la mémoire et de la vitesse de traitement.

Conception du système :

  • Concevoir des systèmes et des applications complexes, tels qu'un système de classement des parkings, pour résoudre des problèmes réels, en mettant l'accent sur les principes de conception orientée objet.
  • Collaborer avec les parties prenantes pour recueillir les besoins et les traduire en spécifications techniques et en documents de conception.
  • Veiller à ce que les conceptions soient évolutives, faciles à entretenir et conformes aux meilleures pratiques du secteur.

Intégration et messagerie :

  • Intégrer Apache ActiveMQ pour la messagerie et la communication entre les systèmes distribués.
  • Concevoir et mettre en œuvre des systèmes robustes et tolérants aux pannes, capables de gérer des volumes importants de transactions et de données.

Collaboration et communication :

  • Travailler en étroite collaboration avec des équipes interfonctionnelles, notamment les chefs de produit, les ingénieurs d'assurance qualité et les équipes opérationnelles, afin d'assurer la réussite des projets.
  • Communiquer des concepts techniques complexes aux parties prenantes non techniques, en veillant à l'adéquation entre les objectifs de l'entreprise et les solutions techniques.

Amélioration continue :

  • Rester au courant des dernières avancées en matière de technologies Java et de pratiques de développement de logiciels.
  • Remanier et améliorer en permanence les bases de code afin d'accroître les performances, l'évolutivité et la facilité de maintenance.
  • Défendre et mettre en œuvre les meilleures pratiques en matière de qualité du code, de tests et de processus de déploiement.

Qualifications :

  • Licence ou master en informatique, génie logiciel ou dans un domaine connexe.
  • 7+ ans d'expérience en développement Java, avec un accent sur Spring Boot, Core Java, et le multithreading.
  • Expérience confirmée de la direction d'équipes de développement et de l'architecture de systèmes logiciels complexes.
  • Forte compréhension de l'architecture orientée services (SOA) et de sa mise en œuvre dans des systèmes à grande échelle.
  • Maîtrise des fonctionnalités de Java 8, notamment l'API Stream, les expressions lambda et la programmation fonctionnelle.
  • Expérience avec Apache ActiveMQ ou des technologies de messagerie similaires.
  • Excellentes compétences en matière de résolution de problèmes et souci du détail.
  • Solides compétences en matière de communication et capacité à travailler efficacement dans un environnement d'équipe collaboratif.

Compétences souhaitées :

  • Expérience de la conception de systèmes orientés objet, tels qu'un système de classe de parking, à partir de la base.
  • Connaissance d'autres cadres et technologies de messagerie.
  • Familiarité avec les pratiques DevOps et les pipelines d'intégration continue/déploiement continu (CI/CD).
  • Expérience des méthodologies de développement Agile.

Ce que nous offrons :

  • Salaire et avantages compétitifs.
  • Possibilités de croissance et de développement professionnels.
  • Un environnement de travail dynamique et collaboratif où l'innovation est encouragée.
  • Horaires de travail flexibles.

Pour postuler : Si vous êtes un développeur Java chevronné avec une expérience de leadership et une passion pour les technologies de pointe, nous voulons vous entendre !

Veuillez activer JavaScript dans votre navigateur pour remplir ce formulaire.
Nom
Cliquez sur les fichiers ou faites-les glisser dans cette zone pour les télécharger. Vous pouvez télécharger jusqu'à 5 fichiers.