Visionairy

Visionairy

  • Intelligence artificielle / Machine Learning, Logiciels, SaaS / Cloud Services
  • Orsay, Palaiseau
  • Voir le site

L'équipe Tech

Construire les outils logiciels et les solutions qui permettent d'améliorer voire de transformer notre manière de produire. 

L'équipe tech fait sans cesse face à de nouveaux défis techniques, souvent liés aux contraintes du secteur industriel : de l'ergonomie d'interface pour les opérateurs, de l'interaction avec du matériel de l'usine (caméras HR, PLCs), des architectures cloud mixtes et hybrides, de la conception de briques d'intelligence artificielle, qu'elle doit addresser en mettant l'accent sur la fiabilité et la rapidité des systèmes développés. 

Afin de les relever, l'équipe s'organise en différents pôles (Produit, R&D) étroitement liés où chacun prend la responsabilité de son périmètre mais où tout le monde contribue activement à construire le produit de manière agile.. 

Répartition des collaborateurs

  • Backend

    60%

  • Frontend

    10%

  • Product / Design

    10%

  • R&D

    20%

Technologies et outils

    Backend

    • Python
      Python
      95%
    • FastAPI
      FastAPI
      60%
    • PostgreSQL
      PostgreSQL
      50%
    • NumPy
      NumPy
      40%
    • Flask
      Flask
      40%
    • SQLite
      SQLite
      20%
    • MongoDB
      MongoDB
      20%
    • Redis
      Redis
      10%
    • OpenCV
      OpenCV
      5%
    • CUDA
      CUDA
      5%

    Frontend

    • Vite JS
      Vite JS
      100%
    • TypeScript
      TypeScript
      100%
    • React
      React
      100%
    • GatsbyJS
      GatsbyJS
      5%

    Devops

    • Docker
      Docker
      100%
    • OVH
      OVH
      80%
    • Git
      Git
      70%
    • Terraform
      Terraform
      50%
    • Azure
      Azure
      20%

Github ⚙️

Au coeur de l'équipe tech, Github permet aux développeurs de développer, mais aussi de suivre l'avancement des sprints, le backlog, la roadmap, les déploiements, les versions, les secrets, la documentation, tout cela sur le même outil voire même depuis le terminal.

Python ⚙️

C'est l'écrasante majorité du backend de la stack, nous l'utilisons via différentes librairies pour construire des APIs, des briques d'intelligence artificielle, les orchestrer dans des pipelines, déployer des infrastructures, tout en suivant de près ses dernières fonctionnalités.

NVIDIA Jetson ⚙️

Compacts et performants, ce sont les micro-PCs d'architecture ARM sur lesquels nous déployons notre logiciel edge au coeur des usines, ils sont en relation avec des périphériques comme des automates, des robots, et d'autres capteurs..

Organisation et méthodologies

L'organisation est capable d'opérer de manière agile sur le temps courts (sprints de 2 semaines) et d'avoir une vision par projets sur le temps long (à l'échelle du trimestre). Nous adoptons une méthodologie d'inspiration agile, que nous améliorons de manière pragmatique et régulière. Quelques rituels :

  • Daily = la classique standup, 15min chrono
  • Pre-release = 2 jours pendant lesquels l'équipe est dédiée au test de la nouvelle release, corrige les bugs en live
  • 1to1 = un meeting libre de 30 min entre le manager et le membre de l'équipe tech sur une base mensuelle
  • Design meetings = brainstorming de 45-60min pour attaquer un sujet difficile avec toute l'équipe et un plan d'actions à la clé

Projets et défis techniques

Projet StateMachine

Projet StateMachine

Pour garantir un système robuste, nous nous sommes appuyés sur le pattern de la machine à états. Conceptuellement, nous définissons tous les états notables du système en mode "production" que nous devons pouvoir observer ainsi que toutes les transitions entre ces états (capture d'image, insert en db). Enfin, nous avons également ajouté un moyen d'avoir des transitions basées sur des exceptions. Cela permet une gestion non intrusive des erreurs dans le code python, ce qui est naturel pour les développeurs python. Ces transitions peuvent être automatiques, conditionnelles ou non, permettant un déroulement plus "automatisé" de la logique.

Projet Cyclopes

Pour s'interfacer avec différentes caméras industrielles (hardware vendors) sans ré-écrire du code systématiquement sur des fonctions de bases, nous avons développé un wrapper qui permet d'intégrer facilement de nouveaux drivers de caméras industrielles. Cyclopes permet de commander les caméras issues des principaux fabricants du marché comme Basler, IDS, Baumer etc., avec la même interface CLI ou Python (paquet). La gestion des fonctionnalités spécifiques de chaque vendor, l'intégration dans une stack backend plus performante (rust, c++), sont les prochains jalons de ce projet.

Projet Cyclopes

Processus de recrutement

Présenter les Notre process reste relativement simple, il n'a pas vocation à être figé. Nous l'adaptons aux circonstances et aux candidats. Même si nous proposons des postes dont la part de télétravail est importante, nous rencontrons systématiquement les candidats en présentiel à chaque recrutement. Sur chaque poste, nous essayons d'être le plus transparents possibles sur les conditions de travail, les missions et le périmètre du poste. L'équipe technique participe activement aux recrutements.

  • Etape 1 : Intro (45min) - Discussion avec Yannis, CTO (45min)
  • Etape 2 : Test de programmation en ligne (1h)
  • Etape 3 : Technique (1h30) - Code interview avec Julien, ingénieur R&D (30min) - System Design avec Stéphane, Lead Dev (30min) - Discussion technique avec l'équipe que rejoint le candidat (30min)
  • Etape 4 : Fit (45min) - Entretien Fit avec Daniel, CEO et Yannis (30min) - Visite locaux et rencontre du reste de l'équipe (15min)