Les 8 compétences d'un bon développeur

Traduit de l’anglais depuis le site : blog.teamtreehouse.com – 8-characteristics-of-a-good-developer

Apprendre à coder est la première étape pour devenir développeur. Mais quelles sont les autre aptitudes à avoir pour être un bon développeur ?
Nous avons demandé au vice-président de l’ingénierie chez Treehouse, Tommy Morgan, de partager avec nous son point de vue sur la question et avons compilé une liste de 8 compétences essentielles pour être un bon développeur, au delà du langage lui-même :
 

1 – Un état d’esprit Analytique

  • Un développeur doit avoir un esprit analytique très développé.
  • Il doit avoir une passion pour la résolution des problèmes. Peu importe le type de développeur que vous êtes. Aimer résoudre des problèmes est une grande partie de la programmation.
  • Vous devez avoir la capacité de passer de la photo globale au petit détail (macro/micro).

2 – Curiosité et Curiosité

  • En tant que développeur, lorsque votre code ne fonctionne pas (ou pas correctement) vous ne devez pas 36379208-diseno-creativo-del-cerebro-ejemplo-grafico-del-vector-eps10avoir peur de demander «pourquoi» et de continuer à creuser jusqu’à ce que vous trouviez la réponse.
  • Lorsque vous travaillez sur un projet, vous devez vous sentir à l’aise de poser des questions à vos supérieurs, clients ou pairs afin de bien comprendre les attentes et les exigences.
  • Vous devez être prêt à expérimenter, que ce soit par l’apprentissage d’un nouveau langage, ou par l’utilisation d’une nouvelle approche sur le projet ou sur une tâche. Parfois vous allez réussir, d’autres fois non, mais les challenges font partie du métier de développeur.

3 – Empathie

ampathie

  • Gardez à l’esprit que les logiciels sont faits pour les utilisateurs. Etre capable de comprendre vos utilisateurs est, en plus d’être essentiel, une perspective intéressante.
  • Il est également important d’être en mesure de faire le lien, de communiquer avec votre client et votre équipe.

L’utilisateur doit être le centre de l’attention des Designers comme des Développeurs. Pour cela nous avons créés JS-Republic mais également UX-Republic, afin que le mélange des cultures et des compétences opère afin de toujours mieux servir l’utilisateur final.
– Sébastien Berten CEO UX-Republic et JS-Republic.

 

4 – La flexibilité

  • flexibilityPeu importe le langage de programmation dans lequel vous vous spécialisez, la réalité est que coder est ‘imprédictible’. En tant que développeur vous devez avoir la capacité de changer de projet ou de contexte de façon inattendue (pour aider un autre développeur sur un autre projet ou pour corriger un ticket par exemple), et de reprendre votre code là où vous vous étiez arrêté avant de ‘switcher’, et cela sans perdre de temps dans ces ‘switchs’ successifs.
  • Vous devez être en mesure de vous adapter et de répondre aux questions quand elles se présentent (presque toujours de façon inattendue et souvent urgentes).
  • L’industrie high-tech peut être imprévisible (très concurrentielle, sensible au Time to market, aux failles de sécurité, aux montés de versions). Etre en mesure de s’adapter aux besoins de votre entreprise ou d’un produit quand ils changent est très important.

5 – L’amour de l’apprentissage

  • Il y a toujours quelque chose de nouveau à apprendre en programmation. Vous devez toujours être à l’écoute et prompt à élargir vos connaissances.
  • La programmation est une industrie incroyablement dynamique et fluide. Elle est en croissance, en changements permanents et en constante évolution. En tant que membre de cette industrie vous avez besoin de rester à jour à la fois sur la programmation en particulier et sur les nouvelles technologies en général.
  • Quand un bug ou un problème se pose, vous devez être en mesure de trouver et d’analyser la cause afin d’en apprendre davantage sur le problème avant de pouvoir le résoudre efficacement… et définitivement.

Chez JS-Republic, l’expertise nous la cultivons et on la faisons grandir, avec un journée entière chaque mois et entièrement dédiée à la veille et au partage.
– Sébastien Berten CEO UX-Republic et JS-Republic.

6 – Pragmatisme

  • Les problèmes que vous rencontrez sur un projet en tant que développeur sont souvent uniques. Il est important de comprendre que la meilleure solution ou en tout cas la solution ‘correcte’ n’est pas toujours la mêmes et dépend fortement du contexte et du projet. Ce qui peut marcher dans un cas ne fonctionnera pas correctement sur une autre architecture ou avec des contraintes de charge ou de sécurité supérieures par exemple.
  • Bien qu’il existe des ‘best practices’ en programmation et que beaucoup de conseils précieux peuvent être tirés de l’industrie et de vos pairs, en tant que développeur vous devrez accroitre la valeur de votre propre travail et votre capacité à résoudre les problèmes pour obtenir les résultats escomptés en suivant les règles et pratiques établies.

7 – L’équipe

stock-illustration-76061989-programmers-developers-process-coding-teamwork-communication

  • En tant que développeur, vous ne travaillerez pas uniquement avec d’autres développeurs web, designers et  ingénieurs, mais aussi d’autres équipes au sein de votre entreprise. Vous pouvez vous retrouver à travailler en étroite collaboration avec l’équipe marketing, de support ou encore l’équipe commerciale, voir même  directement avec les clients. Vous devez donc être capable de bien communiquer/travailler en équipe.
  • Que vous travailliez à distance ou aux côtés de votre équipe, la collaboration et la communication avec vos pairs et les différents intervenants est primordiale pour le succès.

 

La communication dans l’équipe peut se faire par de multiples moyens (mail, téléphone,  Slack) mais il est important de mettre en place des points de rencontre physique (DSM, Réunions, voir même sorties hors des locaux pour sortir du cadre et prendre de la hauteur tous ensemble.
– Sébastien Berten CEO JS-Republic

8 – Mindset technique

human head with an interface icons

  • En tant que développeur, votre ordinateur est le principal outil sur lequel vous comptez jour après jour pour faire votre travail. Vous devez à la fois apprécier et comprendre la «logique stupide» des ordinateurs : ils font exactement ce que vous leur dites, mais ils ne peuvent pas penser par eux-mêmes et vous ne pouvez pas les blâmer pour cela. Si cela ne marche pas c’est donc votre faute.
  • Par extension, être 100% à l’aise avec l’ordinateur et autres équipements informatique est bien évidement une évidence. Comme celle d’avoir une culture informatique globale (développement / sécurité / réseaux ….)
  • Les développeurs se retrouvent souvent à travailler aux côtés de personnes extérieures à l’équipe de développement. Une compétence précieuse est donc d’avoir la capacité à communiquer clairement des idées techniques à les personnes non-techniques, afin que ces dernières puissent comprendre ce que vous exprimez sans avoir pour autant vos compétences.

 
Le travail que vous faites en tant que développeur variera dans le temps, de même que la combinaison des compétences dont vous aurez besoin pour effectuer au mieux votre job. Si vous êtes intéressé par la perspective de rejoindre un employeur particulier, voici les huit traits qu’il essayera de jauger chez vous.

Ces huit points évoqués ici sont effectivement des points importants sur lesquels nous nous attardons lors de nos recrutements chez JS-Republic. Au moins maintenant, vous avez les règles du jeu…
– Sébastien Berten, CEO de JS-Republic

À partir de votre propre expérience, quelles sont les autres compétences qu’il faudrait ajouter à cette liste ?
[separator type=”” size=”” icon=”star”] [actionbox color=”default” title=”” description=”JS-REPUBLIC est une société de services spécialisée dans le développement JavaScript. Nous sommes centre de formation agréé. Retrouvez toutes nos formations techniques sur notre site partenaire dédié au Training” btn_label=”Nos formations” btn_link=”http://training.ux-republic.com” btn_color=”primary” btn_size=”big” btn_icon=”star” btn_external=”1″]