/

Dev Full Stack Sénior Java / Angular en Freelance

--Casablanca / Rabat--
Ref. :
006091

DESCRIPTION DE LA MISSION. 

 

Intégré(e) dans les équipes DF Services Marchands le/la consultant(e) aura pour mission de développer et maintenir des applications back-end et Front pour en utilisant des technologies Java, Spring et Angular. Vous contribuerez à la conception, au développement et à la mise en œuvre de nouvelles fonctionnalités, ainsi qu'à l'amélioration des systèmes existants. Vous travaillerez en collaboration avec les équipes d'ingénieurs front-end, les équipes produit et les équipes opérationnelles pour garantir la qualité et la performance des applications.

 

ENVIRONNEMENT TECHNIQUE ET EXPERTISES NÉCESSAIRES.           

Frontend

  • Angular 19+ : Maîtrise des composants, directives, RxJS, gestion d’état (NgRx ou Angular Signals), Lazy Loading.
  • Tests E2E : Expérience avec Playwright pour l’automatisation des scénarios utilisateur.
  • Performance : Optimisation du temps de chargement, SSR si applicable.

Backend

  • Java 21 : Utilisation avancée (Records, Pattern Matching, Virtual Threads).
  • Spring Boot 3.2+ : Développement d’API RESTful sécurisées (Spring Security, JWT).
  • Spring AI : Intégration de modèles d’IA générative ou prédictive (ex. ChatGPT, Gemini).
  • GraalVM : Compilation native pour réduire l’empreinte mémoire et améliorer les temps de démarrage.

Architecture & Bonnes Pratiques

  • Architecture Hexagonale / DDD : Conception modulaire avec séparation stricte des couches (Domain, Application, Infrastructure).
  • Clean Code : Respect des principes SOLID, KISS, DRY.
  • Craftsmanship : Contribuer à l’amélioration continue (Test coverage, Sonar, YAGNI…).
  • Méthodologies agiles : Maîtrise de SCRUM, TDD/BDD avec couverture ≥ 80 %.

Tests & Qualité

  • Karaté : Tests d’API automatisés.
  • Gatling : Tests de charge et de stress.
  • TDD/BDD : Tests pilotés par le comportement avec une forte couverture.

DevOps & Cloud

  • Docker / Kubernetes : Déploiement de microservices dans des clusters managés (AWS EKS, GCP GKE).
  • GitLab CI/CD : Pipelines automatisés pour build, test, déploiement, monitoring.
  • Monitoring : Prometheus / Grafana ou équivalent.

Autres 

  • Expériences significatives avec des architectures microservices et event-driven. 
  • Expériences avec les bases de données relationnelles et/ou orientée document.
  • Familier avec le versionning, notamment Git.
  • Compréhension et usage des principes de craftsmanship.
  • Contribuer à l'amélioration de la qualité du produit (Test coverage, Sonar, SOLID, YAGNI…)
  • Participer à toutes les phases du cycle de développement logiciel, de la conception en passant par la mise en production et le run.
  • Contribuer à l'amélioration continue des pratiques de développement.
  • Assurer la maintenance et l'évolution des applications existantes.

 

MÉTHODES, ORGANISATIONS ET INTERACTIONS.

  • Leadership technique : Capacité à mentorer des juniors et à animer des revues de code.
  • Excellente communication écrite et orale : Bonne communication écrite et orale en français pour des interactions fluides avec le métier et en anglais pour les réunions techniques internationales
  • Adaptabilité : Gestion de projets avec priorisation dynamique 
  • Esprit d'analyse et d'amélioration continue : Capacité à évaluer le code et ses impacts, ainsi qu'à remettre en question les solutions existantes pour les améliorer.
  • Capacité de prise de recul : Aptitude à évaluer les problématiques avec objectivité et à proposer des solutions d'amélioration et approche structurée pour déboguer des systèmes distribués.
  • Capacité à respecter les délais tout en maintenant des standards élevés.
  • Esprit d'équipe : Capacité à collaborer efficacement avec les membres de l'équipe pour atteindre des objectifs communs.

 

NIVEAU ET TYPE D’EXPERTISE REQUIS.

  • Diplômé(e) d’un Bac+5 en école d'ingénieur ou équivalent universitaire avec une spécialisation en informatique, ou justifiant d'une expérience significative équivalente
  • Expérience de plus de 7 ans en Java / Angular
  • Une expérience dans le secteur du commerce de détail ou de la grande distribution serait un plus.