Saturday, May 26, 2007

WTF (suite)

Je continue sur les mauvais développeurs. Après un peu de réflexion, je me dis que ce n'est pas leur faute. J'en étais peut-être déjà arrivé à cette conclusion auparavant, mais en tant que mauvais développeur, c'est mon droit de réinventer la roue. Bref. S'il y a tant de mauvais programmeurs, depuis si longtemps, et que les choses ne changent pas, c'est un simple problème d'offre et de demande. Les entreprises se contentent de ce qu'elles ont, et ne demandent pas mieux. Elles ne sont pas prêtes non plus à mettre le prix pour de bons développeurs. Le marché de l'informatique applicative se compose de fournisseurs, les éditeurs, les entreprises de conseil, et les clients, chez lesquels tournent les applications. En général, les éditeurs cherchent de bonnes compétences, en tout cas on l'espère. En effet, le coût du produit et sa réputation, dépendent beaucoup de sa qualité. Malheureusement aussi, du talent des commerciaux et de sa capacité à verrouiller un marché. Et quand on monopolise un marché, on a moins d'efforts à fournir du point de vue qualitatif. Mais d'une manière générale, les développeurs sont bons, et sont payés en conséquence. Voir Google et Microsoft entre autres, dont la politique est de recruter les meilleurs éléments et de les motiver par de bons salaires et des avantages en nature. Côté utilisateurs, clients, la logique est différente. Si on n'achète pas une application, on la fait développer en interne, soit par des développeurs maisons, soit par des consultants. En général, le client ne connaît à l'informatique, la considère comme un simple moyen, et ne comprend pas un certain nombre de problématiques de qualité, d'architecture, ...qui influent grandement sur le prix et la qualité du logiciel. Le client veut son logiciel rapidement et pour pas cher. Donc on développe vite, en rognant sur les étapes de conception et de test, et on n'est pas trop exigeant sur le niveau des intervenants, qu'on ne sait pas trop évaluer de toute façon. Et après on paye des gens pour maintenir l'application. Ces pauvres damnés passeront alors des moments misérables à s'arracher les cheveux en criant WTF?!?!!, à essayer tant bien que mal à ajouter de nouvelles fonctionnalités à l'application, et seront frustrés à mort parce qu'ils ne pourront mettre en oeuvre quasiment aucune de leurs idées d'amélioration, parce qu'on ne touche pas impunément une application qui est en production et qui fonctionne à peu près correctement. Mes conclusions sont donc que, d'une part, les entreprises dans leur grande majorité n'ont pas intérêt à ce que les développeurs aient un excellent niveau, et que par conséquent les écoles n'ont aucun intérêt à améliorer la formation des ingénieurs de développement, qui en réalité ne seront pas vraiment des ingénieurs mais des techniciens améliorés, et enfin, heureusement que peu de développeurs sont très bons et que la majorité est se capable de se contenter de son niveau de compétence et de salaire, car vu les tâches et les moyens qui leurs sont en général proposés, ils se tireraient rapidement une balle ou reconvertiraient en gardiens de chèvres.

No comments: