Développeur chez JoyPix · Ouvert à la bonne opportunité Doha, Qatar

Firas Lamouchi — développeur full-stack & architecte systèmes

Je suis le seul développeur sur la plateforme d'applications de JoyPix à Doha — trois apps web, une app mobile, et l'infrastructure derrière. Quatre ans en solo m'ont appris à trouver les défaillances qui ne s'annoncent pas, comme du code qui renvoie 200 et qui a pourtant tort. Chacune est consignée plus bas.

Vous recrutez ? En bref

Développeur full-stack à Doha, 4 ans en production. Stack principale : NestJS, Rust, .NET/C#, Kotlin, TypeScript. Ouvert à de nouveaux postes, sur site à Doha.

01Qui je suis

Tunisien, basé à Doha, en général le seul développeur sur le projet

En ce moment

Je construis la plateforme d'applications de JoyPix à Doha, en tant que seul développeur. Je publie Ferry en parallèle, et j'apprends Kotlin pour le prochain projet.

Ma façon de travailler

Un seul endroit où chaque règle s'applique. Refus par défaut. Et je ne considère rien comme terminé tant que je ne m'en suis pas servi moi-même comme le ferait l'utilisateur réel.

→ toutes mes habitudes de travail

Langues

  • ArabeLangue maternelle
  • FrançaisCourant
  • AnglaisCourant
  • AllemandConversationnel
02Parcours

Cinq postes, dont une entreprise que j'ai cofondée

  • JoyPixDéveloppeur logiciel — seul développeur sur la plateforme2026-04 — auj.
  • JDLDéveloppeur full-stack (temps partiel)2026-04 — auj.
  • RydeDéveloppeur systèmes / Support d'exploitation2025-11 — 2026-02
  • SiccaDevCofondateur & Responsable technique2024-03 — 2025-08
  • Tunisian CloudStagiaire2023-06 — 2023-08
  • Tunisie TélécomStagiaire2023-03 — 2023-03
Le parcours complet, ce que j'y ai porté, et la formation
04Technologies

Ce que j'utilise, et pourquoi je l'ai choisi

Ce vers quoi je vais réellement, groupé par couche.

Back-end
NestJSTypeScriptNode.jsPrismaPostgreSQLpgBouncerRedisRust.NET / C#
Front-end & mobile
ReactNext.jsTailwind CSSshadcn/uiViteAngularFigmaTanStack QueryZustand
Infrastructure & DevOps
DockerGitHub ActionsPM2CaddynginxTraefikProxmoxCloudflareLinux
Tests & QA
JestVitestPlaywrightStrykerGrafana k6
Sécurité & authentification
JWT / joseOAuth 2.0Noise Protocolage / ed25519Qatar PDPPLHelmet / CSPargon2 / bcrypt
Les technologies complètes, et pourquoi chacune l'a emporté
05Journal technique

Classé selon la façon dont ça a cassé, pas selon l'endroit

Chaque bug qui vaut la peine, classé selon la façon dont il a cassé.

  • Ça ne pouvait pas marcher15
  • Ça disait que ça marchait13
  • Deux copies ont divergé13
  • Le filet avait un trou13
  • Visible seulement en s'en servant11
  • Construit, et rien ne s'en servait8
Parcourir le journal →73 bugs · 53 notes
06Infrastructure

Je gère aussi les serveurs

La périphérie, les sauvegardes et la restauration sont à moi — y compris la machine qui sert cette page.

Weekly storage use
−80%
Frontend first load
2× faster
Backup tiers
3 · one offline
Reverse proxies
Caddy · nginx · Traefik
Comment c'est construit, et ce que ça a encaissé
07Le récit

D'une batterie dans le navigateur à un démon pair-à-pair

La version longue, en huit chapitres.

En ce moment

construction

JoyPix — la plateforme, au quotidien

Mon vrai travail. Trois apps web, une app mobile et l'infrastructure en dessous, en tant que seul développeur dessus. En ligne sur eduqate.qa.

publication

Ferry — vers la sortie

Le démon de transfert pair-à-pair devient public. Huit crates Rust, une CLI, une extension VS Code et une application de bureau, tous parlant à un seul démon local. Aucun serveur nulle part.

construction

OpenDerja_TN

Le corpus ouvert pour la derja tunisienne — construction de la surface contributeur par-dessus le back-end et le moteur de tâches.