Comment combat-tu la fatigue de la programmation? [fermé]


48

Pas de fatigue comme dans "J'ai besoin de dormir" mais de fatigue comme dans "Je ne peux plus être dérangé", ce qui se produit généralement lorsque vous rencontrez des obstacles dans n'importe quel projet sur lequel vous travaillez, en général, plus vous vous approchez des échéances.

Cela peut être dans des projets de travail ou des projets personnels, mais c'est quelque chose que je continue de frapper de plus en plus ces derniers temps. Je vais avoir une idée, commencer à travailler dessus, passer quelques jours vraiment agréables et progresser, puis quelques petites choses m'énervent, je n'arrive pas à faire fonctionner les choses comme vous le souhaitez, j'ai atteint les limites dans le framework, j'ai des problèmes pour lesquels je ne trouve pas de documentation, etc. et ça devient trop frustrant.

Ou suis-je seul dans cela?


4
Vos progrès sont-ils mesurables dans vos projets même lorsque vous vous heurtez à des obstacles? Sinon, envisagez de le rendre mesurable. La visibilité de progrès constants est le meilleur que je connaisse.

7
Cela me rappelle Mort (Terry Pratchett) - la partie où Mort élimine les excréments dans les écuries. "Voyons voir, pensa-t-il, j'ai fait presque un quart, appelons ça un tiers, donc quand je ferai ce virage par la biche, ce sera plus de la moitié, appelons-le cinq huitièmes, ce qui signifie trois de plus les chargements de brouette ... Cela ne prouve rien, si ce n'est que la splendeur splendide de l'univers est beaucoup plus facile à gérer si vous le considérez comme une série de petits morceaux. "
Steve314

@ Steve314: +1 rochers de Pratchett.
Orbling le

Essayez l' effet Catfish .
Rwong

@ rwong: La plupart de mes projets sont des projets solo (ou de très petites équipes). Cela semble être une idée intéressante, cependant.
Sevenseacat

Réponses:


42

Procrastination

Ce que vous décrivez est probablement la procrastination . C'est un phénomène très commun. Cliquez sur le lien pour en savoir plus sur la théorie de la motivation temporelle .

Pour vaincre la procrastination, je fais des listes. Quand je sens que je tergiverse, j'ouvre la liste et me force à travailler sur le premier élément. Après quelques minutes, j'entre dans la zone ou le courant décrits par le psychologue Mihály Csíkszentmihályi .

Vous devriez vous reconnaître dans cette image:

texte alternatif


2
+1 pour vous forcer. J'ai trouvé la même chose pour moi le début est la partie la plus difficile.
Michael K

2
Ne trouvez-vous pas, au fil des années, que tous les projets descendent sur l’axe vertical? Il y a aussi tendance à un mouvement horizontal.
Orbling le

Aujourd'hui, j'ai tergiversé toute la journée au lieu de coder mon projet open source. Dammit.
Gruszczy

1
+1 pour avoir cloué ce problème.
Conor

2
Je trouve que si la liste n'a que des tâches désagréables au sommet, il peut être presque impossible de se forcer à le faire ...
Roman Starkov

10

Ce qui fonctionne pour moi est de s’éloigner du problème qui pose problème. Cela peut signifier que d'autres ont suggéré de travailler sur une autre partie de la base de code. Cela peut vouloir dire aller courir. J'ai trouvé que se taper la tête contre une barrière ne fait que renforcer la barrière. Changer votre attention en quelque chose de non lié permettra à votre subconscient de résoudre le problème. J'ai été surpris plusieurs fois en trouvant la solution sous la douche, etc.


4
Les douches sont définitivement de bons endroits pour la résolution des bugs.
Orbling le

C'est un très bon point sur le renforcement de la barrière. Je pense que c'est ce que je dois faire, décomposer des projets en parties disparates, ainsi, lorsque mon cerveau en a assez, changez de région, utilisez une partie différente du cerveau.
Sevenseacat

8

Un programmeur doit avoir un lecteur plus grand que celui de la Green Lantern . C'est ce petit problème que nous avons quand quelque chose ne fonctionne pas, nous essayons de creuser plus profondément et de savoir pourquoi, que ce soit en posant des questions ou en lisant un livre.

Ce que vous pouvez faire pour mettre un terme à cette fatigue, c’est vous éloigner un peu du problème et travailler sur un autre aspect de la tâche qui vous a été confiée.

Pour moi, les tâches de programmation qui me permettent de me détendre comme un enfant travaillent sur une interface graphique. C'est très facile et me permet de couper le cerveau. Cela donne aussi à mon cerveau l'effet placebo que j'accomplis quelque chose.


Donc, fondamentalement, rester immergé dans le projet, mais dans le travail occupé? Et oui, c'est le pire sentiment - quand vous avez mis tout ce temps dans quelque chose et que vous sentez toujours que vous n'avez rien accompli.
Sevenseacat le

3
@ Karpie Vous accomplissez encore quelque chose. Effectuer une partie du travail chargé vous permet de continuer à travailler sur quelque chose qui doit être fait, mais ce n'est pas quelque chose qui nécessite que votre cerveau soit en pleine ébullition.

Je ne sais pas - le travail d'interface graphique semble toujours fonctionner pour moi. Le faire fonctionner correctement et être utilisable est amusant et stimulant, mais le faire bien paraître est très difficile pour moi.
Michael K

Quand je m'éloigne un peu comme ça, environ 50% du temps, je ne reviens jamais ...: /
Roman Starkov

6

J'ai tendance à tomber dans ce domaine, presque tout le temps.

Commencer un projet est facile, tout est nouveau, il y a des choses à rechercher et à découvrir, des prototypes à construire, tout en s'amusant. Mais à mesure que le défi s'atténue, mon intérêt diminue. Obtenir les versions de production du logiciel, éliminer les petits bugs ridicules qui existent en raison de problèmes obscurs avec une plate-forme que vous devez utiliser.

C'est assez pour vous ennuyer à mort.

Je n'ai jamais rien trouvé de trop utile, je travaille ou je joue avec quelque chose de complètement différent (stackoverflow est bon pour cela), jusqu'à ce que je m'ennuie avec les autres choses et que je commence à me sentir coupable. Ensuite, faites un peu du travail ennuyeux. La productivité est réduite à environ 20%, mais tel est le fardeau du codage ennuyeux.

Il existe une solution, la programmation en équipe, très difficile de rester immobile lorsque les autres sont directement impliqués.


1
+1, le team building fonctionne très bien. Malheureusement, il est très difficile d'intéresser d'autres personnes à vos projets personnels.
dan_waterworth

@ dan_waterworth: C'est vrai, même si cela fait un très grand nombre d'années que j'ai programmé pour moi-même. Semaines de 60 à 80 heures, avec de précieuses petites vacances pendant des années, élimine plutôt le désir.
Orbling le

2
+1 pour l'honnêteté: "... jusqu'à ce que je m'ennuie avec les autres choses et que je commence à me sentir coupable ... La productivité est réduite à environ 20% ..."
Kavka

Pouvez-vous donner plus de détails sur la programmation en équipe?
Esqarrouth

6

Programmation en binôme

Je trouve que la programmation par paire aide vraiment dans ces cas. Trouvez quelqu'un avec qui vous vous associez bien et attaquez les problèmes, il n'y a rien de mieux qu'un autre avis ou une table de résonance pour surmonter les obstacles. Une fois que vous recommencez à progresser, l’enthousiasme a tendance à revenir par lui-même.

Malheureusement, cela est mal vu dans notre entreprise, donc je ne le fais que lorsque je peux vraiment sentir les problèmes qui affectent ma productivité.


+1, car c’était la seule chose que j’avais suggérée dans ma réponse, bien qu’on appelle cela la programmation en équipe, car plus de deux, c’est bien. ;-)
Orbling le

3

Apprendre une nouvelle langue. Rien ne vaut l'apprentissage d'une nouvelle langue pour susciter votre intérêt. Je suggérerais Haskell.


1
+1 pour la nouvelle langue, +1 pour Haskell. Le vote mathématique semble 1 + 1 = 1toutefois faire .
Orbling le

1
@Orbling, c'est parce que1 | 1 = 1
dan_waterworth

Je pense 1 & 1 = 1serait plus proche de mon intention. ;-)
Orbling le

1
@Orbling, que diriez - vous P(vote) = S((1 + 1)/t), où S(x)est la fonction sigmoïde? (Vous pouvez choisir la température du système).
dan_waterworth

C'est ce que j'ai essayé avec mon dernier projet, j'ai essayé d'apprendre Ruby and Rails! C'était la partie sur la documentation n'étant pas là, hein ...
sevenseacat

2

Je commence à frapper d'autres zones pendant une heure ou à. J'utilise Eclipse au travail et Eclipse vous permet d'en insérer un // TODO:dans votre code, puis de les assembler dans une fenêtre à votre place. Si je vois quelque chose que je veux changer ou réparer pendant que je travaille sur autre chose, je mets un TODO dedans pour ne pas briser mon élan. Lorsque je reste bloqué trop longtemps (plus d'une heure ou deux), je commence à parcourir la liste. Cela change de décor et la plupart du temps, les changements sont assez simples, ce qui m'aide à me détendre. Souvent, la réponse apparaît, tout en me laissant penser que je suis en train d'accomplir quelque chose.

Note: J'aime refactoriser et faire de mieux en mieux un morceau de code. Votre kilométrage peut varier.


1
+1 C’est quelque chose que je fais toujours, particulièrement utile pour assurer la fluidité du code. Bien sûr, si vous suivez les doctrines de codage habituelles, un pseudo-code complet à l’avance est une bonne idée, qu’il faut lentement travailler pour obtenir du code réel.
Orbling le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.