Visionairy
Intelligence artificielle / Machine Learning, Logiciels, SaaS / Cloud Services
Orsay, Palaiseau
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%
2
mises en prod par mois
Technologies et outils
Python
95%FastAPI
60%PostgreSQL
50%NumPy
40%Flask
40%SQLite
20%MongoDB
20%Redis
10%OpenCV
5%CUDA
5%Vite JS
100%TypeScript
100%React
100%GatsbyJS
5%Docker
100%OVH
80%Git
70%Terraform
50%Azure
20%
Backend
Frontend
Devops
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
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.
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)
Derniers jobs
Aucune offre en ce moment, revenez d'ici quelques jours !