L'un de mes premiers emplois d'été en tant que programmeur était principalement basé sur le nettoyage des écrans verts et des fichiers PRN. À l'époque, je n'aurais probablement pas voulu me salir les mains en COBOL (c'est-à-dire s'ils m'avaient fait suffisamment confiance en tant qu'étudiant pour me laisser entrer dans ce code), mais je ne suis pas sûr que je serais du même avis à propos du même perspective aujourd'hui.
Je ne pense pas que le problème est vraiment avec les mainframes en soi. C'est l'obsession (souvent justifiée) de notre industrie avec le nouveau et le brillant.
Regardez C. Le C est toujours une langue d’importance critique. Presque tout le code intégré et la plupart des systèmes d'exploitation sont écrits en C. Cela ne va nulle part bientôt. Et pourtant, il devient de plus en plus difficile de trouver des programmeurs C. Un rapide coup d'œil à la page de balise Stack Overflow la place à 1/6 de la taille [c#]
et 1/4 de la taille de [java]
. Est-ce que quelqu'un se souvient de l'époque où C était essentiellement la langue dominante, sans doute le seul jeu en ville?
Les programmeurs aiment les outils puissants. C'est peut-être parce que (SPECULATION ALERT) la plupart des programmeurs sont des gars. Vous demandez à un programmeur Java ou .NET de copier un fichier, par exemple, et la plupart sinon la plupart choisiront toujours de l'écrire en Java ou en C # au lieu d'écrire un fichier de commandes DOS ou un script shell * 50 fois plus rapide à écrire et à déployer. Pourquoi utiliser une canne et un moulinet pour attraper un poisson alors que vous avez un énorme filet rétractable pouvant attraper 500 poissons?
Oui, COBOL et PL / I sont vieux , mais Pascal aussi, et il est toujours vivant et palpitant sous la forme de Delphi. L’aversion pour les premiers tient probablement au fait que ces langues sont difficiles à manier par rapport aux outils modernes. L'orientation objet est encore un concept relativement nouveau dans le monde COBOL (accent mis sur le relatif ), mais dans le monde C #, LINQ et les génériques et AJAX ont cessé d'être révolutionnaires il y a des années. Demander à un développeur habitué à ces outils de commencer à programmer sur des ordinateurs centraux revient à demander à un musicien de rock de commencer à jouer sur un banjo.
Bien sûr, il y a aussi le problème du stéréotype qui se perpétue. Tant que les jeunes programmeurs pensent qu'il n'y a rien pour eux dans les ordinateurs centraux (que ce soit vrai ou non), tous les jeunes programmeurs qui choisiront cette solution finiront par passer le plus clair de leur temps avec des personnes beaucoup plus âgées. Les TI n’ont pas une profession très attrayante sur le plan social au départ, mais la dissipation supplémentaire d’un fossé entre générations tend à le ramener au-dessous des seuils de douleur de nombreuses personnes. Aucune infraction, cela voulait dire - j’ai personnellement passé la majeure partie de ma vie à travailler avec des gens beaucoup plus âgés, mais tout le monde n’a pas cette expérience ni cette capacité.
Enfin, la plupart des programmeurs n’apprécient pas le travail de maintenance et la quasi-totalité du travail sur le système central est la maintenance. Il n’ya pas beaucoup de nouveaux logiciels en cours d’écriture en PL / I. Tout travail défini entièrement ou en grande partie autour du code de maintenance démarre automatiquement avec un score négatif.
Il y a positifs à travailler sur le code existant ( « héritage » englobant les ordinateurs centraux et bien d' autres choses), que vous aurez probablement besoin de jouer si vous essayez d'attirer une foule plus jeune:
Les systèmes sont, comme vous dites, une infrastructure critique. Les plus jeunes développeurs, du moins dans le monde des affaires (pas Google / Microsoft), n'ont souvent aucune chance d'avoir un impact réel . C'est décourageant de travailler sur un système qui, vous le savez, va être abandonné ou remplacé au bout de quelques mois ou quelques années. Les applications mainframe qui fonctionnent déjà depuis 50 ans vont probablement en avoir beaucoup plus car il n’a aucun sens de les reconstruire, alors le travail que vous y effectuez est important pour beaucoup de gens.
Si vous êtes un de ces rares entreprises qui en fait n'ont une tendance à « mettre à jour », puis beaucoup de programmeurs, jeunes et vieux, seront attirés par cette occasion, car alors il y a des possibilités jumelles à travailler sur le code de mission critique et de fléchir certains de ces muscles C # / Java. Évidemment, aucune entreprise sensée ne voudrait tout simplement supprimer l’ordinateur central et la reconstruire à partir de zéro, mais j’ai déjà vu des systèmes qui (par exemple) ont un noyau COBOL qui s’intègre aux composants Java.
Enfin, il y a le caractère indispensable - du moins, tel que nous le percevons de l'extérieur. Lorsque tout votre code est dans .NET, il y a toujours un risque que les propriétaires vous échangent contre un jeune diplômé ou pire, une équipe offshore, dans une tentative malavisée de réduire les coûts. Je ne pense pas que cela se produise très souvent dans le monde du mainframe, surtout si ce que vous dites est vrai et que l'offre semble diminuer. Bien sûr, ce point est discutable si vous ne payez pas assez bien; les salaires doivent être ajustés pour refléter cette offre en baisse, sinon les gens ne «vendront» pas.
Je suis sûr que beaucoup de jeunes développeurs ne refuseraient pas une offre assez généreuse d'une entreprise qui semblait faire tout son possible pour rendre l'environnement de travail attrayant pour les jeunes employés. Mais si vous voulez les atteindre, vous feriez bien de miser sur vos atouts et vous devrez peut-être même commencer à faire du marketing. nous avons tendance à considérer les ordinateurs centraux comme un monde très différent et très étranger, et je suis à peu près sûr que je ne vous ai pas vu au salon de l'emploi sur le campus, il y a 10 ans, qui travaillait pour changer cette perception.
Pour résumer en une seule phrase: Rien ne rend les mainframes peu attrayantes , c'est juste que rien ne les rend attrayantes non plus, et cela les désavantage sérieusement par rapport au bord saillant qui nous offre une énorme augmentation de productivité et des boissons non alcoolisées gratuites.