Ma vision du métier de développeur

Il y a quelques semaines de cela, j’ai reçu un mail d’un universitaire voulant interviewer des professionnels du Web.
Dans ce mail, il me donnait tout une liste de question pour en savoir plus sur ce métier.
J’y ai répondu, et je partage avec vous mes réponses.

En quoi consiste concrètement ce métier ?

… et plus précisément, que « réaliser un site web »
Développer un site web, pour moi, c’est développer le produit que souhaite un client. Je dis ici produit, au lieu de site internet du fait qu’un site internet est un type de produit parmi tant d’autres (site web, application, intranet, etc…).
Développer un produit, c’est prendre en compte les besoins du clients et les retranscrire au mieux, en terme de développement. Le but est de ne pas faire du code pour du code, mais réfléchir à la meilleure manière de développer les fonctionnalités demandés.

A quoi ressemblent vos journées ?

Les journées ne sont jamais pareil selon les missions et les demandes, même si la finalité sera toujours la-même : le développement et la mise en ligne des projet Web.
Ils existent différentes phases dans tous suivi de projet. Elles prennent plus ou moins de temps chacune.
Elles sont :

  • La compréhension des demandes du client et de la logique métier du projet.
  • La gestion de projet avec l’écriture des cahiers des charges techniques/fonctionnel.
  • Le développement des demandes du client.
  • La mise en production

Quels diplômes/formations avez vous suivi ?

J’ai suivi, et obtenu, un DUT Services et réseaux de communication, cursus en 2 ans spécifique multimédia (web, design, et audiovisuel).
La première année nous apprend la base des 3 domaines, et la deuxième année est une spécialisation.

Quelles sont les qualités les plus importantes à avoir dans ce métier ?

Ma réponse sera totalement personnelle.

Une des plus grandes qualités à avoir est la curiosité. Cette qualité aide à poser les bonnes questions sur différents sujets (comme la logique métier, etc…). Elle permet aussi de s’intéresser à beaucoup de chose, et donc de ne jamais s’ennuyer.

Comme autre qualité, il y a aussi la motivation. Elle compte beaucoup, car si tu n’est pas motivé par un projet (ou l’environnement d’une entreprise, etc…), tu ne pourras pas t’investir entièrement dans un projet.
Il y en a bien d’autres, des qualités, mais ces deux-là sont déjà bien.

Y a-t-il des langages « spéciaux » à connaître/maîtriser ? (autres que HTML, CSS, PHP, …)

Personnellement, je n’ai pas eu besoin de connaître de langages spéciaux à connaître (autres que les langages courant).
La seule exception étant pour le Bash, un interpréteur en ligne de commande, mais c’est plus une compétence de system admin que de développeur.
Ce qu’il faut connaître, ce sont les concepts des langages appris. Pour le PHP, ce sont la POO, les design pattern, les classes, etc…
Connaître un langage, c’est bien. Mais apprendre les bonnes pratiques, c’est mieux.

Pourquoi exercez vous ce métier ?

J’ai toujours eu l’envie de connaître des choses dans différents domaines. C’est mon côté curieux.
Ce métier le permet dans une certaine mesure, grâce à la multitude de projets par que l’on peut voir.

Qu’est-ce qui vous plaît le plus dans ce métier ?

Ce qui me plaît, c’est le fait de pouvoir travailler sur plusieurs projets différents. Cela me permet de ne jamais m’ennuyer.
Il y a aussi le fait de toujours apprendre des choses (logique métier, etc…), et de m’améliorer sur les langages que je connais (nouveauté, Best Practice, …).
Il y a aussi le fait d’utiliser des méthodologies (re)connu, comme la méthodologie Scrum. Elle est très apprécié dans certains cas, et elle facilite le travail en équipe, etc…
Une des dernières choses qui me plaît est le fait de travailler en équipe, et de pouvoir partager mes connaissances et compétences.

… et au contraire, qu’est-ce qui vous « plaît le moins » ?

Ce qui me le plaît moins, en règle général, est de ne pas pouvoir travailler de manière optimale.
Cela est dû à différentes raisons, qui sont les suivantes :

  • Récupérer des projets qui ont été mal réfléchi, ou mal développé.
  • Développer des projets sans cahier des charges.
  • Les réunions a répétition, qui n’ont pas de raisons d’être.
  • Les changements des besoins, sans raisons d’être, et au milieu des développements.
  • etc…

Est-ce simple de trouver du travail ? La demande est-elle forte ?

Ce métier est très recherché, car beaucoup de demande. Il est devenu rare de ne pas avoir de missions plusieurs mois d’affilé.
Pour moi, le début a été difficile car je vivais dans un département ou il n’y avait peu de demande.
Mais au fur et à mesure de mes missions, j’ai eu beaucoup plus de demande. Il m’a donc été plus facile de retrouver des missions.

Travaille-t-on plus seul ou en équipe ? Quelles sont les différences ?

Je ne connais pas les chiffres pour le travail seul ou en équipe, mais j’ai eu l’occasion de travailler dans les 2 situations.
Je travaillais seul sur des projets assez simple ne nécessitant qu’une seule personne, et je travaillais en équipe sur des projets plus complexe.
Techniquement, plus le projet est gros/complexe, plus il nécessite de personnes pour le développer.
Dans certaines situations de travail d’équipe, il est possible de travailler seul sur des projets spécifique, mais c’est assez rare.

Peut-on avoir des thèmes de prédilection dans la conception de sites ou faut-il être le plus flexible possible pour répondre au maximum de demandes ?

Ce que je préconise personnellement, c’est de maîtriser les spécificités des langages que l’on utilise (PHP, JS, HTML5, etc…), puis de se spécialiser dans les outils que tu apprécies.

Quand je dis outils, je pense aux CMS (WordPress, Drupal, …), aux frameworks PHP (Symfony, Laravel, …), ou aux frameworks JS (NodeJS, Angular, VueJS, …).
Il existe une multitude de ces outils, et techniquement, il est impossible de tout savoir (et de tout maîtriser).
Personnellement, je ne trouve pas illogique de vouloir être flexible, mais il faut le faire sur un nombre restreint de techno.

A-t-on une certaine « liberté » dans le travail que l’on fait ou faut-il suivre un maximum les demandes du client ?

Il faut trouver un juste milieu à cette question.
Bien sûr, le but du jeu est de coller au maximum aux demandes du client. Mais il faut aussi réfléchir aux potentiels évolutions des projets qui pourraient survenir.
Il faut donc utiliser de cette liberté de travail pour proposer des choses, et coller aux demandes du client.

Y a-t-il des possibilités d’évolutions ?

Il existe plusieurs possibilités d’évolutions, mais tout dépends des souhaits du développeur.
Les évolutions ci-dessous sont quelques exemples :

  • Chef de projet Web
  • Scrum Master
  • Lead Dev Manager…
  • Architecte logiciel
  • Documentaliste technique

Libre à chaque développeur de décider son évolution 🙂