Pascal Jacob
Architecte Logiciel
Référent Technique
Expert en Développement Backend / Frontend
Mes Compétences
20+ années d’expérience professionnelle

Conception
Modélisation en UML et C4
Modèles de stockage Entity-Relation
Définitions d’API REST / gRPC

Développement
Backend Java ou Kotlin
Frontend Angular
Librairies techniques

Soft-Skills
Lead Développeur
Force de proposition
Formateur
Mes Bonnes Pratiques
Viser l’excellence grâce à un travail de veille techologique permanent et une expérience éprouvée au cours de nombreuses missions

Software Craftsmanship
Bien connaitre et appliquer les principes S.O.L.I.D, les Design Patterns et l’Architecture Hexagonale est essentiel pour concevoir du code de bonne qualité, maintenable et évolutif.
Les Design Patterns offrent des solutions éprouvées à des problèmes de conception courants, tandis que les principes S.O.L.I.D favorisent un code mieux découpé, plus lisible et facilement maintenable.
L’Architecture Hexagonale, également connue sous le nom Ports et Adaptateurs, aide à expurger le cœur logique d’une application des détails techniques de l’intégration de celle-ci avec les dispositifs externes (BDD, messaging, IHM), ce qui facilite les tests unitaires d’une part et les tests d’intégration d’autre part.
Le Software Craftsmanship met en avant l’aspet artisanat dans le développement logiciel, et encourage à continuellement affiner ses compétences et à mieux maitraiser les techniques pour produire un travail toujours plus qualitatif.

Maitriser les frameworks
La maîtrise des frameworks tels que SpringBoot, Spring-Data et Spring-Security, ainsi que des bibliothèques comme MapStruct, est essentielle pour créer des back-ends robustes et performants.
SpringBoot, simplifie la construction et le déploiement d’applications autonomes tout en bénéficiant d’une configuration automatique qui favorise une mise en route rapide.
Spring-Data facilite l’intégration avec les bases de données, permettant une manipulation des données plus intuitive et moins sujette aux erreurs.
Spring-Security, est crucial pour la protection des applications contre les menaces de sécurité courantes, offrant des solutions faciles à mettre en oeuvre pour l’authentification et l’autorisation.
MapStruct est un outil puissant pour le mapping d’objets, réduisant le code boilerplate nécessaire pour transformer un objet d’infrastructure en un objet du domaine et inversement.
Etant expert de ces frameworks, je peux vous aider à améliorer la qualité et la maintenabilité de vos projets.

Tester le code
Les tests sont absolument capitals. Ils sont les gardiens de la qualité du code, veillant à ce que chaque fonctionnalité, aussi petite soit-elle, fonctionne comme prévu et s’intègre harmonieusement avec les autres composants du système.
Les tests unitaires se concentrent sur les plus petits éléments du code: les méthodes individuelles, pour s’assurer qu’elles exécutent correctement leurs tâches spécifiques. En testant les valeurs aux limites, les tests unitaires révèlent des vulnérabilités potentielles et des cas d’erreur qui pourraient autrement passer inaperçus.
Les tests d’intégration prennent une vue plus large, vérifiant que les différents composants du systéme s’assemblent bien et que le système dans son ensemble répond aux exigences. Les tests d’intégration sont particulièrement importants pour découvrir des problèmes qui ne se manifestent que lorsque les composants interagissent, comme les conflits de dépendance ou les erreurs de communication entre services.
Ensemble, les tests forment une stratégie de défense robuste contre les bugs et les comportements imprévus, permettant de procéder à des refactorisation du code avec confiance.
Mon objectif est de créer des logiciels non seulement fonctionnels mais aussi fiables et résilients , capable de résister aux défis de l’environnement de production et de satisfaire les utilisateurs finaux avec une performance constante et prévisible.