web-dev-qa-db-fra.com

Devenir un "développeur de maintenance"

Je suis donc en train de se mettre en colère contre la position actuelle que je suis dans et j'aimerais avoir une contribution d'autres développeurs à ce sujet.

J'ai été à mon lieu d'emploi actuel depuis environ 11 mois maintenant. Quand j'ai commencé, je travaillais sur toutes les nouvelles fonctionnalités. J'ai essentiellement travaillé sur un nouveau nouveau projet Web pour les 5 à 6 premiers mois, j'étais ici. Après cela, j'ai été transféré à un rôle orienté sur le service (qui était toujours génial, toutes les nouvelles choses pour moi) et j'étais dans ce rôle depuis 5 à 6 mois. Voici où le problème entre dans.

Fondamentalement, il y a quelques jours, j'ai été rendu le soutien de soutien/de maintenance. Maintenant, nous avons une équipe de soutien informatique, donc je ne parle pas de ce type de soutien, je parle davantage d'un type de soutien au deuxième niveau (lorsque les gars de la surface ne peuvent pas vraiment arriver à la racine de la question) , couplé à travailler sur des problèmes de maintenance qui s'attachent dans l'arriéré pendant un certain temps. Pour moi, un développeur avec environ 3 ans d'expérience, c'est une sorte de découlement.

Avec le type de lieu de travail, je ne serais pas surpris que ces problèmes de soutien prennent la majeure partie de mes jours et que je tiens à peine à travailler sur les problèmes de maintenance. En outre, la plupart de ces problèmes de soutien ne sont même pas liés au code, ils connaissent plus ou moins la connaissance de l'architecture du système, en fonctionnant avec la mise en marche/la mise en route correctement, la manipulation/la fixation de mauvaises données, etc. Je suis un développeur, donc cette partie est nulle. En outre, même lorsque j'ai le temps de travailler pour travailler, celles-ci sont fondamentalement des corrections de bugs/améliorent le mauvais code, de sorte que cela craint également, mais au moins cela est lié au codage.

Ai-je tort de se mettre en colère ici? Je ne veux pas vraiment me plaindre à ce sujet, mais d'être honnête, je n'ai pas été parlé à ce sujet ou quoi que ce soit, j'étais un peu envoyé un e-mail me laissant savoir que je suis le gars de ce type de chose , et c'était ça. Toute l'équipe a pris quelques minutes pour me donner leur conversation "ça suce", car ils savent à quel point il est agaçant d'être sur le soutien du type de travail que nous faisons, alors je sais que je ne suis pas le seul gars qui ne sait pas que ce n'est pas le cas. cette grande opportunité.

Je suis juste en quelque sorte sur la clôture sur la façon d'aller de l'avant. De toute évidence, je vais continuer à continuer à travailler pour le moment, rien à faire de mauvaise impression sur quelqu'un, mais j'aimerais savoir comment vous allez aborder cette situation, ou comment vous pensez que je devrais ressentir à ce sujet/comment vous vous sentirez les gars.

35
anon

Vous pouvez regarder cela comme un au fil de la limbe; Ou vous pouvez le transformer en une occasion de croître.

L'idée principale d'être un développeur de maintenance est pour vous mettre d'emploi. Chaque fois que vous devez réparer quelque chose; Prenez le temps de comprendre suffisamment le problème de manière à ce que votre solution (qui puisse venir quelques semaines après votre sortie du feu) signifie que vous (ni aucune autre âme vivante) n'aura plus jamais à résoudre ce problème.

Comme il s'agit d'un système hérité que vous soutenez, vous pouvez généralement avoir une solution avec certaines solutions qui ne seraient pas "ok" pour les produits principaux; Vous pouvez utiliser cron pour redémarrer périodiquement des services de buggy; Vous pouvez utiliser une logique exceptionnelle exceptionnelle pour des clients particuliers car le nombre de clients utilisant ce produit n'augmentera pas.

Une autre partie est extraite des connaissances utiles hors du système; Vous ne voulez probablement pas faire cela, ce n'est pas très amusant; mais en documentant ce que le système de travail fait (même si cela ne va pas), vous pouvez faire la tâche de manifester cette partie de l'application un ordre de grandeur plus facile (dix minutes pour lire deux paragraphes qui expliquent un module, au lieu de trois jours. lire le code du module). Mieux encore, cette même documentation peut être utilisée pour mettre en œuvre la fonctionnalité du produit principal, de sorte que vous puissiez cesser de supporter le système hérité tout à fait (pour cette fonctionnalité, au moins).

Si vous êtes le "aller à gars" pour un projet, même si c'est la maintenance de l'héritage, vous devriez probablement (ou tout au moins, vous devriez) avoir une latitude considérable pour aborder des problèmes à votre manière. Cela pourrait signifier une réécriture de sections dans votre langue ou votre plate-forme préférée, suggérant des solutions de contournement au lieu de solutions ou simplement à répondre aux problèmes liés à "WONT FIX, utilisation des produits pris en charge".


Edit: Vous pourriez avoir mal interprété l'intention de votre patron; La maintenance nécessite un ensemble de compétences différent d'autres parties du cycle de développement; Il pourrait vous mettre sur un emploi car il pense, de toutes les personnes qu'il dispose, vous êtes le meilleur pour ce rôle; Pas parce qu'il pense que vous n'êtes pas assez habile pour autre chose.

La maintenance nécessite une mise au point sur lecture code, plus que tout autre rôle que vous pourriez avoir. Si vous êtes bon à la lecture, vous serez bon à la maintenance. Il y a beaucoup de développeurs, même de nombreuses années d'expérience, qui ne disposent tout simplement pas de Knack pour la lecture du code des autres (ou pire, leur propre), même s'ils sont brillants d'autres choses .

Lorsque vous vous mettez hors du travail de maintenance, vous n'êtes pas "convaincant de la direction que vous seriez assez bien pour faire quelque chose de plus important", vous prenez littéralement le travail d'entretien de la vie. Lorsque vous arrêtez de faire ce travail, c'est que rien ne reste rien à faire. Tous les problèmes sont résolus, soit parce qu'ils ont été migrés de l'application Legacy, car les tâches manuelles sont maintenant automatisées, ou vous avez convaincu le client qu'ils ne veulent ni ne le souhaitent ni ne le seront jamais. Si votre patron interprète cela comme "il est bon à cela, le garder ici", ne rien faire du tout, alors il est un imbécile.

Être un développeur d'entretien! = Être laissé sur le banc. Maintenance Dev travail peut être une partie des travaux les plus frustrants, douloureux et gênants au monde, lorsque vous réparez les problèmes étranges que le développeur original a raté.

Il peut également s'agir de certains des travaux les plus enrichissants, à la fois personnellement et professionnels et que vous pouvez faire. Si vous pouvez souscrire un bug qui existe dans le système pendant 6 mois + et a un coup d'œil direct sur 10% de la base de la clientèle que vos patrons vous aimeront, 10% de la clientèle vous aimera aussi. En améliorant les logiciels de manière incrémentielle et en fixant des bogues prenant une semaine pour suivre efficacement votre connaissance de ce système non seulement, mais quels bugs que vous pouvez potentiellement voir dans des conditions spécifiques, puis vous le prenez à bord et devenez un Meilleur développeur.

J'aime créer des systèmes à nouveau, mais la plupart des astuces de mon sac de programmation venaient de faire des travaux de maintenance et d'accomplir plus de fois que je me soucie de penser.

17
Nicholas Smith

Ne le frappe pas. J'ai fait beaucoup de temps en tant que programmeur d'entretien. Si le produit est intéressant et que les autres développeurs, vous pourriez apprendre quelque chose. Et s'ils sont mauvais, vous apprendrez ce qui rend le code non satimentable et vous pouvez utiliser cette expérience lorsque vous écrivez votre propre code. Et après un certain temps là-bas, vous serez le gars qu'ils se tournent quand ils doivent savoir quelque chose sur le code, car vous saurez tout cela, pas seulement le petit silo de quelqu'un.

Et après avoir appris votre chemin autour du code, vous saurez quelles parties ont besoin de refactoring et peuvent proposer des projets à le faire, ce qui sera bien sûr parfaitement sur le point de diriger.

8
Paul Tomblin

Il convient de noter que le rôle de l'ingénieur de maintenance n'est pas un, dans une organisation intelligente, donnée à quelqu'un parce qu'ils ne sont pas assez bons pour autre chose ... Cela leur est donné parce qu'ils sont assez bons pour gérer le rôle particulier. Garder les systèmes existants et la course à pied est un rôle extrêmement important et, selon la société, de nombreuses millions de dollars peuvent équilibrer la pointe dudit ingénieur en faisant bien leur travail.

Cela étant dit, tandis que la plupart des gestionnaires comprennent intuitivement que le rôle a besoin d'un individu qualifié pour le gérer, la plupart ne reconnaissent pas les réalisations desdits programmeurs, et il peut être difficile de reconnaître votre travail. C'est tout à fait trop facile à mettre dans le rôle, car vous êtes habile, et ils sont oubliés comme les augmentations et les promotions sont distribuées plus tard ... parce que le signe de vous faire un excellent travail dans votre rôle est que personne ne remarque que vous êtes faire un excellent travail dans votre rôle.

Il est possible de se battre pour la reconnaissance que vous pensez que vous méritez d'avoir rempli le rôle, mais je ne suis pas tout à fait sûr que cela vaut le grand effort impliqué. Au lieu de cela, je recommanderais de discuter avec votre responsable le concept de (comme d'autres personnes mentionnées) tournant le rôle dans les différents développeurs disponibles pour cela. Si possible, avez au moins une personne dans le rôle à temps plein et une personne à temps partiel. La minuterie peut apprendre sur les systèmes et ce qui est impliqué dans la maintenance de la minuterie complète. Quand il est temps de faire pivoter, la minuterie peut prendre la mainte en tant que minuterie complète et une nouvelle personne se trouve en tant que minuterie (et apprend à partir du minuteur maintenant complet).

Si cela vous fait sentir mieux, les personnes des OPs sont dans la même position ... Le signe d'une grande personne ops est que personne ne remarque à quel point ils font leur travail. Seulement, pour une personne ops, ils ne peuvent pas vraiment faire pivoter parce que c'est IS Leur rôle principal. Je suis un grand fan de toujours louant les OPs que je travaille avec, publiquement et vocalement, Parce que Dev est l'un des rares groupes qui peuvent voir à quel point ils font mieux la vie de tous les autres.

Cette tangente de côté ... Si vous faites pivoter la position de la maintenance, la prochaine fois que vous entrez dans le rôle, assurez-vous de donner aux gens les personnes devant vos côtelettes si vous voyez qu'ils ont fait des choses qui vous facilitent votre vie Dans le rôle ... faites si publiquement et vocalement.

5
RHSeeger

L'approche constructive recommandée par les autres commentateurs est très bonne. Alors que Token a souligné, vous avez beaucoup de marge de manœuvre dans ce type de position tant que les problèmes sont résolus et vous ne rompez rien.

Si vous constatez que vous pouvez automatiser des solutions communes ou les empêcher, vous pouvez vous acheter beaucoup de temps libre - et si les attentes des patrons des demandes de votre temps restent non informées par cela - faire d'autres types de travail que vous aimez. Plus ou que vous pensez être plus productif pour la société. Mon premier emploi "programmation" s'est avéré être un travail de saisie de données, mais j'ai rapidement découvert que beaucoup de saisie de données étaient scriptables, et plus tard, cela pourrait être généré. J'ai libéré environ 7/8ths de mon temps et je l'ai utilisé pour ré-écrire le système de saisie de données à partir de zéro, y compris tous les scripts et générateurs et UIS plus efficace. Ce fut un travail de gouvernement impasse de toute façon, mais l'expérience se révèle être une valeur inestimable.

3
kylben

Parlez-vous à votre responsable de la rotation des développeurs dans la position (par exemple sur un cycle mensuel ou quelque chose). Si tout le monde sait que cela craint, tout le monde comprendra pourquoi le travail est distribué autour de toute l'équipe. Peut-être pour parler à votre responsable, vous découvrirez que c'est déjà le cas et que vous venez de faire pivoter.

1
Kevin

Vous devez demander pourquoi vous avez été mis dans un rôle que tout le monde pense que craint. Si votre responsable a un demi-cerveau, il saura que personne ne l'aime et s'il pensait que celles-ci sont celles qui font, il pouvait au moins demander. Découvrez la durée de cette situation et s'il est possible de revenir au nouveau développement. Vous ne savez jamais, vous pouvez entrer dans le bureau le lendemain et recevoir un nouveau projet. Les choses étranges sont arrivées.

0
JeffO