Aller au contenu
HA_

Ingénieur backend senior · Systèmes distribués et architecture multi-tenant

Hassan Abrar

Des systèmes qui tiennent sous pression.

Je conçois et j’exploite des backends multi-tenant orientés événements en Java/Spring Boot et Node.js/TypeScript, de la paie pour de grandes entreprises saoudiennes au blocage en temps réel de la fraude publicitaire.

Disponible en télétravail · Chevauchement horaire Europe / côte Est des États-Unis

01 / Signal

Des chiffres issus de la production

5+

années à concevoir et exploiter des systèmes en production

1 k+

bases de données tenant isolées avec 99,9 % de disponibilité

12

microservices en production extraits d’un monolithe

10 k+

utilisateurs simultanés sur un système de chat en temps réel

  1. 01

    Modéliser

    Frontières de domaine, multi-tenancy, modes de défaillance.

  2. 02

    Construire

    Des services orientés événements aux contrats clairs.

  3. 03

    Exploiter

    Tableaux de bord, alertes et mises en production sereines.

FIG. 01 / Ma méthode

02 / Architectures

Des problèmes différents. Des architectures réfléchies.

01 · Projet indépendant · Seul architecte et opérateur

ClickFortify

Détection en temps réel de la fraude publicitaire pour Google Ads et Meta Ads

Problème · Les annonceurs perdent du budget à cause du trafic provenant de bots, de VPN, de proxys et de data centers. Les clics invalides doivent être détectés et exclus pendant que les campagnes tournent, et non découverts dans un rapport des semaines plus tard.

Contraintes

  • Chaque annonceur est un tenant isolé
  • Les exclusions doivent être synchronisées dans les comptes publicitaires Google Ads et Meta
  • La détection s’exécute en continu sur le trafic en direct

Décisions clés

  • Microservices orientés événements sur NATS, pour que la collecte, le scoring et la synchronisation évoluent indépendamment
  • Files de tâches Redis Bull pour les nouvelles tentatives et la contre-pression sur les appels aux API des plateformes publicitaires
  • Scoring comportemental avec empreinte d’appareil (device fingerprinting) et filtrage des VPN, proxys et data centers
Ad clickCollectorNATSScoringAds syncTenant DBs
FIG. 02 / Schéma du système · ClickFortify

Résultats

  • Synchronisation automatisée des exclusions d’IP vers les comptes publicitaires des annonceurs
  • Migration de bases de données en production, à chaud, sur plus de 500 bases tenant, avec une interruption quasi nulle

Stack

Node.jsTypeScriptNATSRedis BullMongoDBNext.js
FIG. 02B / Pare-feu de trafic en direct · simulation

02 · Ingénieur backend senior (contrat) via Mission.dev

Masdr payroll platform

Fintech d’entreprise et paie pour les grands employeurs saoudiens

Problème · La paie, la vérification bancaire et les versements passent par une seule plateforme pour de grands employeurs. Un message perdu ou dupliqué signifie qu’une personne est mal payée.

Contraintes

  • Architecture multi-tenant et multi-bases de données
  • Gouvernance stricte des API pour les partenaires et les banques
  • Les mises en production passent par DEV, UAT et PROD sur WebLogic

Décisions clés

  • Pipelines JMS asynchrones et orientés événements pour le traitement de la paie, la vérification bancaire et la communication entre services
  • Cycle de vie des API sur Apigee : limitation de débit, politiques d’authentification et d’autorisation, validation des requêtes et des réponses
  • Tableaux de bord et alertes Splunk ciblant les incidents de paie et de vérification
ApigeePayroll svcBank verifyJMSTenant DBs
FIG. 03 / Schéma du système · Masdr payroll platform

Résultats

  • Diagnostic plus rapide des incidents de paie et de vérification en production
  • Configuration et isolation des tenants étendues au fil de l’intégration de nouveaux tenants entreprise

Stack

JavaSpring BootJMSApigeeSplunkJenkinsIBM UrbanCode DeployWebLogic

03 · Ingénieur logiciel senior

Southville multi-tenant platform

D’un monolithe à 12 microservices en production

Problème · Un seul monolithe servait tous les clients : un module lent ou un mauvais déploiement affectait tous les tenants, et l’intégration d’un tenant se faisait à la main.

Contraintes

  • Maintenir le produit en service pendant toute la décomposition
  • Isolation stricte des données pour chaque tenant
  • Logs dispersés entre GCP et AWS

Décisions clés

  • Découpage en 12 services selon les frontières de domaine
  • Une base de données par tenant, avec résolution dynamique du schéma et provisionnement automatisé
  • Pipelines d’événements JMS pour le versement des salaires et la gestion des présences
  • Observabilité centralisée sur Google Cloud Logging, AWS CloudWatch et Splunk
MonolithGatewayBookingPayroll+10 moreTenant resolver
FIG. 04 / Schéma du système · Southville multi-tenant platform

Résultats

  • Plus de 1 000 bases de données tenant isolées avec 99,9 % de disponibilité
  • Temps de réponse des API améliorés de plus de 40 % grâce au cache Redis et à l’optimisation des requêtes
  • Temps de détection et de résolution des incidents réduit de 60 %
  • Plateforme de réservation traitant plus de 10 000 transactions par jour

Stack

NestJSNode.jsSpring BootMongoDBPostgreSQLRedisJMSDockerKubernetes

04 · Concepteur

VoxRange

Infrastructure d’IA vocale et d’analyse d’appels

Problème · Les produits vocaux ont besoin de téléphonie, de transcription et d’une voix naturelle en temps réel, sans dépendre entièrement d’API tierces facturées à la minute.

Contraintes

  • Chemins audio en temps réel
  • Capacité GPU auto-hébergée et limitée

Décisions clés

  • Pipeline de téléphonie en temps réel avec reconnaissance vocale
  • Modèles de synthèse vocale personnalisés entraînés sur des GPU auto-hébergés
CallTelephonySTTCustom TTSGPU
FIG. 05 / Schéma du système · VoxRange

Résultats

  • Infrastructure d’IA vocale en production couvrant la téléphonie, la reconnaissance vocale et la synthèse vocale personnalisée

Stack

TelephonySpeech-to-textText-to-speechSelf-hosted GPU

05 · Ingénieur logiciel

Lytics · PEMRA

Veille et analyse des médias pour la Pakistan Electronic Media Regulatory Authority

Problème · Le régulateur surveille les diffusions en direct sur de nombreuses chaînes et doit pouvoir trouver, découper et examiner rapidement les contenus, en ourdou comme en anglais.

Contraintes

  • Ingestion vidéo en direct et en continu
  • Contenu bilingue ourdou et anglais

Décisions clés

  • Ingestion et découpage de vidéos en direct
  • Transcription et traduction automatisées en ourdou et en anglais
  • Étiquetage des métadonnées alimentant des tableaux de bord de supervision en temps réel
Live TVIngest + clipTranscribe ur/enTaggingDashboards
FIG. 06 / Schéma du système · Lytics · PEMRA

Résultats

  • Un système unique pour la surveillance, la recherche et le contrôle réglementaire des contenus diffusés

Stack

Node.jsReactMongoDBPostgreSQL

Autres projets

03 / Expérience

Là où le travail s’est fait

  1. mai 2025 – Aujourd’hui · Remote · Riyadh, Saudi Arabia

    Senior Backend Engineer · Mission.dev

    Client: Masdr

    Plateforme de fintech d’entreprise et de paie au service de grands employeurs d’Arabie saoudite.

    • Responsable de la livraison de bout en bout des fonctionnalités sur des microservices Spring Boot, dans une architecture de paie multi-tenant et multi-bases de données.
    • Conception de pipelines JMS asynchrones pour le traitement de la paie, la vérification bancaire et la communication entre services.
    • Gestion du cycle de vie des API sur Apigee : limitation de débit, politiques d’authentification et validation des requêtes et des réponses.
    • Création de tableaux de bord et d’alertes Splunk qui accélèrent le diagnostic des incidents de paie et de vérification.
  2. févr. 2023 – Aujourd’hui · Lahore, Pakistan

    Senior Software Engineer · Southville Solutions

    • Pilotage de la décomposition d’un monolithe en 12 microservices en production.
    • Conception d’une infrastructure multi-tenant pour plus de 1 000 bases de données tenant isolées avec 99,9 % de disponibilité.
    • Développement d’une plateforme de réservation NestJS/MongoDB traitant plus de 10 000 transactions par jour ; temps de réponse des API améliorés de plus de 40 %.
    • Centralisation de l’observabilité sur GCP Logging, CloudWatch et Splunk, réduisant de 60 % le temps de résolution des incidents ; encadrement de plus de 5 ingénieurs.
  3. mai 2021 – janv. 2023 · Lahore, Pakistan

    Associate Software Engineer · Stack Intel .IO

    Promu après un stage d’ingénieur logiciel (03/2021 – 05/2021).

    • Développement d’un chat en temps réel sur Node.js, WebSockets et Redis Pub/Sub pour plus de 10 000 utilisateurs simultanés, avec 99,8 % de messages distribués.
    • Mise en place de notifications push en moins de 100 ms avec Socket.io et Redis Streams ; intégration de Stripe sans aucun incident de sécurité.
    • Couverture de tests portée à 85 % avec Jest, Mocha et Supertest, réduisant les défauts de 45 %.
  4. oct. 2021 – avr. 2022 · Lahore, Pakistan

    Developer Head · MSP Community, University of LahoreLeadership

    • Responsable du pôle développeurs : sessions techniques et accompagnement pratique des étudiants ingénieurs.
  5. 2017 – 2021 · Lahore, Pakistan

    BS Computer Science · The University of LahoreFormation

    • Licence (Bachelor of Science) en informatique.

04 / Index technique

Les outils avec lesquels je livre

Langages
JavaTypeScriptJavaScriptPythonSQL
Backend
Spring BootNode.jsNestJSExpress.jsFlaskDjango
Architecture
MicroservicesEvent-drivenMulti-tenantDistributed systemsRESTGraphQLWebSockets
Messagerie et streaming
Apache KafkaNATSJMSRedis BullSocket.io
Bases de données
PostgreSQLMySQLOracleMongoDBRedisDynamoDB
Cloud et DevOps
AWS (EC2, S3, Lambda, RDS)GCPDockerKubernetesJenkinsGitHub ActionsIBM UrbanCode Deploy
Observabilité et sécurité
SplunkCloudWatchGoogle Cloud LoggingELKOAuth2JWTApigee
Frontend et mobile
ReactReduxTailwind CSSReact NativeExpo

05 / Notes de terrain

Ingénieur avant tout. Architecte par habitude.

Survolez pour révéler · touchez sur écran tactile

FIG. 00 / Note de terrain · 31.5204° N · 74.3587° E · LAHORE

Je suis ingénieur backend senior, avec plus de 5 ans d’expérience dans la conception et l’exploitation de systèmes en production, dans la fintech d’entreprise, l’adtech et le SaaS à fort volume. Je travaille sur les deux grands écosystèmes backend, Java/Spring Boot et Node.js/TypeScript, avec une expertise approfondie des microservices orientés événements, de l’architecture multi-tenant et des pipelines de données en temps réel.

J’ai mené la décomposition d’un monolithe en 12 microservices en production, conçu une infrastructure multi-tenant pour plus de 1 000 bases de données tenant isolées avec 99,9 % de disponibilité, et encadré plus de 5 ingénieurs. Je travaille à distance avec des équipes en Arabie saoudite, en Europe et en Amérique du Nord.

Langues parlées
Anglais · Ourdou
En ce moment, j’explore
L’infrastructure d’IA vocale : téléphonie en temps réel, reconnaissance vocale (speech-to-text) et synthèse vocale (text-to-speech) personnalisée sur des GPU auto-hébergés.

06 / Articles

Notes de production

Tous les articles →

07 / FAQ

Quelques réponses utiles

Quel type de missions acceptez-vous ?

Des postes et des contrats backend senior : conception et développement de services orientés événements, de plateformes multi-tenant, et découpage de monolithes en services déployables indépendamment.

Où êtes-vous basé et quels fuseaux horaires couvrez-vous ?

À Lahore, au Pakistan (UTC+5). Je travaille à distance en gardant un chevauchement d’horaires avec les équipes en Europe et sur la côte Est des États-Unis, et j’ai déjà travaillé avec des équipes en Arabie saoudite, en Europe et en Amérique du Nord.

Quelle stack préférez-vous ?

J’utilise en production aussi bien Java/Spring Boot que Node.js/TypeScript (NestJS), avec Kafka, NATS ou JMS pour la messagerie et PostgreSQL, MongoDB ou Redis pour les données. Je choisis en fonction de l’équipe et du problème.

Pouvez-vous rejoindre une équipe et une base de code existantes ?

Oui, c’est l’essentiel de mon travail. Je m’intègre par la revue de code et les discussions d’architecture, puis je prends en charge des fonctionnalités de bout en bout.

Intervenez-vous sur l’observabilité et les incidents de production ?

Oui. J’ai mis en place des tableaux de bord et des alertes Splunk, CloudWatch et Google Cloud Logging qui ont réduit de 60 % le temps de résolution des incidents.

Comment commencer ?

Réservez un appel de 30 minutes ou écrivez-moi pour me dire ce que vous construisez et où ça coince. Je réponds sous 24 heures.

08 / Contact

Un système qui doit passer à l’échelle ? Faisons en sorte qu’il tienne.

Dites-moi ce que vous construisez et où ça coince. Je réponds généralement sous 24 heures.