Ces jobs qui cartonnent : le développeur

Guillaume Castellana est CTO et développeur chez Nimbly, une application mail pour mobile destinée aux startups et équipes agiles. Egalement développeur, il a accepté de répondre à nos questions.

 

1. Quel est ton parcours ? 

J’ai fait mes études a l’EPITECH Paris sur un modèle très orienté projet, collaboration et entreprise. Je suis titulaire Master Grade 1 en Informatique ainsi que d’une Expertise en Architecture et Développement.

Un an avant la fin de mes études (Promo 2011) j’ai été embauché par General Electrics Healthcare en tant que Développeur C++ Junior. Six mois plus tard j’ai été promu Développeur C++ Senior et Architecte Plateforme dans les 8 mois qui ont suivi.
A côté je faisais pas mal de projets Open Source, plutôt orientés Web (JavaScript, HTML5, WebGL…).

 

2. Lorsque l’on postule dans une startup, le poste de développeur est particulièrement recherché. Que penses-tu de l’essor considérable de ton métier en terme de reconnaissance ?

Je pense qu’il faut déjà différencier un développeur dans un boite déjà rodée, en croisière et un développeur dans une startup. Les responsabilités, la pro activité et la créativité nécessaires dans le second cas, sont nettement plus élevées.
On ne compte pas seulement sur son développeur, on attend de lui des idées, des surprises (produire des prototypes sur son temps libre par exemple), qu’il dépasse le statut d’exécutant.

En soit c’est reconnaitre que les ingénieurs aussi peuvent comprendre les utilisateurs, et qu’ils ne sont pas seulement des ouvriers dans la construction d’un projet mais les fondations.

 

3. Peux-tu préciser la différence qu’il y a entre un développeur web et toi ?

Principalement la technologie, mais dans le développement la technologie entraine souvent une façon de réfléchir bien précise. Le monde du web est organisé pour produire des résultats très rapidement et de manière globale, parfois au détriment de choses moins évidentes mais toute aussi importantes comme la durée de vie (maintenance) d’un code, ou la cohérence avec le système d’exploitation sur lequel on développe.

Au final ça ne change pas grand chose, c’est une nomenclature pour exprimer plus rapidement les connaissances que l’on a, et les méthodes de travail que l’on utilise.

 

4. Justement, en quoi consistent tes missions ?

Aujourd’hui je me concentre plus sur la vision globale d’un projet que sur un aspect particulier. Je dois donner les plans généraux aux autres développeurs sur le projet, et faire en sortes qu’ils puissent travailler indépendamment tout en se comprenant.
En général leurs technologies et leurs visions sont différentes voir opposées. Un développeur serveur aura tendance a voir les choses de manière très binaire, un développeur C/C++ sera stricte sur la performance de son code, un développeur Web quant à lui, aura souvent en tête le cote “cool, sexy” de son travail.

Le plus important est de faire en sorte que chacun comprenne que c’est l’utilisateur qui compte, et que c’est sur ce sujet que doit se projeter l’équipe, pas sur un débat technique.

 

5. Quelques conseils pour aider les candidats à préparer un entretien ?

Je dirais qu’avant de postuler il faut savoir quel est son profil, bien se connaitre.
Lors de nos entretiens nous aimons demander aux prétendants de placer les domaines / technologies qu’ils connaissent sur un axe horizontal.
Une fois que nous avons évalué leurs compétences, nous leur assignons un score vertical dans chaque domaine. C’est ce qu’on appelle le modèle en T.

Le principe est d’avoir une barre horizontale ou verticale du T beaucoup plus grande que l’autre.

Si c’est l’horizontale qui est la plus grande cela veut dire que le développeur connait un grand nombre de sujets, qu’il est curieux et qu’il sait probablement produire des prototypes rapidement.
Si c’est la verticale qui l’emporte alors il y a de grandes chances que la personne soit plutôt méthodique, qu’elle aime connaitre profondément un domaine bien particulier, qu’elle puisse être un réfèrent technique assez rapidement.

Aucun des deux profils n’est meilleur que l’autre et il faut pouvoir recruter les deux car ils sont complémentaires.

Pour les candidats c’est un bon exercice car il met en évidence les atouts et les défauts qui correspondent ou non a la startup dans laquelle ils postulent.

PS : Un GitHub avec plein de code dedans c’est quand même la classe pour un entretien.