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?
Voici les choses que je trouve les plus stressantes pour moi et les développeurs autour de moi:
"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."
"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.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! ;-)
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.
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.
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
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 .."
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.
Je pense qu'une grande partie du stress est due aux prémisses suivantes:
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.
Il serait difficile d'obtenir une réponse générale à cette question. Les gens prospèrent dans des conditions différentes.
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.
"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.
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é.