Tombé de l’arbre

Le développeur est le soldat du royaume informatique. Comme toute armée, il existe des branches particulières. Un marin et un pilote n’ont pas les mêmes contraintes dans leur métier. Il en est de même entre le développeur d’applications de gestion et le développeur ‘temps-réel’.

Le développeur permet de matérialiser la solution exprimée par le client et décrite par l’analyste. Son métier a évolué en même temps que les langages informatiques et le trio entréetraitementsortie. Au début, l’activité des développeurs était assez similaire. L’informatique était utilisée dans la recherche et pour la gestion des grandes administrations.

Ce sont détachées deux branches : l’informatique scientifique et l’informatique de gestion. La première cherche à décrire l’existant et à le superviser. Les fonctions mathématiques exploitées sont complexes et nécessitent beaucoup. L’envoi d’une fusée sur la Lune ne tolère pas une erreur de programmation. 

La seconde branche gère une ressource simple : l’information. Il s’agit de lister et de compter les ressources afin d’apporter la bonne information aux décideurs. Les objets manipulés sont souvent résumés à du texte et des chiffres. Un trader souhaite connaître l’évolution d’une action et être alerté si celle-ci dépasse un seuil.   

Ces deux branches ont créé un schisme dans le monde des développeurs. D’un côté, les développeurs scientifiques doivent créer des programmes fiables. Un programme mal écrit ferait exploser une fusée. Les conséquences financières d’une erreur obligent à des tests très poussés.

Une autre contrainte connue par ces développeurs est le ‘temps réel’. Un processeur traite un nombre d’instructions défini chaque seconde. Le système d’exploitation doit s’assurer que le programme exécuté pourra réaliser ses traitements dans les temps impartis, quoiqu’il se passe.   

Les scientifiques développent souvent avec des langages de bas niveau et multiplient les mécanismes de contre-mesures et les validations pour s’assurer que lorsque le programme s’exécutera, aucun événement ne perturbera le traitement.

De l’autre côté, l’informaticien de gestion est plus détendu. En cas d’erreur, il suffit d’apporter une correction et de relancer le logiciel. La perte est modeste : un peu de temps pour le développeur et l’utilisateur. Les logiciels de gestion voient leurs versions se multiplier. 

Déchargé des contraintes financières, l’informaticien de gestion est plus créatif que son homologue scientifique. Il utilise des langages de dernières générations, expérimente les frameworks à la mode. Et la puissance accrue des processeurs le dédouane des besoins d’optimisation. 

Les critiques fusent entre les deux branches. Pour les scientifiques, si les gestionnaires devaient concevoir les ordinateurs de bord des voitures, le problème écologique serait réglé puisqu’elles ne rouleraient plus, bloquées par les bugs. “Veuillez appuyer sur Démarrer pour éteindre le véhicule”.

Pour les gestionnaires, les scientifiques sont des développeurs stressés et rétrogrades. Pire que des clients du service comptable, le développeur ‘temps réel’ pourrait travailler 40 ans avec les mêmes outils. Il les maîtrise et attribue la qualité de son code à cela et à sa méthode. Développement rapide signifie pour lui pas avant 3 ans. 

Il existe cependant des passerelles entre ces deux mondes. Certains scientifiques apprécient les outils modernes des gestionnaires qui leur font gagner du temps sur le développement. Des gestionnaires apprécient la rigueur qui limite la multiplication des versions d’un logiciel. 

Alors, ne soyez pas sectaires et inspirez-vous des autres développeurs. 

Partager l'article !!

J’ai de la chance !!!