Colisweb
L'équipe Tech
Le pôle produit (20 personnes fin 2022) a pour mission de réaliser, maintenir, faire évoluer et opérer le logiciel et le système d'information de Colisweb, utilisé par différents acteurs : livreurs et gérants de société de transport, magasins et enseignes, manutentionnaires dans les hubs, et administrateurs internes.
L'équipe a un faible turnover; nous ne faisons appel à de la sous-traitance qu'exceptionnellement pour nous aider à monter en expertise sur des technologies particulières (ex: mise en place de EKS, tuning de la performance SQL).
La qualité est un enjeu primordial pour nous et chacun est responsable à son niveau. Les développeurs s'assurent que leurs développements sont fiables en production.
Répartition des collaborateurs
Equipe Produit
30%
R&D
10%
Equipe technique
60%
15-20
microservices et frontends
Technologies et outils
Scalacheck
100%Scala
100%Ruby On Rails
100%Resque
100%RabbitMQ
100%ReasonML
100%React
100%Terraform
100%Kubernetes
100%Helm
100%GitLab
100%Git
100%Docker
100%AWS
100%Amazon EKS
100%Amazon EC2
100%
Backend
Frontend
Devops
Nous sommes tous convaincus de l'apport de la programmation fonctionnelle et d'un compilateur avec typage fort, qui réduisent le risque de bugs. L'écriture des tests est également facilitée grâce à l'architecture hexagonale (sur le backend)
Organisation et méthodologies
Nous avons une approche de type agile, en flux tiré. Les demandes d'évolutions sont priorisées par le PM en fonction des estimations d'impact (pour Colisweb) et d'effort de réalisation. Le PO détaille les spécifications métier des sujets les plus prioritaires. Dès que l'équipe a la capacité de démarrer un nouveau sujet de développement, nous lançons une "squad" avec un lead dev qui définit la conception technique et coordonne les développements dans les différents services. Une fois les développements terminés, la recette est effectuée ainsi que des tests automatisés de non régression. Notre chaîne de CI/CD nous permet de déployer à tout moment. Le travail en pair programming est encouragé, l'alternative étant une revue de code systématique avant le passage en production.
Projets et défis techniques
Le métier de Colisweb évolue des livraisons au départ des magasins, vers les livraisons au départ des entrepôts.
Notre logiciel doit donc maintenant permettre de communiquer avec les manutentionnaires dans les entrepôts, pour leur transmettre le détail des commandes à réceptionner, suivre les colis qu'ils scannent à la réception, les aider à préparer les tournées.
De plus nous allons cette année dépasser les 50% de livraisons organisées en tournées, chaque optimisation des algorithmes qui les calculent et chaque simplification des actions humaines pour assigner les tournées aux bons livreurs apportent énormément de valeur !
Suite au rachat par le groupe ID Logistics, nous allons accélérer notre développement à l'international, ce qui implique forcément des nouveaux challenges techniques pour rendre le logiciel compatible avec les spécificités de chaque pays : langue, format des adresses et des téléphones, découpage géographique ... Ce sujet amène aussi des challenges en termes de scalabilité, ainsi que le besoin d'isoler des équipes de pilotage des livraisons par pays ou région.
Processus de recrutement
- 20-30 min en visio pour faire connaissance avec l'équipe, via le CTO ou un manager technique. On vérifie l'adéquation entre les attentes en terme de méthodes de travail, technos, fourchette salariale, date de dispo ...
- test technique à réaliser en 1 semaine : il s'agit d'un service simple à réaliser dans des conditions similaires à celles de notre équipe, pour valider qu'on a envie de travailler ensemble
- retour écrit effectué par des membres de l'équipe avec les points appréciés et des idées d'amélioration
- 90 min en visio ou présentiel avec 2-3 personnes de l'équipe, dont le futur manager. On commence par 40 min de pair-programming pour améliorer 1 ou 2 points de l'exercice ensemble et on enchaine avec quelques questions sur la technique, l'architecture ... en fonction du profil du candidat.