Télécharger le PDF
Software Engineering Lead  ·  Tech Lead Java / Coach Craft

Bilel Loussaief

Bilel Loussaief
01

Compétences techniques

Architecture, Design & Craftsmanship
Domain-Driven Design (DDD)Hexagonal/Clean ArchitectureClean CodeTDD/ATDDSOLIDDesign PatternsCQRSEvent-Driven Architecture (EDA)Reactive SystemsSOAMicroservices
Java
JAVA SE (JDK 7–21+)Spring (MVC, Boot, Security, Data, Cloud, Batch, WebFlux)QuarkusJakarta EE (EJB, CDI, Servlet, JSP/JSTL)JDBCJPAHibernateMyBatisMavenGradleJUnitSonarQubeJaCoCo..
Agile
XPKanbanNoEstimatesScrumContinuous DeliveryBDDPair/Mob programming(SAFe)
Databases, Search & Graph
MySQLORACLEPostgreSQLElasticsearchMongoDBTeradataACCESSAWS NeptuneOpenCypherGraphQL
Event Streaming, Messaging & APIs
Apache KafkaRabbitMQMQTTREST APIsOpenAPI/SwaggerSOAPWebSocket
Frontend
Angular (2+)TypeScriptJavaScriptjQueryAjaxHTML5CSS3BootstrapHighCharts..
Data & AI
DatabricksKubeflowLLM IntegrationGenerative AIRAGPrompt Engineering
AI-assisted development
Claude CodeGitHub CopilotCursorCodex
Cloud & Ops
AWSGCP (Basics)DockerKubernetesOpenShiftCI/CD (Jenkins, GitLab CI, TeamCity)Service discovery (Eureka, Consul)API Gateway (Zuul, Spring Cloud Gateway, AWS API Gateway)
Identity & Access Management (IAM)
OAuth2OpenID Connect (OIDC)SSO (Keycloak, Okta)
Autres Languages & Outils
PythonScalaCC++C#PHPIDE (Eclipse, Intellij)BDD/ATDD (Cucumber/JBehave/Jasmine)Serveurs Web (Tomcat, Tomee, Wildfly/jBoss, Jetty)Gestion de projet (Jira, Gitlab, Redmine..)
02

Études & Langues

Formation
  • Ingénierie, Génie Logiciel et Informatique Décisionnel – Institut International de Technologie – Tunisie
  • Licence, Système d’Informations et Base de Données – ENET’COM – Tunisie
  • Baccalauréat en sciences Informatique – Lycée Hèdi CHAKER – Tunisie
Langues
FrançaisCourant
AnglaisProfessionnel
EspagnolIntermédiaire
03

Expériences

2014 — aujourd’hui
ENGIE – CRIGENdepuis 04/2021
Software Engineering Lead & Coach Craft
Contexte global

Au sein du CRIGEN (centre de R&D d’ENGIE), contribution à plusieurs projets IT répondant aux besoins du centre, des Global Business Units (GBUs) du groupe et de partenaires de l’Union européenne.

Contexte de la mission

Rôle combinant un positionnement transverse de coaching et d’encadrement des développeurs, ainsi qu’une implication opérationnelle sur les projets en tant que Tech Lead & développeur.

Rôle transverse
  • Coaching des développeurs sur les bonnes pratiques de développement et d’architecture logicielle (Clean Code, TDD, Clean/Hexagonal Architecture, DDD, BDD..)
  • Conduite d’entretiens techniques et évaluation des candidats
  • Réalisation de code reviews et diffusion des standards de qualité
  • Accompagnement des équipes dans leur montée en compétence et dans l’adoption des principes Agile
  • Animation de sessions de partage technique (pair programming, workshops, mentoring)
Stakeholder – Plateforme Data/AI d’analyse des parties prenantesdepuis 02/2022
Tech Lead & Développeur

Solution destinée aux gestionnaires de projets d’infrastructure énergétique, permettant d’identifier et d’analyser les avis des parties prenantes afin d’aider à la prise de décision.

  • Collecte et centralisation de données issues de multiples sources (presse, réseaux sociaux, sites web…)
  • Construction d’une base documentaire et traitement des données textuelles
  • Analyse des contenus pour extraire les arguments et identifier les positions des parties prenantes (favorable, neutre, défavorable)
  • Génération de métriques et visualisations (graphiques, cartographies de relations)
  • Mise à disposition d’outils d’aide à la décision pour améliorer l’engagement des parties prenantes
Équipe

un PM, un PO, un Tech Lead, un développeur backend, un développeur frontend, deux Data Engineers, deux Data Scientists, des designers UX/UI

Tâches
  • Définition de l’architecture globale en collaboration avec l’équipe, choix des technologies et des outils, et garantie de la cohérence ainsi que de la qualité technique globale de la solution
  • Garant des bonnes pratiques de développement et de test, ainsi que de la qualité du code
  • Implémentation des fonctionnalités principales du backend de la solution
  • Mise en place de pratiques de collaboration et de qualité (code review et pair programming) sur l’ensemble de la stack, et contribution à l’adoption des principes Agile
  • Instauration d’une architecture hexagonale sur le backend et le frontend
  • Suivi et contribution aux travaux DATA et NLP / LLM en collaboration avec les Data Engineers et Data Scientists
  • Collaboration avec les équipes infrastructure pour assurer un déploiement continu efficace
  • Contribution avec le PM/PO aux échanges avec les utilisateurs et au raffinement des besoins
  • Rédaction de la documentation technique
  • Participation à l’industrialisation de la solution
Architecture & Engineering Practices
DDD · Hexagonal/Clean Architecture · Clean Code · SOLID · TDD · BDD · Agile · NoEstimates · Pair Programming
Environnement technique
BackendJava · Quarkus · Hibernate · JPA · REST APIs · OpenAPI/Swagger · JUnit
FrontendAngular 18 · TypeScript · NgRx (Redux) · D3.js · Highcharts · Leaflet
Data & AIPostgreSQL (AWS RDS) · OpenSearch (AWS Elasticsearch) · AWS Neptune · Amazon S3 · Python · Scala · GPT-4o (LLM integration) · RAG · Prompt Engineering · Kubeflow (pipeline orchestration) · AWS Bedrock (experimentation)
Cloud & InfrastructureAWS · Docker · Kubernetes (EKS) · Fleet · GitLab CI/CD · Trivy · SonarQube
SécuritéOAuth2 · OpenID Connect · Okta
Multi-projets

Contribution à de nombreux projets (POC, projets courts et projets structurants) ; deux projets majeurs présentés ci-dessous, avec un environnement technique global commun.

EMS (Energy Management System)

Système de gestion et d’optimisation énergétique pour microgrids, bâtiments et communautés (analyse, pilotage, optimisation des flux énergétiques).

  • Contribution au développement backend et à l’intégration de services liés à la gestion et à l’exploitation des données énergétiques
  • Implémentation de patterns d’eventing pour la gestion des flux (Kafka)
  • Participation au refactoring et à l’amélioration de la qualité du code
  • Mise en place et diffusion de pratiques de qualité (code review, pair programming)
PLATOON (H2020)

Plateforme européenne de data pour la digitalisation du secteur de l’énergie (interopérabilité, data sharing, IA).

  • Conception et implémentation d’un IDS Connector (provider & consumer) pour l’échange sécurisé de données entre partenaires
  • Développement de services backend permettant la communication conforme aux standards IDSA (data space / data marketplace), servant de socle réutilisable pour les futurs échanges de données
  • Mise en œuvre d’un use case réel d’échange de données avec le partenaire européen Tecnalia, basé sur l’IDS Connector implémenté
  • Mise en place de workflows de données (training / prediction) avec intégration de données brutes et enrichies
  • Contribution à l’architecture et à l’évolution technique de la solution (migration MongoDB vers Elasticsearch pour des enjeux de performance et de visualisation)
StackAgile · Scrum · Kanban · BDD · TDD · ATDD · Hexagonal/Clean Arch · DDD · Java 11->25 · Spring (Boot, Data, Security, Cloud) · Quarkus · Apache Kafka RabbitMQ · Architecture microservices · JPA/Hibernate · JDBC · PostgreSQL · MongoDB · Elasticsearch · Maven · JUnit · Sonar · SSO · OAuth2 · OIDC · Okta · Keycloak · Git · Docker · Kubernetes · Helm · Rancher · Harbor · AWS · Intellij IDEA..
PTC – Positive Thinking Company / CBTWde 04/2019 à 12/2022
Référent Technique

Contribution au sein de l’ESN sur :

  • Évaluation des candidats lors des entretiens techniques
  • Revue et amélioration des processus de recrutement
  • Coaching et formation de développeurs aux bonnes pratiques de développement/design.
SOCIETE GENERALEde 05/2019 à 03/2021
Référent Technique / Développeur Java
CARe

Projet visant à assurer la cohérence comptable du groupe SG, la gestion des ajustements bâlois ainsi que la consolidation des RWA (Risk-Weighted Assets) pour les besoins de reporting réglementaire. L’architecture de la solution repose sur une approche orientée services (SOA), avec une majorité des services implémentés selon les principes de l’architecture hexagonale.

Tâches
  • Développement des nouvelles fonctionnalités et Refactoring d’un code Legacy
  • Participation à la définition d'architecture technique la plus adaptée, favorisant le bon déroulement de projet et les concepts du DDD
  • Assurer le code review et la bonne qualité du produit livré
  • Aider l’équipe à monter en compétence en Clean code/Architecture, DDD, BDD, TDD et les bonnes pratiques du développement Agile.
  • Analyser les incidents de production liés au projet et proposer des solutions pour les résoudre.
StackSAFe · Scrum · DDD · Architecture SOA · Architecture Hexagonale · Java 8 · Spring Boot · BDD · TDD · ATDD · JPA/Hibernate · JDBC · Teradata · Cucumber · Consul discovery · Maven · JUnit · Sonar · Intellij IDEA · Git · Jenkins · OpenShift.
FIRCOSOFTde 12/2018 à 3/2019
Consultant Java Full Stack
Composant personnalisé

Développement d'un composant Backend (JOB) basé sur l'architecture Hexagonale qui permet de détecter les modifications sur une table de la base de données et d’enchaîner un ensemble de traitements afin de les exporter sous des formats personnalisés en fonction du mode configuré (HTTP/Directory/IBM Queue).

Tâches
  • Création et description des tickets
  • Intervention dans toutes les étapes du cycle de développement
  • Contribution à la mise en place des bonnes pratiques du développement (BDD/TDD/Clean code/Code Review)
  • Assurer des séances de coaching pour former les développeurs juniors
  • Réalisation de la documentation technique.
StackAgile · Scrum · Architecture Hexagonale · Java8 · Spring (Boot) · MyBatis · Oracle · SQL-Server · Gradle · JUnit · Intellij IDEA · Git · BitBucket · Teams · Jenkins · Docker.
SOFTTODOde 12/2017 à 10/2018
Techlead / Développeur Java Fullstack
Socle Micro-Services appliqué sur un ERP

Mise en place d’un socle personnalisé pour les applications Micro-Services qui se basent sur le framework Spring et l'appliquer pour le développement d’un ERP (MVP).

Tâches
  • Gestion et encadrement d’une équipe de 4 stagiaires dans le cadre de leur projet de fin d’études
  • Choix d’architecture et technologies
  • Définition des besoins, remplissage du backlog, et assignation des tâches
  • Suivi et mise en place des standards et bonnes pratiques de développement (BDD/TDD/Clean code/Code Review)
  • Réalisation de la documentation technique.
StackAgile · Scrum · Architecture microservices · Java 9 · Spring (Cloud/Boot/Security/Data) · Angular 5 · Eureka Discovery · Zuul API Gateway · Apache Kafka · MongoDB · REST · Maven · Cucumber · JUnit · Intellij IDEA · Gitlab · Gitlab CI · Mattermost · Git · Docker.
SOFTTODO & KONVERSIONSKRAFT (WEB ARTS AG)de 02/2017 à 09/2018
Développeur Java FullStack
IRIDION

Développeur Fullstack Java/JEE au sein de l’équipe de développement de www.iridion.com, qui est un ensemble de trois projets.

  • IRIDION v3 (publique) — Application cloud en mode SaaS de Marketing Digital, de gestion et d'analyse des conversions.
  • WATT (privé) — Outil personnalisé de test A/B.
  • IRIDION TRACKER (privé) — Solution de tracking des visiteurs/internautes/revenus.
Tâches
  • Contribution à la mise en place d’une nouvelle version de l’application
  • Intervention dans toutes les étapes du cycle de développement avec un contact direct et quotidien avec le client (Communication en Anglais)
  • Mise à jour du socle technique (socle fourni par l’équipe d’architecture)
  • Conception et développement des différents modules back/front
  • Participation à la planification des Sprints et des User Stories et toutes les réunions Scrum.
  • Mise en place des bonnes pratiques du développement afin de Garantir la cohérence des choix techniques et de l’architecture de la solution : TDD/Clean Code, l'intégration continue, code review, Refactoring, pair programming)
  • Réalisation de la documentation technique
  • Formation et intégration des nouveaux membres de l’équipe.
StackAgile · Agile · Scrum · Java/JEE · EJB · CDI · Servlets · TomEE · MySQL · Hibernate · JSP/JSTL · JAX-RS · SOAP/REST · AngularJS · JavaScript · jQuery · Ajax · Bootstrap · Maven · JUnit · Sonar · TeamCity · SVN · Git · Jira
TECHNOCITYde 09/2015 à 01/2017
Développeur Java Fullstack
ARTDENTAde 03/2016 à 01/2017

Développement d’une application personnalisée de gestion d’un laboratoire dentaire.

Tâches
  • Développement des modules back-end et front-end
  • Développement des tests unitaires
  • Maintenance et correction des bugs
  • Réalisation de la documentation technique
StackAgile · Scrum · Java · Spring (Boot/Security/Data) · Tomcat · Hibernate · MySQL · Maven · JUnit · JSP/JSTL · JavaScript · jQuery · Bootstrap · Git · Jenkins · Trello.
SmartServicesde 09/2015 À 03/2016

Développement d’une application de point de vente web.

Tâches
  • Contribution à la conception et développement de la solution
  • Développement d’API REST
  • Développement des tests unitaires
  • Maintenance et correction des bugs
  • Installation et configuration du serveur d’intégration continue Jenkins
  • Réalisation de la documentation technique
StackAgile · Scrum · Java/JEE · Spring (MVC/Security) · MySQL · Hibernate · JSF · Primefaces · REST · Slack · SVN · Jenkins · Redmine.
FREELANCEde 07/2014 à 07/2015
Développeur Java Backend
ThinkHR

Développement d’une application personnalisée de gestion des ressources humaines.

Tâches
  • Conception et développement de tous les modules back-end
  • Développement des tests unitaires
  • Maintenance et correction des bugs
  • Réalisation de la documentation technique
StackAgile · Scrum · Java · Spring (Boot/Security/Data) · Tomcat · Hibernate · MySQL · Maven · JUnit · JSP/JSTL · JavaScript · jQuery · Bootstrap · Git · Jenkins · Trello.
TELNETde 02/2014 à 06/2014
Développeur Java
Outil de test de couverture de code

Développement d’un outil de test de couverture de code pour les applications développées en langage C et l’intégrer avec Eclipse IDE.

Tâches
  • Conception et développement de tous les modules back-end
  • Développement des tests unitaires
  • Installation et configuration du serveur d’intégration continue Jenkins
  • Réalisation de la documentation technique
StackAgile · Kanban · JAVA · JUnit · Python · PycParser · Eclipse RCP · JUnit · Trello.
04

Contact

Une question, une opportunité ou simplement envie d’échanger ? Écrivez-moi via le formulaire ci-dessous — ou sur LinkedIn.

Les messages arrivent directement dans la boîte de réception du formulaire.