Colisweb

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.

Colisweb
Colisweb

Répartition des collaborateurs

  • Equipe Produit

    30%

  • R&D

    10%

  • Equipe technique

    60%

Technologies et outils

Backend

  • Scalacheck
    Scalacheck
    100%
  • Scala
    Scala
    100%
  • Ruby On Rails
    Ruby On Rails
    100%
  • Resque
    Resque
    100%
  • RabbitMQ
    RabbitMQ
    100%

Frontend

  • ReasonML
    ReasonML
    100%
  • React
    React
    100%

Devops

  • Terraform
    Terraform
    100%
  • Kubernetes
    Kubernetes
    100%
  • Helm
    Helm
    100%
  • GitLab
    GitLab
    100%
  • Git
    Git
    100%
  • Docker
    Docker
    100%
  • AWS
    AWS
    100%
  • Amazon EKS
    Amazon EKS
    100%
  • Amazon EC2
    Amazon EC2
    100%

Data

  • Google BigQuery
    Google BigQuery
    100%

Mobile

  • React Native
    React Native
    100%

Continuous Integration

  • Scala Test
    Scala Test
    100%
  • GitLab CI
    GitLab CI
    100%
  • Cypress
    Cypress
    100%
  • Cucumber
    Cucumber
    100%

Project Management

  • Notion.so
    Notion.so
    100%

IDE

  • Visual Studio Code
    Visual Studio Code
    100%
  • RubyMine
    RubyMine
    100%
  • IntelliJ
    IntelliJ
    100%

Monitoring

  • Datadog
    Datadog
    100%

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.