mardi 23 août 2005
Y a t-il un pilote dans l'avion ?
Beaucoup d'incompréhensions dans les discussions en Informatique proviennent du fait que contrairement à l'automobile ou l'aviation par exemple, la plupart des gens ne font pas la distinction entre les utilisateurs et les ingénieurs. En informatique comme en automobile, il y a les bons et les mauvais conducteurs, les pilotes et les ingénieurs.
Et l'utilisation d'un programme complexe, comme la conduite automobile, ça s'apprend. Certes, en informatique comme en automobile, il y a des choses qui doivent être intuitive, quand on tourne le volant vers la droite, on va à droite. En informatique, c'est un peu moins évident, pour arrêter Windows, il faut appuyer sur le bouton démarrer :-) Vous pouvez lire à ce sujet réponse du PDG de General Motors à Bill Gates.
Mais le conducteur expérimenté et même le pilote de F1 n'a qu'une idée vague de la façon dont on conçoit un moteur. De même le "pilote" informatique, c'est à dire la personne qui maîtrise très bien un logiciel et l'utilise depuis des années, même dans un domaine très spécifique, doit comprendre qu'il existe une barrière entre sa connaissance d'utilisateur de l'informatique et le développement logiciel. Avant d'avoir appris quelques langages informatiques, écrit et débuggé des milliers de ligne de code dans un programme un peu complexe, on ne peut avoir qu'une idée assez vague du développement logiciel et de ses contraintes. En automobile, je dirais que je ferais plus confiance à un ingénieur mécanique sortant de l'école pour m'expliquer comment on conçoit un moteur qu'à Schumacher !
Cette croyance que la frontière entre les utilisateurs et les ingénieurs est perméable provient peut-être du mythe de « l'ado de 16 ans qui crée un logiciel révolutionnaire ». Dans les faits, les bons programmeurs sont passés par une université ou une école d'ingénieur. La programmation demande beaucoup de rigueur, que les études académiques apportent, même si l'informatique, c'est 10% de théorie et 90% de pratique.