web-dev-qa-db-fra.com

Quels facteurs de stress les programmeurs rencontrent-ils au travail et comment les traitez-vous?

Apprendre à gérer le stress est essentiel pour rester en bonne santé tout en travaillant à n'importe quel travail. Une sous-tâche nécessaire est d'apprendre à reconnaître et à limiter les sources de stress.

Mais, au milieu de la routine quotidienne, il peut être difficile de reconnaître les sources de stress (en particulier pour un personnage intense et concentré tel qu'un programmeur).

Quels types de facteurs de stress les programmeurs doivent-ils rechercher et comment les gérer?

74
Matthew Rodatus

Voici les choses que je trouve les plus stressantes pour moi et les développeurs autour de moi:

  1. Ambiguïté: Objectifs, exigences ou autres attentes déclarés inefficaces. De nombreuses entreprises ont des employés qui ont une attitude de "I don't know what I want, but I'll know it when I see it. Oh, and by the way I need it tomorrow."
  2. Délais inappropriés: La plupart des délais sont fixés par les besoins de l'entreprise et non par les capacités réalistes des développeurs du personnel. En plus de cela, les attentes pour l'exigence sont augmentées mais le budget/les ressources ne le sont pas.
  3. Mauvaises hypothèses/attentes: Les programmeurs ont tendance à avoir une haute opinion de leurs capacités (pas un trait non acquis), et à cause de cela, ils s'attendent à ce que d'autres personnes puissent égaler leurs capacités, leur compréhension et leurs attentes. On supposera souvent que quelque chose est "common knowledge" ou similaire, et cela peut être catastrophique dans la catégorie de stress. Maintenant, non seulement l'expert en affaires n'a pas répondu aux attentes du programmeur, mais il est complètement incompétent pour démarrer. À l'inverse, si le programmeur ne répond pas aux attentes de l'entreprise, le programmeur est frustré car il/elle n'a pas reçu les informations nécessaires pour procéder.
  4. Manque de respect: Beaucoup de gens ont tendance à croire que ce n'est pas parce que quelqu'un est faible dans votre discipline que cela est faible dans la leur. Il y a une raison pour laquelle nous avons tous des emplois/capacités/attentes différents, et il est important de respecter que l'autre personne est très probablement très capable dans les tâches qui lui sont demandées. Ce n'est pas parce que quelqu'un n'a pas vos capacités qu'il est incompétent ou incapable.
  5. Manque de maîtrise de soi: Cela peut se manifester à bien des égards. Peut-être que vous êtes un bourreau de travail qui refuse de prendre les pauses appropriées. Cela conduit à une accumulation de stress et est mauvais. Peut-être êtes-vous un buveur de Jolt Cola qui boit plus de caféine qu'il devrait quand le stress s'accumule. C'est mauvais pour votre santé et aggrave votre réponse au stress. Vous devez connaître vos limites, savoir ce qui déclenche vos réponses au stress spécifiques et, surtout, savoir comment soulager cette réponse au stress. Le retirer à des collègues ou à des collègues n'est pas approprié et ne fera qu'augmenter le stress.
  6. Manque de compétences en communication: Souvent, nous ne parlons pas la même langue, et je ne parle pas anglais, allemand ou indien. Nous utilisons les mêmes mots, mais nous ne disons pas les mêmes choses. Les gens doivent être précis et ouverts sur les choses qu'ils ne comprennent pas. Même si vous pensez comprendre, cela ne fait pas de mal de clarifier. N'oubliez pas qu'une métrique commerciale peut signifier quelque chose de différent pour les différents départements d'une organisation.
  7. Saignement des limites: Gardez le travail au travail et à la maison à la maison. Ce n'est pas parce que votre enfant de 7 ans laisse ses chaussures au milieu du sol et qu'il ne nettoie pas après son petit-déjeuner que vous devez mâcher Tiffany d'en tenir un nouveau parce qu'elle ne vous a pas donné le tableur des exigences de facturation . Même signe, juste parce que Tiffany se relâche avec la feuille de calcul ne signifie pas que votre femme mérite d'être mal traitée lors du trajet domicile-travail. (btw, la pauvre Tiffany ne mérite pas non plus ce traitement)
100
Joel Etherton

Je pense que le plus gros stresseur pour tout programmeur est un manque de confiance.

Oui, beaucoup de réunions (certainement pas des réunions en soi) ne sont pas nécessaires, mais il y a beaucoup de choses que je peux faire en tant que programmeur. Si je dois régulièrement assister à des réunions qui - à mon avis - ne sont pas nécessaires, c'est ma responsabilité de me lever et de dire "hé, je n'ai pas besoin d'être à cette réunion - je peux passer mon temps de manière plus productive".

Il en va de même pour les interruptions: oui, c'est un problème. Je l'ai vu dans pas mal d'entreprises. Cependant, plusieurs fois, encore une fois, plusieurs choses peuvent être faites. Un programmeur n'a pas besoin de vérifier son compte de messagerie toutes les cinq minutes et de répondre à chaque courrier instantanément. De même, si je ne veux pas être dérangé pendant un certain temps, j'éteins ma messagerie instantanée et je transfère mon téléphone.

Ce ne sont que deux exemples - il y en a beaucoup plus. Oui, parfois la situation est difficile. Mais la plupart du temps, les problèmes dont nous parlons pourraient être résolus assez facilement avec un peu plus de confiance. Dites aux gens de l'autre côté de la boucle de communication "oui, je vous ai entendu et j'ai reçu votre message mais j'y reviendrai plus tard".

Les plus gros problèmes sont ceux que nous créons nous-mêmes! ;-)

17
perdian

bogues de composants tiers

Cela peut être extrêmement stressant lorsque vous obtenez une mise à jour sur un composant tiers qui casse quelque chose. Vous n'avez pas le code source à déboguer ou à modifier, mais si votre système en dépend, cela peut être assez terrifiant. Aller un matin pour constater que votre serveur de contrôle de source fonctionne de manière inattendue et que vous risquez de perdre 2 semaines d'inscriptions peut fournir un peu de stress. C'est essentiellement l'idée d'une couche d'abstraction qui fuit, quand vous n'êtes pas préparé pour cela. Jetez un coup d'œil aux bogues ouverts sur n'importe quelle technologie de pile Microsoft et les commentaires témoigneront certainement de cette variété de stress.

12

Attentes irréalistes. Je vois des clients qui s'attendent à pouvoir passer 6 semaines sur une période de conception de 7 semaines pour vous fournir le fichier dont vous avez besoin pour commencer et je me demande pourquoi cela ne se fait pas le lendemain. J'ai vu des gens qui s'attendent à pouvoir vous confier une nouvelle tâche à 16 h 30 vendredi et s'attendent à ce que vous passiez tout votre week-end pour le faire pour une présentation lundi au PDG. J'ai vu des gens qui vous retirent d'une tâche de haute priorité pour effectuer une deuxième tâche de haute priorité, puis deviennent furieux que la première ne soit pas effectuée à temps. Toutes ces choses sont stressantes même lorsque vous avez fait de votre mieux pour expliquer clairement dès le départ pourquoi leur attente est irréaliste.

Manque de capacité à lire dans les esprits. (Je vais faire fortune en inventant ce module de lecture d'esprit.) C'est stressant de découvrir dans les tests utilisateurs que ce qu'ils vous ont dit qu'ils voulaient n'était pas ce qu'ils voulaient réellement.

10
HLGEM

Beaucoup de ces réponses fournies sont excellentes, en particulier les stress énumérés de Joel et ceux liés à la perte d'argent et à la gestion arrogante qui ne comprennent pas ce qu'ils demandent.

Certains des principaux stress que je rencontre proviennent de

  • Inheriting Spaghetti Code

    • J'ai vécu des expériences folles où la roue avait très certainement besoin d'être réinventée. Imaginez être embauché après qu'un autre développeur ait à lui seul construit une base de code pendant un an environ pour découvrir qu'ils n'avaient aucune idée de ce qu'ils faisaient, échouer lamentablement et se faire virer. À votre arrivée, on vous dit que votre travail consiste à "faire en sorte que cela fonctionne". Bien sûr, il y a environ une ligne de notes par 4000 lignes de code. Manque extrême de modularité et peu ou pas de direction. En plus de tout, tout va bien au-delà d'avoir des noms "excentriques" (qui sont compréhensibles et parfois à mon humble avis) en une simple "wth-ness"
    • Vous êtes censé avoir deux sous-points: P (le code spaghetti est mauvais, ok?)
  • Il y a un bug. Vous [~ # ~] connaissez [~ # ~] pour un fait absolu qu'il doit être le type impliquant un ou deux petits changements de caractères. La date limite est demain, vous avez 3 fonctionnalités à terminer. Ce bug prend 5 heures à trouver et vous ne pouvez pas l'ignorer. ; (Aïe lol.

  • Essayer d'expliquer le précédent

  • Être coincé à un bureau en raison de contraintes professionnelles alors que si vous pouviez simplement faire une heure de marche dans un parc et revenir, vous auriez un code d'or en attente de sauter du bout des doigts. Mon pire, je dois voir des arbres et du ciel si vous voulez que je fasse du bon code et que je progresse rapidement. Après tout, au moins la moitié de la programmation est un art. Trouvez l'inspiration.

  • Ne pas être coincé à un bureau lorsque vous devez rentrer à la maison en raison de contraintes professionnelles et que vous ne pouvez pas simplement travailler 20 heures aujourd'hui pendant que vous êtes dans la zone. Parfois, je clique sur ce que je fais et si je ne peux pas tirer tout droit tout de suite , ce n'est tout simplement pas la même chose le lendemain .. Je m'en souviendrai la plupart mais il faudra trois fois plus de temps pour le descendre et ne sera pas aussi bon de toute façon.

  • Parfois, le café/autres consommables aggrave la situation et mon cerveau ne veut tout simplement pas écouter mon esprit comme je le veux. =)

  • Pauses de 15 minutes. Juste assez pour me décourager, pas assez pour rafraîchir le cerveau. Boooooo.

  • Il y a eu des moments où je choisissais une nouvelle bibliothèque ou ... pire ... un nouveau framework. Cela a été l'une des tâches les plus stressantes que j'ai rencontrées. Quand ça va bien ou même ok-ish, c'est charmant. De temps en temps quand ça va mal ... oh boy. Vous pouvez vous y asseoir en essayant des tests sans fin de différents styles et vous remplir la tête avec trop d'interfaces que certaines parties de mon esprit commencent juste à s'arrêter et à dire "non, non ... je ne ferai pas ça. Trop mauvais. Va-t'en. " Seulement pour être forcé de les battre en soumission. Le soupir.

  • Le mauvais type d'erreurs de l'éditeur de liens. Je ne sais pas trop comment les décrire.

  • Importation de grandes quantités de données d'un format de fichier ennuyeux dans vos objets. C'est parfois assez amusant et vous brûle souvent très vite quand ce n'est pas le cas. Je me souviens avoir travaillé avec cet ancien format Excel qui avait une horreur très délicate et non documentée. Ceci à côté du fait que les informations dans la colonne que nous extrayions étaient pleines de personnages funky, ... cela me hante toujours. Je n'arrêtais pas de penser "aha ça fonctionne maintenant !! ....! ............ oh ... peu importe .."

8
Garet Claborn

Le principal facteur de stress que je rencontre est ce que j'aime appeler "Mort Syndrome". Fondamentalement, c'est l'attitude de certains développeurs selon laquelle la médiocrité est acceptable, et il n'est jamais nécessaire d'améliorer ou de faire les choses différemment. En tant que personne qui passe du temps en dehors du travail à lire des blogs et des livres, à écouter des podcasts et à regarder des vidéos de meilleures façons de faire les choses de manière professionnelle, je trouve cela vraiment stressant parce que 95% du temps, je suis la seule personne de l'équipe , sinon dans toute l'entreprise, qui comprend pourquoi, par exemple, écrire des tests unitaires est bon ou pourquoi il est mauvais d'avoir des milliers de lignes de code dans une seule classe (ou des classes qui font une demi-douzaine de choses différentes), et d'essayer de éduquer mes collègues résultats dans des regards vides, des excuses de "Nous n'avons pas le temps de le réparer", "Nous n'utiliserons jamais parce que nous ne l'avons jamais utilisé auparavant." ou "Ce n'est pas comme ça que nous faisons les choses", ou dans le pire des cas, on me montre la porte et je suis renvoyé pour avoir essayé de changer les choses pour le mieux.

6
Wayne Molina

Je pense qu'une grande partie du stress est due aux prémisses suivantes:

  1. Les bons programmeurs sont souvent les personnes qui peuvent accomplir plus efficacement certaines tâches hors programmation (support de production/dépannage, documentation, répondre aux questions de l'entreprise ou d'autres membres de l'équipe, offrir des avis techniques sur les orientations futures).
  2. La programmation est une activité qu'il est préférable de réaliser sur de longues périodes de temps ininterrompu.
  3. Compréhension de la prémisse # 1 >> Compréhension de la prémisse # 2.

En conséquence, les programmeurs sont souvent appelés à faire un certain nombre de choses différentes, ce qui érode leur productivité et la qualité de leur travail dans leur métier choisi. Le gestionnaire qui effectue cet appel voit cela comme une "victoire", car le problème aigu a été résolu rapidement et efficacement, et le coût n'est pas immédiatement apparent.

Il existe des stratégies pour le gérer, avec divers avantages et inconvénients.

  1. Gestion du temps - Consacrez une partie de votre journée à la programmation et une autre partie de votre journée à d'autres tâches et soyez discipliné à ce sujet. Un inconvénient de cela est que j'ai fini par laisser le travail hors programmation prendre tout mon temps de 8 à 5, et j'ai fait mon travail de programmation la nuit, ce qui est mauvais pour l'équilibre travail/vie.
  2. Éducation - C'est là que des gens comme Joel font le travail d'un homme - faisant savoir que le coût d'une interruption de 15 minutes peut être bien supérieur à 15 minutes. (par exemple http://www.joelonsoftware.com/articles/fog0000000022.html )
  3. Développement d'équipe, documentation - Assurez-vous que vous n'êtes pas la seule source de connaissances pour les éléments critiques de la technologie de votre entreprise.
  4. Personnalité désagréable - je ne plaisante qu'à moitié. Si vous développez la réputation de répondre avec un grognement aux interruptions, les gens auront tendance à trouver d'autres moyens de faire quelque chose. Vous feriez mieux d'être vraiment bon pour retirer cela, cependant.
6
JohnMcG

Il serait difficile d'obtenir une réponse générale à cette question. Les gens prospèrent dans des conditions différentes.

  1. trop de travail en trop peu de temps
  2. trop peu de commentaires des utilisateurs
  3. blâmer la culture
  4. manque de confiance.

J'ai tendance à trouver que le travail est la moindre cause de stress pour la plupart des gens, pas pour les programmeurs en particulier. Ce sont les éléments étrangers comme la culture d'entreprise, l'atmosphère de l'unité, les problèmes de communication qui causent le plus de stress à la plupart des gens. Ce n'est pas qu'ils ne peuvent pas gérer le travail; c'est qu'ils ne peuvent pas gérer l'atmosphère de la cuisine si vous le souhaitez.

Une discussion plus utile pourrait se concentrer davantage sur les solutions à ces problèmes.

4
temptar

"Autres tâches assignées".

J'ai dû répondre aux téléphones. J'ai dû travailler dans l'entrepôt. J'ai dû faire l'inventaire. J'ai participé à des réunions d'entreprise toute la journée. J'ai même dû sortir et faire un entretien limité de la pelouse.

Je ne sais pas si je prendrai jamais un autre travail qui a cela dans le cadre de la description.

4
John Kraft

Mauvaise gestion. Je ne peux pas vous dire combien d'histoires j'ai vécues ou vues de managers (en particulier des cadres supérieurs et des hauts dirigeants de l'entreprise) prenant des décisions scandaleuses sans consulter quelqu'un qui sait réellement quoi que ce soit sur le domaine qu'ils ont décidé, ou ils ne consultent pas notes des réunions précédentes avant d'avancer dans la direction opposée comme il a été décidé.

2
Tom A