Portfolio

NasrBOUHEDDADJ

Ingénieur logicielSoftware engineer

Trois ans d'expérience dans la conception de logiciels. Mon terrain couvre l'ensemble du cycle : le développement, l'architecture, la sécurité applicative, l'infrastructure et le déploiement, les données et l'apprentissage automatique. J'aime les problèmes exigeants, les systèmes bien construits et les outils qui durent. Three years of experience designing software. My ground covers the whole cycle: development, architecture, application security, infrastructure and deployment, data and machine learning. I like demanding problems, well-built systems and tools that last.

01

Un ingénieur logiciel completA complete software engineer

Ma valeur ne tient pas à une technologie : elle tient à la capacité de porter un sujet de bout en bout, de la compréhension du besoin jusqu'à l'exploitation en production. Six facettes d'un même métier. My value is not tied to a technology: it lies in owning a subject end to end, from understanding the need to running it in production. Six facets of one craft.

/01

Conception & développementDesign & development

Des applications de bureau aux plateformes web : analyse, modélisation, implémentation et tests, avec une exigence constante de lisibilité, de robustesse et de maintenabilité. From desktop applications to web platforms: analysis, modeling, implementation and testing, with a constant demand for readability, robustness and maintainability.

/02

Architecture logicielleSoftware architecture

Choisir la bonne structure pour le bon problème : découpage en couches et en services, contrats d'interface, patrons de conception, et une documentation qui rend les choix défendables. Choosing the right structure for the right problem: layers and services, interface contracts, design patterns, and documentation that makes decisions defensible.

/03

Sécurité applicativeApplication security

Authentification et autorisation, durcissement, analyse de code, protection des données personnelles : la sécurité comme composante de la conception, pas comme rustine de fin de projet. Authentication and authorization, hardening, code analysis, personal-data protection: security as a design component, not an afterthought.

/04

Infrastructure & déploiementInfrastructure & deployment

Conteneurisation, orchestration, intégration et livraison continues, supervision : des chaînes de livraison automatisées, reproductibles et observables, jusqu'à la production. Containerization, orchestration, continuous integration and delivery, monitoring: automated, reproducible and observable delivery chains, all the way to production.

/05

Données & apprentissageData & machine learning

Modélisation des données, qualité, analyse statistique et apprentissage automatique : transformer des données brutes en résultats fiables, mesurés et explicables. Data modeling, data quality, statistical analysis and machine learning: turning raw data into reliable, measured and explainable results.

/06

Produit & pilotageProduct & delivery

Recueil du besoin, spécification, priorisation, recette et accompagnement des utilisateurs : un logiciel se juge à l'usage, et l'usage se prépare dès le premier échange. Requirements gathering, specification, prioritization, acceptance and user support: software is judged in use, and use is prepared from the very first conversation.

02

Projets réalisésSelected projects

Une sélection de réalisations professionnelles, freelance et académiques. Chaque projet s'ouvre sur une fiche détaillée : contexte, réalisation technique, résultats et environnement. A selection of professional, freelance and academic work. Each project opens a detailed sheet: context, technical work, results and environment.

Module d'estimation de la consommation énergétique
Professionnel · SNCF VoyageursProfessional · SNCF Voyageurs

Module d'estimation de la consommation énergétiqueEnergy consumption estimation module

Chaîne d'apprentissage statistique et module métier intégré à un logiciel d'aide à la décision ferroviaire, décliné en deux générations : client lourd Java / JavaFX, puis client-serveur Spring Boot / Angular. Statistical learning pipeline and business module integrated into a railway decision-support product, delivered in two generations: Java / JavaFX rich client, then Spring Boot / Angular client-server.

JavaJavaFXSpring BootAngularPythonSQL
Voir le projetView project
Concepteur de schémas de desserte
Professionnel · SNCF VoyageursProfessional · SNCF Voyageurs

Concepteur de schémas de desserteNetwork service diagram designer

Génération automatique de cartes schématiques de réseau (tracé octilinéaire, un problème NP-difficile) et éditeur interactif, du client lourd JavaFX à la déclinaison web Spring Boot / Angular. Automatic generation of schematic network maps (octilinear layout, an NP-hard problem) and interactive editor, from the JavaFX rich client to the Spring Boot / Angular web version.

JavaJavaFXSpring BootAngularAlgorithmiqueAlgorithmics
Voir le projetView project
Plateforme de communication temps réel
Académique · Master InformatiqueAcademic · MSc Computer Science

Plateforme de communication temps réelReal-time communication platform

Monde 2D multi-utilisateurs avec visioconférence pair-à-pair de proximité, audio spatialisé, chat et partage d'écran : du moteur de rendu à l'infrastructure réseau complète. Multi-user 2D world with proximity peer-to-peer video, spatial audio, chat and screen sharing: from the rendering engine to the full network infrastructure.

ReactNode.jsWebRTCSocket.IOnginx
Voir le projetView project
Chaîne de production connectée
Académique · Master InformatiqueAcademic · MSc Computer Science

Chaîne de production connectée (IoT)Connected production line (IoT)

Ligne de production instrumentée du capteur au cloud : identification des produits, convoyage motorisé, jumeaux numériques répartis edge / cloud et supervision à distance. Production line instrumented from sensor to cloud: product identification, motorized conveying, distributed edge/cloud digital twins and remote supervision.

C/C++ArduinoMQTTNode.jsThingsBoard
Voir le projetView project
Freelance · Organisme de formationFreelance · Training organization

Plateforme d'évaluation de candidaturesApplication-review platform

Back-end sécurisé de gestion et d'évaluation de dossiers : API REST Spring Boot, authentification sans état, conformité RGPD, déployé sur Kubernetes via une chaîne CI/CD complète. Secured back-end for managing and reviewing application files: Spring Boot REST API, stateless authentication, GDPR compliance, deployed on Kubernetes through a full CI/CD chain.

Spring Boot 3PostgreSQLDockerKubernetesGitLab CI/CD
Voir le projetView project
Professionnel · Université Jean Moulin Lyon 3Professional · Jean Moulin Lyon 3 University

Gestion de parc informatiqueIT asset management

Application web et API de gestion du parc informatique pour la direction des systèmes d'information, intégrée à l'outillage existant et mise en production. Web application and API for managing the IT hardware fleet of the information-systems department, integrated with existing tooling and shipped to production.

JavaSpring BootHibernateSQL
Voir le projetView project

Module d'estimation de la consommation énergétiqueEnergy consumption estimation module

PROJET PROFESSIONNEL · SNCF VOYAGEURS · 2024 – 2026PROFESSIONAL PROJECT · SNCF VOYAGEURS · 2024 – 2026

Au sein du département de l'ingénierie de l'offre, les ingénieurs chiffrent des plans de transport complets. Ce module leur donne, en un clic, l'estimation de la consommation énergétique de chaque circulation d'un plan simulé, avec une exigence forte : des résultats explicables, car intégrés à des chiffrages engageants.Within the offer-engineering department, engineers cost complete transport plans. This module gives them, in one click, the estimated energy consumption of every train run of a simulated plan, with one strong requirement: explainable results, as they feed binding cost estimates.

Chaîne de données et d'apprentissageData & learning pipeline

  • Pipeline Python : consolidation de millions de mesures embarquées, nettoyage et normalisation, enrichissement par référentiels (gares, axes).Python pipeline: consolidation of millions of on-board measurements, cleaning and normalization, enrichment with reference data (stations, corridors).
  • Modèles de régression par série de matériel roulant, avec hyperparamétrage et validation croisée ; hiérarchie de modèles à plusieurs granularités et méthode de repli.Regression models per rolling-stock series, with hyperparameter tuning and cross-validation; multi-granularity model hierarchy with a fallback method.
  • Formules et métriques de qualité industrialisées en base de données relationnelle, prêtes à être consommées par l'application.Formulas and quality metrics industrialized in a relational database, ready to be consumed by the application.
  • Étude d'un modèle physique complémentaire à partir de la documentation constructeur, pour renforcer la fiabilité des estimations.Study of a complementary physical model based on manufacturer documentation, to strengthen estimate reliability.

Deux générations applicativesTwo application generations

  • Client lourd : module Java 17 / JavaFX en architecture en couches (contrôleurs de vue, services applicatifs, DAO, DTO) ; paramétrage des séries et des méthodes de calcul, exécution, restitution et exports.Rich client: Java 17 / JavaFX module in a layered architecture (view controllers, application services, DAO, DTO); series and calculation-method configuration, execution, reporting and exports.
  • Client-serveur : services de calcul exposés en API REST avec Spring Boot (contrôleurs, services, persistance JPA / Hibernate) et client web Angular.Client-server: computation services exposed as a Spring Boot REST API (controllers, services, JPA / Hibernate persistence) with an Angular web client.
  • Authentification déléguée OAuth2 / OIDC via Keycloak dans la version client-serveur.Delegated OAuth2 / OIDC authentication via Keycloak in the client-server version.
  • Qualité continue : revues de code, intégration continue Jenkins, analyse statique SonarQube et CheckMarx.Continuous quality: code reviews, Jenkins continuous integration, SonarQube and CheckMarx static analysis.

RésultatsResults

  • Précision de 87 à 97 % selon les périmètres, mesurée contre les consommations réelles.87 to 97% accuracy depending on scope, measured against actual consumption.
  • En production, utilisé au quotidien ; solution interne plus rapide et plus économique que l'estimation externalisée qu'elle remplace.In production and used daily; an internal solution faster and cheaper than the outsourced estimate it replaces.
  • Estimations mobilisées dans des réponses à appels d'offres.Estimates used in tender responses.

Environnement techniqueTechnical environment

Pythonpandasscikit-learnJava 17JavaFXSpring BootAngularHibernateSQLKeycloakJenkinsSonarQubeCheckMarx OneGitLabMaven

Concepteur de schémas de desserteNetwork service diagram designer

PROJET PROFESSIONNEL · SNCF VOYAGEURS · 2025 – 2026PROFESSIONAL PROJECT · SNCF VOYAGEURS · 2025 – 2026

Produire automatiquement la carte schématique d'un plan de transport, dans le style des plans de métro. La littérature scientifique classe ce problème de tracé octilinéaire sous contraintes parmi les problèmes NP-difficiles : la réponse devait être rapide, reproductible et corrigeable.Automatically produce the schematic map of a transport plan, in the style of metro maps. The scientific literature classifies this constrained octilinear layout problem as NP-hard: the answer had to be fast, reproducible and correctable.

Cœur algorithmiqueAlgorithmic core

  • Modélisation du réseau en graphe (gares, tronçons) et projection cartographique des coordonnées géographiques.Network modeled as a graph (stations, segments) with map projection of geographic coordinates.
  • Heuristique déterministe de placement sur grille : ancrage initial, recherche locale multicritère, multi-départs pour éviter les optima locaux médiocres.Deterministic grid-placement heuristic: initial anchoring, multi-criteria local search, multi-start to escape poor local optima.
  • Fonction de coût pondérée : octilinéarité, fidélité géographique, croisements, équilibre des longueurs ; pondérations calibrées avec les utilisateurs.Weighted cost function: octilinearity, geographic faithfulness, crossings, length balance; weights calibrated with users.
  • Moteur de rendu : faisceaux de lignes parallèles, capsules aux gares partagées, placement des étiquettes, légende.Rendering engine: parallel line bundles, capsules at shared stations, label placement, legend.

Produit et déclinaisonsProduct & versions

  • Client lourd Java / JavaFX : éditeur interactif avec grille aimantée, réagencement automatique, annulation, export ; vues d'analyse synchronisées (schéma, missions, dessertes).Java / JavaFX rich client: interactive editor with snap-to-grid, automatic re-layout, undo, export; synchronized analysis views (diagram, missions, service patterns).
  • Déclinaison client-serveur : services de calcul exposés en API REST Spring Boot, rendu vectoriel côté client Angular.Client-server version: computation services exposed as a Spring Boot REST API, vector rendering in the Angular client.
  • Tests unitaires et d'intégration sur le moteur de placement et le rendu.Unit and integration tests on the placement engine and rendering.

RésultatsResults

  • Environ 90 % du tracé généré automatiquement ; l'utilisateur n'ajuste qu'à la marge.About 90% of the layout generated automatically; users only adjust at the margin.
  • Entièrement déterministe : mêmes données, même carte, pour tous les utilisateurs.Fully deterministic: same data, same map, for every user.
  • Cohérence géographique conservée sur des périmètres multi-régions.Geographic coherence preserved across multi-region scopes.

Environnement techniqueTechnical environment

Java 17JavaFXSpring BootAngularThéorie des graphesGraph theoryOptimisationOptimizationJUnitGitLab

Plateforme de communication temps réelReal-time communication platform

PROJET ACADÉMIQUE · MASTER INFORMATIQUE · BINÔME · 2025 – 2026ACADEMIC PROJECT · MSC COMPUTER SCIENCE · TWO-PERSON TEAM · 2025 – 2026

Un bureau virtuel construit de zéro : les participants se déplacent dans un monde 2D et la visioconférence se déclenche automatiquement lorsqu'ils se rapprochent. Les vraies difficultés sont réseau : latence perceptible, traversée des NAT et pare-feux, plusieurs flux médias simultanés, un seul port exposé en production.A virtual office built from scratch: participants move through a 2D world and video chat starts automatically as they get close. The real challenges are network-level: perceptible latency, NAT and firewall traversal, several simultaneous media streams, a single exposed port in production.

Moteur et temps réelEngine & real time

  • Moteur de rendu Canvas 2D : carte générée procéduralement, gestion des collisions, sprites animés, interpolation linéaire (LERP) des positions distantes.Canvas 2D rendering engine: procedurally generated map, collision handling, animated sprites, linear interpolation (LERP) of remote positions.
  • Visioconférence pair-à-pair en topologie maillée (WebRTC / PeerJS) : déclenchement par proximité avec hystérésis, partage d'écran, audio spatialisé via la Web Audio API.Peer-to-peer mesh video (WebRTC / PeerJS): proximity-triggered with hysteresis, screen sharing, spatial audio via the Web Audio API.
  • Signalisation temps réel Socket.IO ; pipeline de middlewares côté client et serveur : validation, échappement anti-XSS, limitation de débit, journalisation.Socket.IO real-time signaling; middleware pipeline on both client and server: validation, anti-XSS escaping, rate limiting, logging.

Infrastructure réseauNetwork infrastructure

  • Reverse proxy nginx avec terminaison TLS devant le serveur applicatif Node.js / Express.nginx reverse proxy with TLS termination in front of the Node.js / Express application server.
  • Traversée NAT : serveurs ICE (STUN) et relais TURN (coturn) en TCP pour passer les pare-feux stricts.NAT traversal: ICE (STUN) servers and a TURN relay (coturn) over TCP to pass strict firewalls.
  • Multiplexage du trafic HTTPS et TURN sur un même port ; déploiement sur machine virtuelle cloud, chaîne GitLab CI/CD.HTTPS and TURN traffic multiplexed on a single port; deployed on a cloud virtual machine with a GitLab CI/CD chain.

RésultatsResults

  • Plateforme déployée et démontrée en conditions réelles multi-utilisateurs, derrière des pare-feux d'entreprise.Platform deployed and demonstrated in real multi-user conditions, behind corporate firewalls.
  • Base de code structurée (hooks, moteur découplé) et documentation technique complète.Structured codebase (hooks, decoupled engine) with complete technical documentation.

Environnement techniqueTechnical environment

React 18ViteTailwind CSSCanvas 2DPeerJS / WebRTCSocket.IOWeb Audio APINode.jsExpressnginxcoturnOpenStackGitLab CI/CD

Chaîne de production connectée (IoT)Connected production line (IoT)

PROJET ACADÉMIQUE · MASTER INFORMATIQUE · ÉQUIPE · 2025 – 2026ACADEMIC PROJECT · MSC COMPUTER SCIENCE · TEAM · 2025 – 2026

Une chaîne de production miniature instrumentée et pilotée de bout en bout : identification des produits, convoyage motorisé, suivi de cuisson, jumeaux numériques et supervision à distance. Un système cyber-physique complet, du capteur embarqué à la plateforme cloud.A miniature production line instrumented and controlled end to end: product identification, motorized conveying, cooking monitoring, digital twins and remote supervision. A complete cyber-physical system, from embedded sensor to cloud platform.

Couche physique et embarquéePhysical & embedded layer

  • Microcontrôleurs Arduino programmés en C / C++ : capteurs RFID / NFC et température, moteurs pas-à-pas et continu (pont en H), interface de commande sur écran LCD.Arduino microcontrollers programmed in C / C++: RFID / NFC and temperature sensors, stepper and DC motors (H-bridge), LCD control interface.
  • Pilotage temps réel via le protocole Firmata (Johnny-Five) et messagerie MQTT : broker central, topics par équipement.Real-time control via the Firmata protocol (Johnny-Five) and MQTT messaging: central broker, per-device topics.

Systèmes cyber-physiquesCyber-physical systems

  • Jumeaux numériques répartis entre l'edge et le cloud, avec boucle de rétroaction sur les actionneurs.Digital twins distributed between edge and cloud, with a feedback loop on the actuators.
  • Modélisation de l'énergie thermique et du temps de cuisson ; fiabilisation des mesures par fenêtre glissante et agrégation.Thermal-energy and cooking-time modeling; measurement reliability via sliding windows and aggregation.
  • Supervision ThingsBoard sur machine virtuelle cloud ; API HTTP métier ; Web of Things : Thing Descriptions, annuaire de découverte, consommation dynamique (node-wot).ThingsBoard supervision on a cloud VM; business HTTP API; Web of Things: Thing Descriptions, discovery directory, dynamic consumption (node-wot).

RésultatsResults

  • Chaîne démontrée en fonctionnement réel : sélection du produit, convoyage, suivi de température, supervision en direct.Line demonstrated in real operation: product selection, conveying, temperature tracking, live supervision.
  • Architecture edge / cloud documentée, réutilisable pour d'autres équipements.Documented edge/cloud architecture, reusable for other equipment.

Environnement techniqueTechnical environment

C / C++ArduinoNode.jsMQTTFirmataJohnny-FiveThingsBoardnode-wotLinux

Plateforme d'évaluation de candidaturesApplication-review platform

MISSION FREELANCE · ORGANISME DE FORMATION · 2023 – 2024FREELANCE ENGAGEMENT · TRAINING ORGANIZATION · 2023 – 2024

Concevoir et livrer le back-end d'une plateforme de gestion et d'évaluation des candidatures, avec des exigences fortes de sécurité, de conformité RGPD et de fiabilité en exploitation.Design and deliver the back-end of a platform for managing and reviewing applications, with strong requirements on security, GDPR compliance and operational reliability.

Architecture et fonctionnelArchitecture & features

  • Monolithe modulaire Spring Boot 3 structuré en couches : présentation, application, domaine, persistance, infrastructure.Modular Spring Boot 3 monolith structured in layers: presentation, application, domain, persistence, infrastructure.
  • Persistance PostgreSQL avec Spring Data JPA / Hibernate, migrations de schéma versionnées (Flyway), mapping DTO / entités (MapStruct).PostgreSQL persistence with Spring Data JPA / Hibernate, versioned schema migrations (Flyway), DTO / entity mapping (MapStruct).
  • Import de dossiers Excel / CSV (pattern Strategy), requêtes dynamiques composables (pattern Specification), validations en chaîne de responsabilité ; documentation d'API OpenAPI / Swagger.Excel / CSV file imports (Strategy pattern), composable dynamic queries (Specification pattern), chain-of-responsibility validations; OpenAPI / Swagger documentation.

Sécurité et qualitéSecurity & quality

  • Spring Security : authentification sans état JWT + OAuth2, hachage BCrypt, gestion fine des rôles, CORS, conformité RGPD.Spring Security: stateless JWT + OAuth2 authentication, BCrypt hashing, fine-grained roles, CORS, GDPR compliance.
  • Tests JUnit 5, Mockito, TestContainers et RestAssured ; couverture de code de 80 % (JaCoCo).JUnit 5, Mockito, TestContainers and RestAssured tests; 80% code coverage (JaCoCo).

ExploitationOperations

  • Images Docker multi-étapes ; Kubernetes : Ingress NGINX, autoscaling horizontal, StatefulSet PostgreSQL, ConfigMaps et Secrets.Multi-stage Docker images; Kubernetes: NGINX Ingress, horizontal autoscaling, PostgreSQL StatefulSet, ConfigMaps and Secrets.
  • Pipeline GitLab CI/CD : build, tests, livraison en préproduction puis production ; supervision Actuator + Prometheus.GitLab CI/CD pipeline: build, tests, delivery to staging then production; Actuator + Prometheus monitoring.

RésultatsResults

  • Plateforme livrée conforme au besoin et exploitée par le client.Platform delivered to spec and operated by the client.
  • Chaîne de livraison entièrement automatisée, du commit à la production.Fully automated delivery chain, from commit to production.

Gestion de parc informatiqueIT asset management

PROJET PROFESSIONNEL · UNIVERSITÉ JEAN MOULIN LYON 3 (DSI) · 2024PROFESSIONAL PROJECT · JEAN MOULIN LYON 3 UNIVERSITY (IT DEPT.) · 2024

La direction des systèmes d'information avait besoin d'une vision fiable et à jour de son parc informatique, en complément de l'outil GLPI existant : un outil interne, intégré au SI, livré en production.The information-systems department needed a reliable, up-to-date view of its hardware fleet, complementing the existing GLPI tool: an internal application, integrated with the IS, shipped to production.

Réalisation techniqueTechnical work

  • Application web de gestion du parc et API REST associée, en Java / Spring Boot avec persistance Hibernate / JPA.Asset-management web application and its REST API, in Java / Spring Boot with Hibernate / JPA persistence.
  • Modélisation de la base de données relationnelle et intégration au système d'information et à GLPI.Relational database modeling and integration with the information system and GLPI.
  • Recueil du besoin en direct avec les équipes, itérations courtes, tests garantissant la qualité avant chaque mise en production.Requirements gathered directly with the teams, short iterations, tests guaranteeing quality before each production release.

RésultatsResults

  • Outil livré et utilisé en production par la DSI.Tool delivered and used in production by the IT department.
  • Inventaire fiabilisé et traçabilité du parc améliorée.More reliable inventory and better fleet traceability.

Environnement techniqueTechnical environment

JavaSpring BootHibernate / JPASQLGitMavenDBeaver
03

Stack techniqueTechnical stack

Les technologies et les concepts que je pratique, organisés par domaine. Les projets ci-dessus montrent comment je les combine en situation réelle. The technologies and concepts I work with, organized by domain. The projects above show how I combine them in real situations.

LangagesLanguages

JavaPythonJavaScript / TypeScriptSQLC / C++PHPHTML / CSS

Back-end

Spring BootSpring SecuritySpring Data JPA / HibernateNode.js / ExpressServlets / Tomcat

Front-end

AngularReactVue.jsJavaFXCanvas 2DTailwind CSSVite / Webpack

Architecture & conceptionArchitecture & design

Client-serveurClient-serverArchitecture en couches / n-tiersLayered / n-tierMonolithe modulaireModular monolithMicroservicesAPI REST / OpenAPIDesign patterns (GoF)DDDUMLSOLID

Bases de donnéesDatabases

Relationnelles : PostgreSQL · MySQL · SQLiteRelational: PostgreSQL · MySQL · SQLiteModélisation entité-associationER modelingOptimisation de requêtesQuery optimizationNon relationnelles : MongoDB · RedisNon-relational: MongoDB · RedisFlyway

SécuritéSecurity

OAuth2 / OIDCJWTKeycloakSpring SecuritySAST : SonarQube · CheckMarxDurcissement (XSS, rate limiting)Hardening (XSS, rate limiting)CryptographieCryptographyRGPDGDPR

DevOps & Cloud

DockerKubernetesGitLab CI/CDJenkinsnginxLinuxOpenStackTerraformAWS (certification en cours)AWS (certification in progress)Prometheus / Grafana

Data & Machine Learning

pandasscikit-learnRégression & validation croiséeRegression & cross-validationQualité de donnéesData qualitySparkHadoop

Temps réel & messagingReal time & messaging

WebRTCSocket.IOWebSocketRabbitMQMQTT

Qualité & testsQuality & testing

JUnit 5MockitoTestContainersRestAssuredJaCoCoRevues de codeCode reviewsTests unitaires / intégration / fonctionnelsUnit / integration / functional tests

Fondements théoriquesTheoretical foundations

Une pratique adossée à une formation universitaire complète en informatique (Master, Bac+5) : la théorie n'est pas un vernis, c'est ce qui permet de reconnaître un problème NP-difficile, de choisir le bon modèle d'apprentissage ou de dimensionner une architecture. Practice grounded in a full university education in computer science (MSc): theory is not varnish, it is what lets you recognize an NP-hard problem, pick the right learning model or size an architecture.

Algorithmique & complexitéAlgorithms & complexityOptimisation & recherche opérationnelleOptimization & operations researchThéorie des graphesGraph theoryCompilationSystèmes distribuésDistributed systemsRéseaux (modèle OSI)Networking (OSI model)
04

Au-delà du codeBeyond the code

Un logiciel réussi est d'abord une affaire de personnes : comprendre, convaincre, arbitrer, transmettre. Voici comment je travaille avec les autres. Successful software is first a matter of people: understanding, convincing, deciding, passing on. Here is how I work with others.

Comprendre avant de construireUnderstand before building

Je m'immerge dans le domaine de mes interlocuteurs : entretiens avec les experts, observation des usages réels, reformulation du besoin en spécifications validées. Un vocabulaire métier maîtrisé vaut autant qu'un framework.I immerse myself in my stakeholders' domain: expert interviews, observation of real usage, needs reformulated into validated specifications. Mastering the business vocabulary is worth as much as any framework.

Communiquer à tous les niveauxCommunicate at every level

Je présente régulièrement mes travaux à des directions comme à des utilisateurs de terrain : vulgariser un modèle d'apprentissage ou un algorithme complexe, préparer une démonstration qui répond aux vraies questions, écrire pour être compris.I regularly present my work to leadership as well as field users: explaining a learning model or a complex algorithm in plain words, preparing demos that answer the real questions, writing to be understood.

Faire aboutirSee things through

Je découpe, j'estime, je priorise sous contrainte de valeur, d'effort et de risque ; j'organise les recettes, je transforme chaque retour en correctif ou en évolution, et j'assume mes arbitrages en les documentant.I slice, estimate and prioritize under value, effort and risk constraints; I run acceptance sessions, turn every piece of feedback into a fix or an improvement, and stand by my trade-offs in writing.

TransmettrePass it on

Documentation d'architecture, guides d'exploitation, revues de code exigeantes et bienveillantes : je travaille pour que l'équipe reste autonome après moi, pas pour rendre le système dépendant de son auteur.Architecture documentation, runbooks, demanding yet kind code reviews: I work so the team stays autonomous after me, not to make the system depend on its author.

FormationEducation

Master Informatique, ingénierie logicielleMSc in Computer Science, software engineering

Parcours Technologies de l'Information et du Web · Université Claude Bernard Lyon 1 · Bac+5.Information & Web Technologies track · Université Claude Bernard Lyon 1.

Certification AWS Cloud PractitionerAWS Cloud Practitioner certification

En préparation.In progress.

LanguesLanguages

FrançaisFrenchBilingueBilingual
AnglaisEnglishCourantFluent
ArabeArabicBilingueBilingual
05

Construisons quelque chose de solide.Let's build something solid.

Basé à Lyon, mobile partout en France. Je suis ouvert à toute opportunité et à toute conversation sérieuse : écrivez-moi, je réponds. Based in Lyon, mobile anywhere in France. I am open to any opportunity and any serious conversation: write to me, I answer.