Zoom sur l'équipe Tech de Fieldbox
Ancien professeur en biophysique à l’Université UCLA et spécialiste en analyse de données, Guillaume intègre FieldBox il y a trois ans. Il nous présente aujourd’hui sa mission principale au sein de l’entreprise.
Notre objectif consiste à aider les industriels à exploiter leurs données digitales pour optimiser leurs opérations. Nous intervenons dans des domaines très variés (lignes de production, énergie, logistique), mais toujours dans le secteur de l’industrie.
Dans ce cadre, l’IA est mise en place non pas pour remplacer les hommes mais pour les appuyer dans leur travail et leurs tâches quotidiennes. Elle sert uniquement à optimiser les process.”
Dernièrement nous avons développé avec la RATP une application métier pour faciliter le travail des opérateurs à aiguiller les trains et fluidifier le traffic sur la ligne B du RER.
Du simple algorithme au deep learning, les solutions sont construites en concordance avec les règles métier et la problématique de chacun de nos clients.
Parfois, les solutions se trouvent dans des choses plus simples, moins chères et plus efficientes.
Ce n’est pas parce que le deep learning est fancy, un peu catchy, que c’est forcément ce qu’il y a de plus adapté à leur conjoncture.
Intégration des humanoïdes à Paris, Bordeaux et Singapour
- Chez Field Box, un parrain accompagne la nouvelle recrue pendant les trois premiers jours, notamment pour gérer les accès aux outils internes (GitLab, Slack, gestionnaire de mots de passe). Une fois le PC du collaborateur bein seté, les questions RH (chargé de la présentation générale techniques, etc ...) sont également abordées.
- Une présentation des équipes et des métiers permet d’appréhender globalement la structure et son fonctionnement lors de l’onboarding interne.
- Sur les premiers projets, les nouveaux arrivants sont épaulés par des profils séniors, afin d'être guidés sur les manières de travail et les bonnes pratiques et nomenclatures utilisées par Fieldbox pour le dévelopement.
Segmentation de l'entreprise en trois Business Unit:
BUILD: cette équipe délivre principalement les projets. Elle gère aussi les appels d'offres et le pôle sales, puis elle déploie la solution client. 70 personnes environ.
RUN: est en charge de vérifier que tout ce qui a été buildé précédemment fonctionne dans de bonnes conditions. La Maintenance en Condition opérationnelle (MCO), veille à ce que le projet tourne correctement. Il y a donc souvent un suivi 24/24 et des astreintes. Le run comporte aussi un groupe Customer Success. 20 personnes
PRODUIT: à l’origine de la société, existait un produit: la “Fieldbox” qui servait à l’ingestion de données. Cependant, “Avec tous les outils open source déjà existants on se rendait compte qu’on était en train de réinventer la roue. Par conséquent, nous nous sommes focalisés sur ce qui était différenciant chez nous. Cela a donné naissance à un produit à part entière: La data entry. "
Une équipe de software engineers travaille sur ce service en interne, lui-même amélioré en fonction des feedbacks clients. 7 personnes
Dans ces business units, tous les corps de métier sont présents et le pôle technique n’est pas dissocié.
Une machine bien huilée:
Le déroulement d'un projet type implique la mise à disposition d'une petite équipe souvent composée d'un Project Manager pour gérer la relation client et s'assurer du bon déroulement du projet. Ce dernier est secondé par un Tech Lead qui pilote les aspects techniques, et encadre les software ingénieurs backend et frontend. L'ensemble de la roadmap est elle, gérée par un Product Owner et un scrum master.
Concernant la méthode, ils sont Agile flexible. “Nous essayons d'appliquer tous les principes de la méthode Agile, sans pour autant etre perturbés si l'ensemble des cérémonies ne sont pas suivies à la lettre.”. Si un daily saute, ce n’est pas très grave du moment que le travail est fait.
Les tickets du sprint sont établis, avec la création d’une nouvelle feature. Le développeur fait ensuite ses TDD, (écrit ses tests first et développe ensuite) ou inversement s’il préfère commencer par le développement. L’approche est assez libre, il y aura une code review quoiqu'il arrive. Les pré-commit viennent homogénéiser la code base au niveau stylistique, à chaque fois que du code est poussé.
L’ensemble des tests tourne après et un rapport est généré via GitLab runner. Chaque projet passe par les trois stades: développement / staging / production. Cela se fait sur Kubernetes ce qui permet une itération rapide.
Ils utilisent également la suite Cypress pour s’assurer qu’il n’y ait pas de régression. Enfin, il y a une étape de load testing pour vérifier que ça supporte bien la charge. Tous les mois environ, il y a une release en production sur les projets. Après trois sprints, les MAJ sont effectuées, on revoit les derniers patchs sécurité et toutes les questions de dépendance logiciel pour éviter trop de dettes techniques.
Systèmes cyber-physiques :
Fieldbox s'adapte à l’écosystème de chaque client. Les architectures sont souvent hybrides. Les données peuvent donc être stockées à la fois dans les data center des clients et sur le cloud. Les environnements diffèrent et cela génère une variété de projets et de challenges.
Leurs services managés le sont de manière self-hosted. Cela permet la maximisation de solutions open source pour le monitoring, ou en termes de base de données. Ainsi, les coûts du cloud provider sont réduits. Ils prennent en charge la maintenance de l’ensemble de la chaîne technique qui est managée par le biais de clusters cubes.
Technique très “custom”, qui favorise l’assemblage de briques afin d’optimiser les performances.
Par exemple, pour le compte de la RATP, ils ont créé une plateforme pour le suivi et la maintenance de l’ensemble de leurs assets en temps réel. Ils fournissent à la fois une expertise en data science, en intelligence artificielle, le tout intégré dans une solution logicielle.
Concernant le pipelining de données, Airflow est souvent utilisé ou même Argo s’il y a un besoin spécifique de calculs GPI pour la Computer Vision (caméras). Tous les systèmes pipeline ne permettent pas de le faire: Argo, oui.
Par rapport au slack de monitoring: tout est open source: Prometheus, Grafana, Vector…
Learning & deep technologie:
Beaucoup d’outils sont mis en place pour la veille techno et le maintien de la qualité. Parmis eux:
- La Tech watch: channel d’informations technologiques sur Slack.
- Le comité d’architecture software: se réunit toutes les deux semaines pour traquer et tester des nouvelles technos. Un POC en interne peut être réalisé pour démontrer l'intérêt d’un outil. Par exemple, le dernier en date, MIMIR (sorti il y a 2 mois), a été intégré dans la stack pour gérer les métrics de monitoring.
- Le Weekly Engineering: toute la boîte se retrouve le mercredi pour présenter de nouvelles problématiques.
- L’Advent of code, sur le principe du calendrier de l’avent: channel dédié qui compte et distribue des bonbons virtuels. Challenge mondial de code utilisant n’importe quel langage pour résoudre des petits défis techno chaque jour de Décembre.
La Tech Vision de Fieldbox:
Beaucoup d'efforts sont actuellement mis sur le développement d'une solution de MLOps intégrée, pour faciliter le monitoring de l'ensemble de la chaine de mise en production et MCO des modèles data science. En particulier, une petite équipe appelée "Labs" est en charge du développement d'algorithmes cutting edge pour faciliter la détection de drift dans les sources de données ou les prédictions faites. Cela permet notamment de pouvoir piloter des ré-entrainements automatiques des modèles lorsque les données évolues, et s'assurer de la bonne qualité des outputs des modèles.
Codes et langages:
Back-end : Python (pour la partie software comme pour la data science) Framework: Django DRF pour API
Front end : React
Si vous êtes un geek en puissance, pas de doute, cette entreprise est faite pour vous. Les datas et l’IA vous passionnent: cette entreprise est un fleuron dans le domaine.
Capitaine : Eh ordinateur ! Définir « FieldBox ».
Ordinateur de bord : Fieldbox : Pépite de la smart industry. Industry 4.0. Possède triple expertise : data science/ développement logiciel/ ingénierie industrielle. Deploy AI in Industrial Operations
- Vues401