Description du poste
SENIOR FULLSTACK DEVELOPER
Titre du poste : Fullstack Senior Developer ([Link], [Link], TypeScript)
Lieu : Tunis - Hybride
Type de contrat : CDI
Expérience requise : Minimum 5 ans
Description du poste :
Nous recherchons un(e) Fullstack Senior Developer capable de concevoir, développer et maintenir des applications web
complexes à haute disponibilité, en utilisant un stack moderne principalement basé sur [Link], [Link] et TypeScript. Vous
interviendrez aussi bien sur les aspects backend que frontend tout en participant activement aux processus DevOps, pour
garantir une intégration continue fluide et des déploiements automatisés.
Responsabilités principales :
Développement Backend :
o Développer des APIs RESTful robustes en [Link].
o Créer des services backend en utilisant des frameworks tels que Express ou NestJS.
o Optimiser les performances serveur et assurer la gestion des erreurs et des logs.
o Intégrer et interagir avec des bases de données relationnelles (ex : PostgreSQL, MySQL) et NoSQL (ex :
MongoDB, Redis).
o Implémenter des architectures basées sur des microservices ou des architectures serverless selon les
besoins du projet.
Développement Frontend :
o Développer des interfaces utilisateur dynamiques et performantes avec [Link] (ou [Link]).
o Créer des composants réutilisables en suivant les meilleures pratiques de structuration de projet [Link]
(ex : utilisation de Pinia pour la gestion de l'état).
o Assurer une intégration parfaite entre le frontend et les APIs backend.
o Gérer le routage, les permissions, et la gestion de sessions (tokens JWT, OAuth).
TypeScript :
o Écrire du code fortement typé en TypeScript pour garantir la robustesse et la maintenabilité à long terme
des applications.
o Implémenter des tests unitaires et fonctionnels en utilisant des outils comme Jest, Mocha ou Chai pour
garantir la fiabilité du code.
DevOps et CI/CD :
o Automatiser les processus de développement et de déploiement avec des pipelines CI/CD en utilisant
GitlabCI, Jenkins, CircleCI, ou d'autres solutions équivalentes.
o Conteneuriser les applications et les services en utilisant Docker, et orchestrer ces conteneurs
(idéalement avec Docker Compose ou Kubernetes).
o Configurer des environnements cloud (AWS, GCP, Azure) ou on-premise pour le déploiement des
applications.
o Gérer le monitoring des applications via des outils comme Prometheus, Grafana, ou des services cloud
(ex : AWS CloudWatch, Azure Monitor).
Architecture et Sécurité :
o Concevoir des systèmes scalables et résilients, avec des pratiques de haute disponibilité.
o Mettre en œuvre des solutions de cache (ex : Redis, Memcached) pour optimiser la performance.
o Implémenter des stratégies de sécurité solides (ex : protection contre les attaques XSS, CSRF, sécurisation
des endpoints avec des tokens JWT, authentification OAuth2).
Gestion des versions et collaboration :
o Utiliser Git et des outils de gestion des versions distribuées (ex : Gitlab, Github, Bitbucket) pour gérer le
cycle de développement.
o Collaborer étroitement avec les équipes produit et QA pour comprendre les besoins métier et livrer des
solutions de qualité.
o Participer aux code reviews et suivre les bonnes pratiques de développement (Clean Code, SOLID, DRY).
Profil recherché :
Formation : Diplôme d’ingénieur en informatique ou équivalent.
Expérience : Minimum 5 ans en développement Fullstack, avec une expertise prouvée sur les technologies suivantes
:
o Backend : [Link], Express/NestJS, bases de données relationnelles et NoSQL.
o Frontend : [Link], [Link], gestion de l’état avec Pinia.
o TypeScript pour le développement fullstack.
o DevOps : Docker, CI/CD avec GitlabCI, Jenkins, ou équivalent.
o Architecture : Connaissance des architectures microservices et des services cloud (AWS, GCP, Azure).
Compétences techniques requises :
Langages : TypeScript, JavaScript (ES6+), SQL, Bash (souhaité).
Frameworks : [Link], [Link], NestJS ou Express, [Link].
DevOps : Docker, GitlabCI, Jenkins, CircleCI, Docker Compose/Kubernetes.
Bases de données : PostgreSQL, MySQL, MongoDB, Redis.
Tests : Jest, Mocha, Chai, Cypress (souhaité).
Sécurité : Gestion de JWT, OAuth2, sécurité des APIs.
Compétences additionnelles (souhaitées) :
Expérience avec Kubernetes pour l'orchestration des conteneurs.
Connaissance des services cloud (AWS, GCP, Azure) et des outils de monitoring.
Maîtrise de Webpack et d’autres outils de build JavaScript.
Qualités personnelles :
Capacité à résoudre des problèmes complexes de manière créative.
Esprit d’équipe, communication efficace et aptitude à travailler dans un environnement agile.
Proactivité, rigueur et attention aux détails.
Capacité à former et accompagner des développeurs juniors.