Le métier de développeur logiciel expliqué à ta grand-mère


Un développeur logiciel, ça fait quoi exactement ?

Un développeur logiciel construit et fait évoluer des logiciels, en rédigeant ce qu’on appelle du “code source”, un programme exprimé dans un langage compris par les machines.

Un logiciel est une sorte de recette qui sera exécutée par un appareil électronique, comme un téléphone portable, un ordinateur, ou encore un distributeur de billets. Cette recette définit le comportement de cet appareil, souvent en fonction de ses interactions avec une personne. Dans cette recette, le développeur doit prévoir de nombreux cas particuliers, et définir comment devra réagir la machine dans ces cas là. Exemple: que doit-il se passer si je souhaite retirer 50€ au distributeur de billets de ma banque alors qu’il ne reste que 30€ sur mon compte ?

Ce sont des logiciels qui donnent vie à nos applications mobiles, sites web, jeux vidéos, et même aux bornes de billetterie des gares SNCF.

Si se faire comprendre par une machine est déjà complexe en soi, le métier de développeur dépasse largement cette activité de rédaction de code. En effet, un développeur doit aussi:

  • Savoir se faire expliquer ce qui est attendu de lui, par un client (ou patron) qui ne connait souvent rien au développement logiciel;
  • Réaliser des croquis et schémas (avec l’aide d’un designer, dans la plupart des cas) pour avoir une vision plus claire et concrète de ce à quoi doit ressembler le logiciel final, et poser autant de questions que nécéssaire pour s’en approcher le plus possible;
  • Estimer la charge/durée de développement nécéssaire, et décider de la manière de procéder; (ex: planification de projet, sous-traitance, etc…)
  • Rédiger le code source du logiciel, sur la base des croquis et schémas, tout en testant au fur et à mesure que toutes les parties du logiciel se comportent comme prévu, même (et surtout) dans les cas exceptionnels;
  • Dans les projets en équipe, il faut se répartir les taches tout en évitant les conflits (ex: deux versions incompatibles d’un même module) pouvant naitre d’une collaboration imparfaite et causer d’importants retards;
  • Une fois le logiciel testé, un développeur doit être capable de le “mettre en production”, c’est à dire: faire en sorte que des personnes extérieures à l’équipe puissent utiliser le logiciel. Selon le cas, cela revient à diffuser son application mobile sur un “Store”, publier son site à jour sur le web, ou autre;
  • Enfin, il faut surveiller le bon fonctionnement et la performance du logiciel pendant qu’il est utilisé par de nombreuses personnes, et savoir l’améliorer en fonction.

De plus, chacune de ces responsabilités repose sur des méthodes et langages différentes, et en évolution constante. Ceci impose alors aux développeurs une veille et une mise à niveau permanente sur les nouveaux langages et techniques. Le but étant de répondre toujours plus efficacement aux besoins des clients, tout en assurant un niveau élevé de qualité.

Voici du code source exprimé en Javascript. Un exemple de ce que je lis et écris sur mon écran quand je développe des logiciels.

À noter que la qualité du code source produit bénéficie surtout aux personnes qui vont être chargées de faire évoluer le logiciel. En effet, un code mal écrit peut faire perdre énormément de temps aux développeurs qui devront plus tard ajouter des fonctionnalités et/ou corriger d’éventuels bugs. C’est un des critères qui différencie un bon développeur d’un mauvais, et c’est pourquoi les clients doivent se méfier lorsqu’un développeur prétend pouvoir réaliser un logiciel en moins de temps, et pour moins cher que la concurrence.

J’espère que ces quelques paragraphes auront aidé ta grand-mère à comprendre ce métier fascinant qu’est le développement logiciel !

Si ça t’as plu, n’hésites pas à le diffuser, afin que plus de grand-mères puissent mieux comprendre l’informatique, et ce qu’on fait de nos journées.