contact@romainboijoux.com

Bonjour, je suis

Romain Boijoux.

Développeur Full-Stack Java/Angular

Ancien chef de projet, je suis maintenant développeur Full-Stack depuis 5 ans. Organisé et pragmatique, j’ai le sens des priorités. Passionné par mon métier, j’aime le travail en équipe pour contribuer à des projets stimulants.

En savoir plus

01. A propos

Ils m'ont fait confiance

J'ai obtenu un master en entrepreneuriat à l'ESSCA à la suite d'un double bachelor en Marketing et Relations Internationales avec la DBS et l'ESGCI. J'ai eu la chance de pouvoir vivre dans quelques villes : Paris, Angers, Bordeaux, Dublin, Budapest et Lisbonne. Après avoir effectué mes premières expériences professionnelles en gestion de projet, j'ai commencé à me former au développement web.

Après plusieurs mois d'apprentissage en ligne (JavaScript30, freeCodeCamp, CS50), j'ai terminé deux formations de développeur web à Montpellier via les organismes de formation Crealead et Diginamic. J'ai notamment obtenu la certification Oracle OCA Java 8 SE.

Grâce à cet apprentissage, j'ai pu rejoindre l'ESN Smile en 2020 dans leurs bureaux de Montpellier. J'ai travaillé pour plusieurs clients (Volkswagen, SMCP) mais c'est notamment pour la BNP que j'ai effectué ma mission principale. J'y réalisais les chiffrages et la conception des anomalies/évolutions, l'animation des points clients hebdomadaires, et les livraisons mensuelles.

J'ai ensuite pu rejoindre Capgemini pour une mission au Crédit Agricole. Au cours de cette expérience, j'ai principalement travaillé sur la création, la mise à jour et la livraison d'API REST, avec des pipelines Jenkins et GitLab. Une autre partie de ma mission était orientée vers le client, notamment via le chiffrage et l'analyse des besoins, mais aussi par l'animation d'un point de suivi hedbomadaire avec les équipe du CATS (Crédit Agricole Technologies et Services).

En 2023, j'intègre MagicPallet et rejoins une équipe de 4 développeurs et une product owner. Je participe notamment à l’amélioration d’un outil Saas en suivant la méthodologie Agile (sprints de 3 semaines) ainsi qu'aux ateliers techniques et fonctionnels pour préparer l’implémentation de nouvelles fonctionnalités.

Ces fonctionnalités sont implementées sur plusieurs microservices Java en suivant les principes de Domain Driven Design. Une importance est donnée aux tests unitaires et d’intégrations (avec mockito et MockMvc) ainsi qu’à la performance, notamment via des requêtes SQL natives. Pour le frontend nous utilisons Angular 18. Nous effectuons également une amélioration continue des pipelines GitLab pour rendre les déploiements plus rapides. Comme toute l’équipe, je participe aux revues de code de la grande majorité des merge requests.

J'ai également la chance de participer à la création d’une nouvelle application interne, hébergée chez GCP (Google Cloud Platform) avec : un back-end Java 21 en architecture monolithique et un front-end en Angular 18. Pour permettre une utilisation des données en temps réel par plusieurs utilisateurs nous avons implémenté des WebSockets. Auth0 a été privilégié pour l'authentification, notamment pour la gestion des roles. Dans le but de maximiser les performances de l’application, nous avons séparé l'écriture et la lecture de données en suivant le modèle de conception CQRS (Command Query Responsibility Segregation).

02. Compétences

Back-end

Java
Java 21
Certification OCA Java SE 8 (2019)
Spring Boot
Spring Boot 3
Maven
Maven
Hibernate
Hibernate
Mockito/MockMvc
Mockito, MockMvc

Front-end

Angular
Angular 18
TypeScript
TypeScript
JavaScript
JavaScript
CSS & SCSS
CSS & SCSS
HTML
HTML

Divers

Git
Git
Gitlab CI/CD
Gitlab CI/CD
PostgreSQL
PostgreSQL
GCP
Google Cloud Platform
IntelliJ
IntelliJ
TOEIC
TOEIC : 935
2015

Savoir être

Organisé
Organisation
Sens des priorités
Sens des priorités
Travail en équipe
Travail en équipe
Capacité d'adaptation
Capacité d'adaptation

03. Projets

Voici quelques projets personnels que j'ai pu réaliser. Ils sont hébergés sur un serveur linux privé (VPS) chez OVH que j'ai configuré dans sa globalité. Afin de gérer plusieurs noms de domaines et types d'application (Node.js, WordPress), j'ai mis en place un hôte virtuel avec Apache.

Météo

Application développée avec le framework Node.js et des templates EJS qui récupère la météo d'une ville en temps réel.

Elle repose sur deux APIs :

- Here API : met à disposition une liste de ville lorsqu'on recherche via un texte, puis renvoie les coordonnées géographiques d'une ville sélectionnée.

- WeatherAPI : permet la récupération d'informations sur la météo en fonction de ces coordonées.

Découvrir

Productive today

Site e-commerce créé avec Wordpress et le plugin WooCommerce.

Grâce à la configuration d'un hôte virtuel sur ce serveur, plusieurs back-end liés à différents noms de domaines peuvent coexister.

Chaque requête HTTPS sur le nom de domaine productive-today.com permet donc l'affichage ce site Wordpress avec un back-end PHP.

Découvrir

Portfolio

Ce portfolio a été réalisé avec HTML, CSS, JavaScript et Bootstrap. Dans le but d'optimiser les performances de chargement, il n'est composé que de 3 fichiers : .css, .js, .html (sans prendre en compte les images).

Une analyse complète de l'application a été effectuée via l'outil Lighthouse pour valider le respect des bonnes pratiques d'accessibilité, de SEO et de performance. J'ai également géré la traduction du contenu via un script JavaScript.

Le rendu de ces fichiers est possible grâce à une application Node.js et au framework Express.js, qui permet l'affichage d'un fichier .html lorsqu'un appel est effectué via le protocole HTTPS sur le nom de domaine romainboijoux.com.