Bon... prenons un exemple actuel... J'ai un client qui a développé un logiciel permettant la conception d'une construction industriel, de faire des calculs de vérifications selon différentes normes (ASME, EN, DIN, ...), de planifier la découpe dans du métal et de calculer les stresses sur la construction suivant des paramètres comme la pression, la température, la composition chimique du métal, etc etc.
Le code "a grandi" en 15 ans et contient a peu prés 1,5 millions ligne de code source (le logiciel sous Windows + Dos, des outils, etc). Tout cela en C, C++ et Fortran.
Actuellement (et encore pour un bon moment) je suis le seul à faire de la maintenance et l'amélioration de tout cela. Avec d'autres programmeurs je travaille sur la conception et le développement d'un SmartClient (en C#) qui remplacera une petite parti les fonctionnalités de l'ancien logiciel (planification visuel et introduction des valeurs de bases de la construction). Le reste se fera via des nouvelles interfaces vers l'ancien logiciel.
Donc, l'équipe actuel comporte: Le patron de l'entreprise, deux programmeurs qui ont fait des études en informatique (et qui ont 10 et 15 ans d'expérience) et moi. Fort de mon expérience (12 ans en tant que programmeur, chef de projet, chef d'équipe, responsable technique et autres dans des domaines tels que les jeux d'ordinateurs, l'industrie automobile, logiciels pour embedded hardware, reconnaissance vocale, industrie de la musique et industrie de construction, ce n'est pas moi qui demande conseil aux autres mais eux à moi. Le patron au sujet de gestion d'équipe et de projet, les autres programmeurs pour des questions tels que la conception de la base de données, les interfaces, planification du logiciels, d'environnement de développement, etc etc.
La dénomination d'analyste-programmeur en tant que telle est quasi superflue car tout programmeur est obligé d'analyser la situation, l'environnement et les besoins du client ou du logiciel. A moins qu'on commence "from scratch" le développement d'un logiciel, on est obligé de lire la documentation (si disponible
) et/ou le code source pour être capable de travailler par après.
La seule différence, ou plutôt le seul avantage, qu'ont les programmeurs-analystes, et la je suis d'accord avec toi, c'est qu'il ont appris une méthodique d'approche pour résoudre des problèmes. Donc, en théorie, ils devraient être capable de travailler plus efficacement que quelqu'un qui n'a pas fait des études et qu'il fait moins de bourdes. Tout au moins au début. Car l'autre là, qui n'a pas étudié... il dois se débrouiller quand même s'il ne veut pas finir à la porte. Donc il doit s'améliorer ET prouver constamment qu'il est capable de faire partie de l'équipe.
Mais bon... je crois qu'on voit que ce sujet me tiens à coeur. J'ai du faire mes preuves et je me suis forgé une réputation chez mes clients. Et quand j'entends qu'il y a des gens qui pensent que ceux qui ont fait des études sont meilleur car eux, ils ont fait des études, ça me mets en rogne... j'ai vu assez de diplômés incapable de faire des simples opérations binaires ou de comprendre une situation ou des besoins.
Sans rancune s'il vous plaît