Dossier de Compétences

Karl JOYEUX - Ingénieur Fullstack

Présentation

Ce dossier de compétences présente mon expertise technique et mes réalisations en tant qu'ingénieur fullstack. À travers mes expériences professionnelles et mes projets personnels, j'ai développé un ensemble de compétences que je souhaite mettre au service de votre entreprise.

J'ai décidé de créer une nouvelle version de ce projet avec de nombreuses améliorations. Vous pouvez retrouver son avancement ici :

Compétences techniques

Développement Front-end

JavaScript / TypeScript

Maîtrise des concepts avancés en JS (promises, async/await, modules).

React

Développement d'interfaces utilisateur dynamiques et réactives avec React. Utilisation des hooks, du contexte pour la gestion d'état. Création de composants réutilisables.

HTML5 / CSS3 / SASS

Expertise en intégration web responsive. Utilisation avancée de Flexbox, Grid et des variables CSS.

Développement Back-end

Node.js / Express

Développement d'APIs RESTful avec Node.js et Express. Gestion des requêtes asynchrones, middleware, et routage.

Bases de données

Expérience avec MongoDB (NoSQL) et MySQL / NeonDB (SQL). Conception de schémas de données, mise en place des requêtes SQL.

Tests et Qualité

Tests End-to-End (Playwright)

Compétences dans la mise en place et l'automatisation de tests E2E avec Playwright.

Tests unitaires

Expérience avec Jest et React Testing Library pour les tests unitaires . Mise en place de tests automatisés dans un pipeline CI/CD.

DevOps & Outils

Git & Contrôle de version

Utilisation quotidienne de Git pour la gestion de version. Familier avec les workflows comme Gitflow, la résolution de conflits et la revue de code. Respect de bonnes pratiques de gestion de projet

CI/CD

Expérience dans la configuration de pipelines CI/CD (GitHub Actions) pour l'automatisation des tests et du déploiement.

Projets significatifs

XR MetaViz

BabylonJs ThreeJs Typescript C++ AI

Contexte : Projet de Stage de Fin d'études

Objectifs : Editer une documentation technique des besoins et du projet

Objectifs : Créer un service dans un sdk web pour permettre le support d'applications métier en réalité virtuelle

Objectifs : Créer une application immersive de visualisation de données médicale en 3D.

Contributions personnelles :

  • Développements d'un microservice
  • Réunions régulières avec l'équipe UX pour rester à proximité du besoin des clients
  • Documentation des explorations et des décisions techniques
  • Développements de prototypes d'application de réalité virtuelle
  • Animation d'ateliers pour récolter les avis des utilisateurs

Résultats : Une documentation technique du projet comprenant des notes personnelles et un cahier des charges.

Résultats : Un microservice qui suit l'architecture du sdk interne à l'entreprise

Résultats : Une application showroom permettant de faire la démonstration des fonctionnalités apportées par le microservice développé

dashboard

NextJs, Vercel

Contexte : Projet Personnel pour prendre en main NextJs et React

Objectifs :Créer un dashboard avec des composants web en suivant le cycle de vie du framework NextJs

Contributions personnelles :

  • Développements de composants web réutilisables
  • Configuration du déploiement automatisé sur Vercel

Résultats : Plateforme fonctionnelle et performante

snapshot du dashboard

dashboard-backend

NextJs, Vercel

Contexte : Projet Personnel pour prendre en main NextJs et React

Objectifs :Créer un dashboard avec des composants web en suivant le cycle de vie du framework NextJs

Contributions personnelles :

  • Développements de composants web réutilisables
  • Configuration du déploiement automatisé sur Vercel

Résultats : API Fonctionnelle et sécurisée

snapshot du dashboard

Youtube Vibe Coding

React, Typescript, Vite

Contexte : Développer une interface utilisateur responsive avec react

Objectifs :Développer une interface utilisateur en utilisant de l'IA et des composants web pour un travail efficient

Architecture : Atomic Design bottom up

Résultats : Une UI très similaire à celle de Youtube

snapshot de la ui de youtube-vibe-coding

Compétences transversales

Travail en équipe & Communication

Durant mes expériences dans le milieu professionnel, j'ai travaillé au sein d'équipes multidisciplinaires. J'ai participé activement aux rituels agiles et j'ai appris à communiquer efficacement mes idées et à être à l'écoute des besoins de l'équipe.

J'ai également présenté régulièrement l'avancement de mes projets aux parties prenantes, adaptant mon discours technique en fonction de l'audience. Enfin, j'ai toujours été force de proposition pour résoudre les problématiques techniques liées à mes missions

Résolution de problèmes & Autonomie

Face à des défis techniques, j'adopte une approche méthodique de résolution de problèmes: analyse de la situation, recherche de solutions, expérimentation et validation. Mon stage en QA m'a particulièrement formé à l'identification et à la résolution de bugs complexes.

Je suis capable de travailler de manière autonome, en gérant efficacement mon temps et mes priorités. Je n'hésite pas à prendre des initiatives tout en sachant quand demander de l'aide ou des clarifications.

Veille technologique & Apprentissage continu

Je maintiens une veille technologique active à travers la lecture d'articles, la participation à des webinaires et des conférences. Je consacre régulièrement du temps à l'apprentissage de nouvelles technologies et à l'amélioration de mes compétences existantes.

Récemment, je me suis formé aux technologies suivantes: Next.js, Materialize

Conclusion & Projections

  • En tant qu'ingénieur fullstack, je combine une solide formation d'ingénieur avec des expériences pratiques significatives en stage. Ma double compétence en développement full-stack et en tests automatisés me permet d'avoir une vision globale des projets et d'être particulièrement attentif à la qualité du code.

  • Je souhaite rejoindre une équipe dynamique où je pourrai continuer à développer mes compétences, particulièrement dans le développement front-end avec React et les architectures microservices côté back-end. Je suis particulièrement intéressé par les projets innovants qui ont un impact positif sur leurs utilisateurs.

  • À moyen terme, je souhaite me spécialiser davantage en architecture logicielle et en optimisation des performances des applications web immersives.