Développeur·euse Front-end

FranceConfirmé·e

Questions d'entretien structurées pour Développeur·euse Front-end, avec ce qu'une bonne réponse révèle pour chacune.

  1. ComportementaleDécision technique Front-end

    Décrivez la décision Front-end la plus difficile que vous avez prise sur votre dernier poste (choix de framework, refactor majeur, arbitrage performance vs DX). Pourquoi était-elle difficile et comment l'avez-vous tranchée ?

    Ce qu'une bonne réponse révèle

    Capacité à structurer une décision sous incertitude : identification des contraintes (équipe, calendrier, dette existante, parc utilisateur·rice), arbitrages explicites, consultation des parties concernées (designer, back-end, PM), validation a posteriori avec des données (Core Web Vitals, taux d'erreur, feedback équipe). Bonus : la·le candidat·e mentionne avoir changé d'avis en cours de route ou avoir documenté la décision. Les candidat·e·s qui décrivent une décision « évidente » avec recul révèlent qu'ils·elles n'ont jamais vraiment arbitré.

  2. ComportementaleDebug et investigation Front-end

    Parlez-moi d'un bug Front-end pénible que vous avez résolu (rendu cassé sur un navigateur, fuite mémoire dans un composant, layout shift inattendu). Quel était le symptôme, comment avez-vous diagnostiqué, et combien de temps a-t-il fallu ?

    Ce qu'une bonne réponse révèle

    Méthode de debug structurée : reproduction, DevTools (Performance tab, Memory tab, rendering, network), instrumentation, hypothèses validées par expérimentation. Honnêteté sur la durée (un vrai bug Front-end dure rarement moins de 30 min). Bonus : la·le candidat·e cite la cause profonde et le correctif systémique (pas seulement le hotfix). Les réponses « j'ai changé une propriété CSS au hasard et ça a marché » sans diagnostic révèlent une faiblesse d'investigation.

  3. ComportementaleApprentissage et humilité

    Décrivez un moment où vous avez dû refactorer ou réécrire un composant Front-end que vous aviez vous-même écrit quelques mois auparavant. Que s'était-il passé entre-temps ?

    Ce qu'une bonne réponse révèle

    Humilité technique et capacité à apprendre. Bonus : la·le candidat·e identifie ce qu'il·elle aurait fait différemment dès le départ (découpage, gestion d'état local vs global, séparation logique / présentation). Les candidat·e·s qui n'ont « jamais vraiment dû refactorer leur code » mentent ou n'ont pas porté de code en production sur la durée.

Playbook d'évaluation

Le rôle de Développeur·euse Front-end se signale à travers cinq stades d'évaluation. Le pair-programming sur composant et le cas design system (stades 3 et 4) sont les plus prédictifs : ils révèlent la profondeur réelle sur HTML sémantique, CSS, accessibilité, et collaboration avec le design, là où le CV et le phone screen filtrent surtout sur la stack déclarée.

  1. Stade 1: Lecture du CV et exploration GitHub / portfolio

    Lisez le CV en parallèle du profil GitHub et d'éventuels dépôts publics. Cherchez la cohérence de stack (un·e profil React + TypeScript ne se replonge pas dans AngularJS sans 2-4 mois de réadaptation), la stabilité (durée minimale 18-24 mois sur les postes précédents), et les signaux d'investissement métier (contributions open source, articles publiés, talks meetup, side-projects avec démos publiques). Le diplôme compte moins que les 3-5 dernières années d'expérience : un·e autodidacte avec 5 ans de production solide vaut plus qu'un·e diplômé·e top école avec 2 ans de stage prolongé. Discount : profils qui n'ont jamais touché à CSS au-delà des classes utilitaires Tailwind, ou qui décrivent toute leur expérience sous l'angle algorithmique sans mention d'UI ou d'utilisateur·rice·s.

  2. Stade 2: Phone screen (30 min)

    Trois questions seulement : (1) « Décrivez le projet Front-end dont vous êtes le·la plus fier·ère ; quelle a été votre contribution exacte sur la couche UI ? », (2) « Quelle décision Front-end (choix de framework, refactor de composant, arbitrage perf vs DX) avez-vous prise récemment dont vous doutez encore ? » (humilité et rétrospection), (3) « Pourquoi un changement maintenant ? ». Sortie : go ou no-go en 5 min de débrief. Évitez les questions « gotcha » sur les API JavaScript à ce stade ; cherchez la maturité de raisonnement Front-end.

  3. Stade 3: Pair-programming sur composant (60-90 min)

    Exercice borné (45-60 min) : ajouter une feature ou refactorer un composant React, Vue ou Svelte existant. Cas typiques : ajouter la gestion clavier complète à un menu déroulant, refactorer un composant à 400 lignes en 2-3 sous-composants, débuguer un re-render inutile. Suivi de 15-30 min de Q&A sur les décisions prises. Évaluez la capacité à raisonner à voix haute, à demander des clarifications, à itérer, à reconnaître ce qu'il·elle ne sait pas. Évitez les algorithmes purement académiques sans rapport avec le métier ; privilégiez un exercice qui ressemble au quotidien d'un·e Front-end.

  4. Stade 4: Cas design system et collaboration design (60 min)

    Présentez un cas concret : « Voici une maquette Figma qui propose un nouveau composant proche d'un existant ; comment cadrez-vous la décision avec le·la designer ? ». Évaluez la capacité à reconnaître les patterns existants, à challenger constructivement la maquette, à proposer des arbitrages (étendre l'existant vs créer un nouveau composant), à anticiper l'accessibilité et les états (vide, chargement, erreur, focus visible). C'est le stade le plus prédictif pour un·e Front-end qui travaillera étroitement avec un·e designer en PME.

  5. Stade 5: Références (vérification structurée)

    Appelez 2 références : un·e ancien·ne lead Front-end ou tech lead et un·e ancien·ne collègue designer ou Product Manager qui a travaillé avec le·la candidat·e au quotidien. Posez à chacun·e les mêmes 4 questions : « Sur quoi est-il·elle le·la plus fort·e ? », « Sur quoi recruteriez-vous quelqu'un de complémentaire ? », « Le·la reprendriez-vous demain ? », « Un exemple de décision Front-end difficile prise en autonomie, ou d'arbitrage tenu sous pression PM ou design ? ». La 4e question révèle le vrai signal d'autonomie et de jeu d'équipe.

Comment reconnaître une excellente recrue

CompétenceSous la barreAu niveauAu-dessus
Solidité Front-endBute sur les fondamentaux (HTML sémantique, modèle CSS de flux, cascade, événements DOM, JavaScript asynchrone). Cherche les solutions par essai-erreur sans modèle mental clair. Difficile à charger sur un nouveau framework ou un nouveau navigateur.Maîtrise la stack actuelle en autonomie (React, Vue ou Svelte avec TypeScript). Comprend le rendering critical path, la cascade CSS, la propagation d'événements. Sait apprendre un nouveau framework Front-end en 2-4 semaines. Comprend les fondamentaux suffisamment pour déboguer en profondeur quand nécessaire.Référent·e Front-end sur sa stack et capable de basculer sur une nouvelle stack en quelques semaines. Anticipe les pièges classiques (re-renders inutiles, fuites de listeners, layout thrashing, hydration mismatches). Construit des abstractions utiles, pas prématurées. Lit le code source des dépendances quand nécessaire.
Collaboration design systemImplémente les maquettes en bloc sans questionner les patterns existants. Crée des composants quasi-doublons par réflexe. Pas de réflexion sur les états (vide, chargement, erreur, saturé). Pas de discussion en amont avec le·la designer sur la faisabilité ou la cohérence.Reconnaît les patterns existants et propose d'étendre plutôt que de dupliquer. Discute la maquette en amont avec le·la designer sur les états et l'accessibilité. Maintient la cohérence visuelle et structurelle du design system. Sait dire non à un pattern qui casserait le système.Référence sur le pont design-code : variables Figma alignées avec les tokens de code, composants partagés documentés, gouvernance légère et tenue. Pair fréquemment avec le·la designer pour cadrer les composants en amont. Forme l'équipe sur la composition de composants accessibles et performants.
Performance et accessibilitéPas de mesure avant optimisation. Ne connaît pas les Core Web Vitals ni les patterns WAI-ARIA de base. Reflows JS, images sans dimensions, fonts qui décalent le layout, listeners coûteux, composants inaccessibles au clavier ou aux lecteurs d'écran.Mesure avant d'optimiser (Lighthouse, DevTools Performance, profilage React ou Vue). Applique les fondamentaux d'accessibilité (HTML sémantique, focus visible, navigation clavier, labels de formulaire, contrastes WCAG 2.1 AA). Connaît les Core Web Vitals et sait identifier les bottlenecks classiques.Référence dans l'équipe pour la performance et l'accessibilité. A déjà testé avec VoiceOver ou NVDA. Sait construire des composants complexes accessibles (combobox, dialog modal, datepicker) sans dépendance lourde. Pilote des chantiers performance avec mesure avant et après. Forme l'équipe sur les patterns WAI-ARIA et sur le profilage runtime.
Communication produit et designExplique mal son travail aux non-techniques. Posture défensive en revue. Travaille en silo, partage peu son contexte. Posture d'opposition systématique face aux PMs ou aux designers (« ils ou elles ne comprennent pas la technique »).Sait expliquer son travail à un·e PM, un·e designer, ou un·e dirigeant·e en langage clair. Reçoit la review constructivement. Partage son contexte en revues d'équipe et 1:1. Sait négocier une timeline ou un périmètre avec une proposition d'options chiffrées.Pont entre la tech et les autres fonctions. Anime les debriefs Front-end, vulgarise les arbitrages performance et accessibilité, négocie les timelines de manière transparente. Référence dans l'équipe pour la communication transverse.
Autonomie et débrouillardiseBloque sur un sujet inconnu sans demander d'aide pendant des heures, ou demande de l'aide au moindre obstacle. Pas de stratégie de debug structurée. Difficulté à lire la documentation officielle ou le code source d'une dépendance.Sait diagnostiquer en autonomie sur les sujets familiers, demande de l'aide après une investigation préalable (résumé du problème, hypothèses, ce qui a déjà été essayé). Lit la documentation officielle plutôt que les premiers résultats Stack Overflow. Reproduit les bugs de manière minimale.Débrouillardise élevée sur des sujets non familiers : lit le code source des dépendances Front-end, instrumente le runtime navigateur, isole les causes profondes. Documente les apprentissages pour l'équipe. Capable de prendre une décision Front-end structurante en autonomie sur un sujet ambigu.

Plan 30/60/90 jours

À J+30

  • Setup complet de l'environnement local et déploiement d'une PR en production (même triviale) validée
  • Lecture et compréhension du code des 3 zones Front-end les plus critiques de la stack métier
  • Premier 1:1 documenté avec la·le tech lead ou lead Front-end sur les conventions, la dette identifiée, et les priorités
  • Première PR substantive (fix de bug, petit composant) reviewée et mergée

À J+60

  • Livraison d'une feature Front-end complète bout en bout (UI + état + intégration API) en autonomie
  • Première review de PR Front-end d'un·e collègue avec feedback structuré, sans juste cliquer approve
  • Première contribution au design system : nouveau composant partagé ou refactor d'un composant existant
  • Documentation rédigée ou mise à jour sur un composant ou un pattern récemment touché

À J+90

  • Livraison régulière (1-2 PRs Front-end par semaine) avec qualité validée par l'équipe en review
  • Première décision Front-end en autonomie sur un sujet ambigu (refactor, choix de librairie, design de composant partagé)
  • Mentorat informel d'un·e junior ou nouveau·elle arrivant·e (pair-programming, reviews pédagogiques)
  • Bilan formel avec la·le tech lead : ramp validé, plan de progression sur 1-2 axes prioritaires (perf, a11y, design system, leadership technique)
Mis à jour
Recrutez ce poste avec JoinSourcing, présélection et entretiens au même endroit.
Recruter

Contacter Join