Expériences
Je rejoindrai les équipes de développement de mon client pendant trois mois afin d'intégrer une équipe de quatre développeurs, dans un cadre agile. Je me joindrai aux développements de la codebase Rust, et formerai mes collègues plus juniors en Rust aux pratiques de production du langage.
Mes missions seront entre autres :
- Contribuer Ă la maintenance des flux existants
- Réaliser des refontes des solutions existantes no code vers du Rust
- Contribuer aux migrations fonctionnelles du legacy vers le nouveau socle Rust
- Revoir et challenger les bases de données et workflows existants
- Collaborer étroitement avec le lead développeur et les autres membres de l’équipe pour sécuriser la réussite des projets.
- Rust
- Architecture Hexagonale
- DevContainers
- Nix
- TDD
- DDD
- DevOps
J'ai rejoint Enedis en membre fondateur de l'équipe i2R, en charge du développement du boitier AO3. Notre équipe est responsable du logiciel présent sur le boitier AO3, en charge de faire la liaison avec les boîtiers Linky Pro et le SI Enedis.
Sur ce projet où tout était à faire, mes fonctions comprennent entre autres:
- Réappropriation des connaissances en interne du fonctionnement des boitiers constructeur
- Mise en place d'une stack de dev et CI uniforme basée sur les DevContainers
- Mise en place d'architecture hexagonale, accompagnement et formation de l'équipe aux problématiques de qualité logicielle
- Etude et réappropriation des connaissances concernant le fonctionnement des modems via port série
- Introduction de Rust pour le logiciel de fonctionnalités critiques, accompagnement et formation de l'équipe
- Création d'un firmware en Rust interagissant avec le modem par port série
- Présentation du projet auprès de différentes équipes et responsables
- Reverse-engineer des compteurs Enedis SAPHIR et PME-PMI, via les protocoles DLMS et COSEM
Au sein de l'équipe, ce à quoi j'ai activement pris part :
- Création d'une distribution Linux embarquée spécifique au hardware de l'AO3 avec Yocto
- Participation à l'élaboration des spécifications incluses dans l'appel d'offre
- Élaboration du backlog
- Développement du logiciel en Java et Rust régissant le boitier
- Java
- Rust
- Architecture Hexagonale
- DevContainers
- TDD
- Linux embarqué
- Yocto
- Modems
- DevOps
Facildata est une startup bordelaise visant à simplifier la maintenance d'équipements, en obtenant grâce à un QR Code, l'intégralité des maintenances effectuées sur ce dernier.
J'ai effectué, au rythme de quelques heures par semaine en Freelance, du conseil et du développement sur le projet, afin de poser des bases de développement saines pour une reprise des développements en interne. La mission a duré 5 mois.
- Réalisation d'un audit sur le code existant suite à des problématiques de maintenabilité
- Prise en charge de la refonte logicielle
- Choix des technologies les plus adaptées à une reprise du logiciel par des personnes en alternance, modularité pour une évolution future du logiciel
- Définition des besoins et des spécifications métier, établissement d'un backlog par priorité
- Création d'une architecture logicielle en monorepo, hexagonale, testée de bout en bout
- Formation au développement Rust, Go, SvelteKit et Typescript, aux pratiques de code propre du développeur en alternance m'accompagnant
- Réalisation de tests techniques
- Établissement de pipelines d'intégration et de déploiement continu
- Mise en place d'une organisation agile en Kanban, établissement d'un vocabulaire commun où le métier peut directement intervenir et comprendre les tests
- Golang
- Rust
- Typescript
- SvelteJS
- Playwright
- Nix
- Docker
- Linux
- Postgres
- MQTT
- Tests d'intégration, BDD, TDD, Architecture Hexagonale
- Gitlab, Gitlab CI
- Github, Github Actions
Scalingo est un hébergeur Français souverain, qui propose une solution orientée autour de l'expérience des développeurs. Je les ai rejoint en tant qu'Ingénieur Logiciel Fullstack Senior pendant 1 an et 5 mois.
- Organisation du backlog et des équipes
- Elaboration de specifications métiers
- Etablissement du Kanban dans les équipes
- Développement de procédés afin de fluidifier les échanges asynchrones dans l'équipe
- Prise en charge de projets de développement par petites équipes
- Fenêtres de maintenance automatiques pour les maintenances de base de données des utilisateurs
- Correction d'une faille de sécurité potentielle sur les review apps des utilisateurs
- Développements au sein de l'équipe
- Pris part au développement de multiples fonctionnalités en binôme
- Correction de bugs et maintenance de la plateforme
- Dépréciations de versions de bases de données
- Conception et procédures de migration de bases de données avec le moins d'impact possible pour les utilisateurs
- Documentation sur le site public de Scalingo
- Organisation de meetups internes, centrés autour de l'échange et de l'humain
- Support en contact direct avec les utilisateurs de la plateforme
- Prise en charge des questions et problèmes des utilisateurs
- Investigation et correction de problèmes sur l'infrastructure de Scalingo
- Pratique et sensibilisation autour de principes d'artisanat logiciel
- Développement en TDD et BDD
- Sensibilisation autour du clean code et des tests au sein des équipes
- Réalisation de tests d'intégration pour la migration de versions de bases de données Postgres des utilisateurs
- Golang
- Vue
- Typescript
- Tests d'integration
- TDD
- Docker
- Linux
- Postgres
- Git
- Github Actions
- Agile Kanban
- Notion
Malt est une plateforme française visant à faciliter le lien entre les freelances et les clients finaux. J'ai rejoint l'équipe Finance afin de contribuer aux développements front et back pendant 3 mois.
- Pris part aux développements en sein de l'équipe sur des fonctionnalités mineures, dans le cadre de l'onboarding
- Mise en place de tests d'intégration afin de sécuriser des parcours utilisateur
- Java
- Spring Boot
- Vue JS
- Kotlin
- Cypress
- Gitlab CI
SNCF Connect & Tech est le domaine informatique de la SNCF, visant à faciliter l'intéraction des françaises et français avec la société de transports. J'ai pris part aux développements dans l'équipe en charge de CMI : le Calculateur Multimodal d'Itinéraires, qui se charge de fournir les meilleurs itinéraires possibles lorsqu'un utilisateur cherche à aller d'un point A à un point B. L'équipe est composée de 7 développeurs•euses, 1 PO et 1 SM, et fonctionne en Kanban. La mission a duré 11 mois.
- Refonte de l'architecture backend
- Développements et maintenances autour du logiciel, de concert avec le PO
- Participation et présentation de projets lors de hackathons internes
- Kotlin
- Java
- Spring Boot
- AWS
- REST
- Redis
- Gitlab CI
- Kanban
Dalkia est une entreprise filiale d'EDF, spécialisée dans les services énergétiques. J'ai rejoint l'équipe Alpha au sein des Ateliers Numériques fonctionnant en Scrum pendant 3 ans. La mission s'est effectué pour La Combe Du Lion Vert, après une formation d'un mois autour du Software Craft.
- Implication dans la rédaction du backlog avec un échange constant avec le PO
- Contribution à l'aspect Devops de nos logiciels, de concert avec les Administrateur•ices Système
- Organisation d'évènements internes à La Combe Du Lion Vert dans un but pédagogique d'artisanat logiciel
- Mise en place d'un environnement de machines sous Ubuntu afin de fluidifier les développements des équipes des Ateliers Numériques
- Implication dès le début du projet dans une application de référentiel métier de Dalkia
- Source de vérité pour les autres applications du SI Dalkia, activement utilisée par une trentaine de modélisateur•ices du SI Dalkia
- Pair programming
- TDD
- BDD
- Organisation avec le Scrum Master d'ateliers utilisateurs
- Création d'un format de rétrospective fluide utilisé par l'ensemble des Ateliers Numériques
- Création d'une application gérant les primes des technicien•nes.
- Pair programming, TDD, BDD et Architecture Hexagonale, Cucumber
- Java 11
- Spring Boot
- Typescript
- Angular
- Storybook
- Postgres
- AWS
- Architecture Hexagonale, TDD, Cucumber
J'ai participé à la mise en place de solutions internes pour le département 2AV: Aide à la Vente. Dans un cadre agile, j'ai réalisé des outils numériques aidant le département 2AV avec Spring Web et React, et mis en place les fondations pour les tests d'integration de plusieurs projets.
- Java
- Spring Boot
- React
J'ai développé un outil statistique avec Spring Boot détectant les déconnexions de voitures à partir d’une source de messages Kafka, et ai migré un broker de messages single-node vers un cluster.
J'ai pris part à la conception d'un protocole de transmissions de messages pour les véhicules connectés, et en ai créé un prototype assurant la transmission des données des périphériques embarqués dans les véhicules Peugeot.
- Java
- Kafka
- Spring Boot
- Cassandra
- Apache Flink
DG2R est un intégrateur d'automates industriels basés sur Arduino. Je l'ai rejoint pendant 6 mois dans le cadre de mon projet de fin d'études. Mes réalisations ont été faites seul.
- Mise en place d'une infrastructure logicielle interne Ă DG2R
- Mise en place d'un Gitlab et Nextcloud interne afin de faciliter la collaboration des employés de DG2R
- Création d'interfaces de contrôle de température au sein des locaux
de la Mairie de Boulogne Billancourt
- Conception d'interfaces sur une interface tactile embarquée Linux
- Travail avec les employés de la mairie afin de connaître leurs besoins
- Intégration avec le système de contrôle existant Continuum
- Développement du site internet marchand de DG2R
- Conception d'un site marchand avec Python, Django et React, mettant en avant les produits vendus par DG2R
- Mise en place d'une pipeline de déploiement continue sur un Gitlab
- Arduino, C
- Linux
- Raspberry Pi
- Informatique embarquée
- Python
- Micropython
- Postgres
- Docker
- React