Trouver, comprendre, et aimer son développeur

Incubateur HEC

Rodrigo Reyes - 27/06/2015

http://reyesr.github.io/incubhec-recrut

Le développement logiciel

Développeurs

Un metier, plusieurs identités

Développeur, ingénieur, codeur, ingénieur d'études, ingénieur R&D, programmeur, analyste-programmeur, concepteur-développeur, craftman, développeur web, scrum master, chef de projet, architecte, cto, devops, développeur front-end, ingénieur back-end, développeur fullstack, directeur de projet, urbaniste

L'ombre du BTP

Carrière type

ManagementExpertise
  1. (Étudiant/Stagiaire)
  2. Développeurs
  3. CdP technique
  4. CdP/AMOA
  1. (Étudiant/Stagiaire)
  2. Développeurs
  3. Lead développeur
  4. Architecte

Filières

  • Ingénieur
  • Universitaire
  • Reconversion
  • Autodidacte

Développeur, ingénieur, codeurs, ingénieur d'études, ingénieur R&D, programmeur, analyste-programmeur, concepteur-développeur, architecte, développeur front-end, ingénieur back-end, développeur fullstack


= Développeur

avec expertises spécifiques

Specialisations techniques

Pratiques & Methodes

  • Methodes Agiles: Scrum, XP, Kanban, Scrumban
  • Tests unitaires, intégration continue,
  • TDD, BDD
  • Automatisation: build et déploiement
  • Pair Programming, Code Reviews

Recruter

Le model en «T»

Spécificité d'une startup

  • Développeurs peu nombreux = généralistes
  • Autonomes
  • Communicants
  • Business-aware

Ce que dit le CV (1)

Domaine technique

Langages, frameworks, technos

Domaines fonctionnels

expériences, projets, intérêts personnels

Ce que dit le CV (2)

Différenciation

  • Methodologies
  • Bonnes pratiques
  • Projets personnels

Les tests techniques

  • Questions techniques (OO, Design Patterns, etc)
  • Écriture de code: avec précautions (cas FIZZBUZZ)
  • Revue de code
  • Vérification des bonnes pratiques: tests unitaires, tests fonctionnels, build automatisé, etc

Évaluation critique des technologies

Autres

Certifications, NIH, Attachement à son code

Virtuosité technique

Où trouver son CTO

  • Dans des conférences/événements
  • Par le bouche à oreille
  • Par hasard

Gérer ses coûts

Compliqué !

  • Glissement temporel systématique
  • Augmentation de la complexité technologique
  • Développer n'est pas une science

La dette technique

Une métaphore comptable

Ce qui crée de la dette

  • La sous-qualité
  • La surqualité
  • La virtuosité
  • La taille de la base de code (cf NIH)
  • Carence de communication (turn-over,...)
  • Design technique inadapté aux cas d'usage

Gérer la dette technique

  • Savoir l'éviter (bonnes pratiques)
  • Savoir l'accepter
  • Savoir la payer

Quand et comment la payer ?

→ Régulièrement (refactoring)
→ Jamais (fuite en avant)