Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Défis de développement

Qualités recherchées:

  1. être vif et débrouillard
  2. savoir identifier les taches clés d'une mission et prioriser judicieusement (le plus important/critique en 1er)
  3. savoir detecter quand on passe plus de temps que prévu sur une tache, prévenir, et oser demander de l'aide

Défi court: live-coding (1 heure)

  • On fixe ensemble un créneau d'une heure.
  • Pendant une heure, tu vas réaliser une tache de développement "surprise" que je vais t'envoyer en début d'heure.
  • Pendant une heure je vais observer:
    • comment tu découpes le problème en taches (sous-problèmes),
    • comment tu priorises tes taches,
    • comment tu trouves l'information qu'il te manque,
    • et comment tu réagis en cas de blocage.
  • Pendant cette heure de codage, tu auras droit à trois "appels à l'aide":
    • un appel à l'aide consiste à me poser une question technique sur laquelle tu es bloqué,
    • pour chaque appel, je te donnerais 5mn max de mon temps pour t'aider à te débloquer.
    • les questions qui portent directement sur l'énoncé ne sont pas décomptées de ce solde de 3 appels.
  • A noter:
    • Quoi qu'il se passe, le défi sera terminé à la fin du créneau défini ensemble. Pas d'extension, pas de retard.
    • Donc: tout problème technique pendant le créneau de live coding sera tout de même comptabilisé.
    • Seule l'image sera considérée => tu pourras couper ton micro.
    • Nous fixerons ensemble le choix de la plateforme de streaming et de chat, avant le créneau. Par défaut: Google Hangout pour le streaming et le chat.
    • Pendant la session, tu auras le droit d'utiliser tout ce que tu veux, d'Internet ou d'ailleurs.
  • Conseils à suivre AVANT le creneau:
    • Une heure, ça passe très vite => installe en avance tout ce dont tu pourrais avoir besoin: IDE, compilateurs, modules/librairies, docs, afin d'avoir tout sous la main de manière très accessible et rapide pendant la session.
    • Testes ta connexion internet et la qualité de streaming au moins 15 minutes avant le créneau.
    • Lances ton IDE / éditeur de code préféré, et règle la taille du texte de manière à ce que 30 lignes max de code soient visibles simultanément à l'écran. (afin que le texte soit suffisamment gros pour compenser la perte de qualité d'image due au streaming)
    • Afin d'éviter les situations embarrassantes en partage d'écran, désactive les notifications, et tous les onglets/apps qui sont susceptibles d'afficher des données privées à l'écran pendant la session de code.
    • Et afin d'assurer la meilleure performance de streaming possible, quitte tous les programmes et onglets qui consomment du CPU et/ou de la bande passante.

Défi moyen: quick-prototyping (4 heures)

  • On fixe ensemble un créneau de 4 heures.
  • Pendant ces quatre heures, tu vas réaliser une tache de développement "surprise" que je vais t'envoyer en début de créneau.
  • Tout le code produit devra être commité et poussé régulièrement (au moins une fois par heure) sur un repository git que tu auras initialisé et fourni avant le début du créneau.
  • À la fin du créneau, je ferai un git pull depuis ce repository, et c'est ce sera ce code qui sera évalué. Tout push tardif sera ignoré.
  • Processus et critères d'évaluation:
    • Je fais un git clone ou git pull depuis ton repo, à la fin du créneau.
    • Je vais exécuter ton code en suivant les instructions du fichier README.md de ton repo.
    • Tu seras noté sur 20 points:
      • Facilité d'initialisation et d'exécution du code, en suivant README.md => 5 points
      • Le problème posé est bien résolu en exécutant le code produit => 5 points
      • Le code est simple à lire, à comprendre, et à débogger => 5 points
      • Les commits sont suffisamment atomiques (cad. un commit ne soit pas régler plus d'un problème à la fois), et ont des intitulés clairs (moins de 200 caractères) => 5 points
  • Pendant le creneau, tu auras droit à cinq "appels à l'aide":
    • un appel à l'aide consiste à me poser une question technique sur laquelle tu es bloqué,
    • pour chaque appel, je te donnerais 5mn max de mon temps pour t'aider à te débloquer.
    • les questions qui portent directement sur l'énoncé ne sont pas décomptées de ce solde de 5 appels.
  • A noter:
    • Quoi qu'il se passe, le défi sera terminé à la fin du créneau défini ensemble. Pas d'extension, pas de retard.
    • Donc: tout problème technique pendant le créneau de live coding sera tout de même comptabilisé.
    • Pendant la session, tu auras le droit d'utiliser tout ce que tu veux, d'Internet ou d'ailleurs.
  • Conseils:
    • Créés un repo git public, et fais un commit et un push au moins 30mn avant le créneau, pour t'assurer que tout marche bien.
    • Pense à créer puis à maintenir tout au long du projet ton fichier README.md, de manière à ce qu'il contienne la procédure à suivre pour initialiser et exécuter le projet. N'oublie pas:
      • d'y inclure les commandes shell à saisir pour récupérer les dépendences (ex: npm install), compiler (si besoin), et exécuter le projet (ex: npm start),
      • de préciser comment lancer le serveur de base de données, si besoin.
      • d'expliquer comment installer les plateformes nécéssaires pour exécuter ton code (ex: Nodejs version 0.10, MongoDB version 3.1), en précisant le numéro de version.
    • Quatre heures, ça passe vite => installe en avance tout ce dont tu pourrais avoir besoin: IDE, compilateurs, modules/librairies, docs, afin d'avoir tout sous la main de manière très accessible et rapide pendant la session.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment