You can find below the slides and videos of my latest talks in French and in English. I held most of them in both two languages.
You can also get my slides on SpeakerDeck and videos on this Youtube playlist:
1 Talks
Here is a bunch of talks I presented at various tech events (meetups, conferences).
You can find them either in French or English.
1.1 Implementing API-First Approach: Practical Insights for Streamlining Your APIs
We often oppose Code-first to API-first approaches. Most of the coders prefer the first one because it is more code centric, and the documentation is automatically generated. In fact, the latter is often perceived by them as a “boring-documentation-first” development.
However, the API-first design and implementation offer many benefits: streamlining your APIs, tackling the complexity and most of all, boosting the developer experience of your customers.
Through practical feedback we will cover how to implement API-first Approaches with the associated practices and tooling. We will then pinpoint the main difficulties to struggle with.
We will therefore see how to tackle this huge challenge: improve the quality of your API, increasing the adoption of your APIs by your customers, and most importantly, make your developers love the Documentation Code First approach!
1.2 Intégrons, faisons grandir et progresser les jeunes devs: Bonnes pratiques et retours d’expériences à l’intention des (vieux) devs.
Êtes-vous confronté au défi d’encadrer et de développer les compétences des jeunes développeurs ? En tant que lead développeur ou développeur expérimenté, vous êtes souvent amené à guider techniquement de nouveaux talents. Mais quelle approche adopter pour assurer leur progression de manière optimale ?
Je participe depuis plusieurs années à différentes initiatives de mentorat et d’accompagnement de jeunes développeurs. Je vous propose donc de partager les bonnes pratiques que j’ai pu mettre en œuvre ainsi que les écueils que j’ai rencontré.
Nous saurons donc à la fin de cette présentation comment intégrer et rendre autonomes les nouveaux arrivant.es le plus efficacement possible.
1.3 L’observabilité dès le développement: Maîtrisez vos applications Java en production avec Grafana
Imaginez, c’est vendredi après-midi. Vous êtes impatient de profiter de votre week-end quand un ingénieur Ops vous transfère un problème bloquant avec une erreur HTTP 500.
Il n’a en effet, pas réussi à identifier l’origine en raison d’un manque d’informations contextuelles. Après quelques heures, vous parvenez enfin à l’identifier en le reproduisant et en le déboguant sur votre ordinateur.
Si vous avez l’habitude de faire face à de tels problèmes, cela signifie sûrement que vous avez négligé le développement d’une des fonctionnalités les plus importantes de votre application : l’observabilité !
Au cours de cet atelier, nous implémenterons des bonnes pratiques de logging et mettrons en oeuvre toute une stack d’observabilité: des librairies à la plateforme en se basant sur les produits Grafana (Tempo, Loki, Prometheus).
Nous saurons donc comment adapter nos applications pour la production et faire des Ops nos meilleurs amis!
1.4 Let’s Learn to Identify Technical Requirements for Better Design
Have you ever heard phrases like “it must work 24/7,” “I want 100% availability,” only to end up with “in reality, a VM will be more than sufficient”? Or conversely, “No SLA, my platform is not critical, it just needs to run precisely at 6:54 AM on the first day of the month”? If these situations sound familiar, don’t miss out! Whether these Non-Functional Requirements are explicit or not, they are the keystone of any architecture aligned with client needs.
Drawing on two fictional examples (any resemblance to reality is purely coincidental, or maybe not), we will explore how to navigate the pitfalls of overengineering and establish a pragmatic approach to identifying the right architecture for the right business need.
By the end of this presentation, we’ll know how to identify those elusive NFRs that will help us design better architectures while avoiding unnecessary complexity!
1.5 The Hitchhiker’s guide to software architecture design
Designing a new platform is always tricky to set up.
How to start? What is the best strategy to adopt while designing a platform? What kind of architecture should we deploy: event streaming, orchestration, or choreography?
For a brand-new platform: “Donuts @ Home”, we will proceed a live architecture study.
After analysing the customer needs, brainstorming, and exchanging our ideas, we will choose among all the potential solutions the least worst option.
You will be asked to validate our design and the different implementation examples.
At the end of this talk, you will have tips and tricks for thinking about it and starting working on architecture studies in complete peace of mind.
1.6 Real-life REST API Versioning for dummies: Strategies and Best Practices
When we want to publish APIs, for instance using an API Management solution, we regularly think about versioning.
This practice meets project management needs but brings a lot of complexity. Imagine, you work on a platform which exposes APIs to many customers.
You must bring new features while controlling the existing ones.
Which strategy to adopt? What are the potential technical tools and practices we could implement easily?
During this presentation, you will unlock the secrets of API versioning I have put in place and helped me during my last projects.
Through a real-life use case based on a microservices architecture, we will define the best strategy to put in place, the other potential ones and their constraints.
At the end of this presentation, we will have the big picture on the diverse ways of APIs versioning.
1.7 REST APIs versioning Hands On!
When we want to publish APIs, for instance using an API (Application Programmable Interface) Management solution, we regularly think about versioning.
This practice meets project management needs but brings a lot of complexity. Imagine, you work on a platform which exposes APIs to many customers.
You must bring new features while controlling the existing ones.
How to deliver new functionalities to specific customers without affecting the others?
Throughout this workshop you will (re)discover and apply advice I have put in place and helped me during my last projects.
Through a real-life use case based on a microservices architecture, we will define the best strategy to put in place, the other potential ones and their constraints.
We will challenge them implementing new features for a new customer in this application.
At the end of this workshop, we will have the big picture and put into practice diverse ways of APIs versioning.
1.8 Architecture Katas: Improve your system architecture design skills in a funny way
1.9 Java dans le cloud : avec Spring ou Quarkus ?
Né au début des années 2000, le framework Spring a mis en avant la facilité de développement. Plus récemment, il a su s’adapter aux contraintes techniques liées aux applications cloud-natives.
De son coté, Quarkus est plus récent, il est né en 2019 sur la base de MicroProfile avec un objectif clair : tirer le meilleur parti des plateformes Kubernetes en se concentrant sur un démarrage rapide et une faible empreinte mémoire.
Nous avons donc un champion et un outsider ! Maintenant lequel choisir en fonction de vos besoins et votre contexte ? Spring ou Quarkus ?
Au travers d’une démonstration “live” nous présenterons un cas contret basé sur notre expérience. Ce dernier sera implémenté avec chacune des deux stacks.
Enfin, nous vous mettrons à contribution au travers de sondages pour dynamiser ensemble notre réflexion.
1.10 Kubernetes & Co, beyond the hype: 10 tips for designers who want to create cloud native apps
Kubernetes and cloud technologies are nowadays the new standard to deploy different cloud native applications: API, BATCHES, microservices and … monoliths! These technologies help to solve many issues but with some complexity. It could be difficult for developers and designers to identify the constraints of such architectures.
In this presentation, you will (re)discover ten tips and pieces of advice I applied and found useful in my last JAVA projects (Spring, JEE).
I will talk about:
Application ecosystem Choice of technical solutions Development K8S design constraints And more!