Je suis complètement en désaccord quand les gens disent "oui, le multitâche est normal"
Ce n'est pas normal! Pas du tout, il est très peu naturel pour un développeur d'effectuer plusieurs tâches à la fois dans plusieurs projets (je l'expliquerai plus tard). D'autre part, le multitâche est très courant chez les développeurs. C’est définitivement quelque chose auquel vous devriez vous habituer. La vraie réponse à votre question est donc: comment effectuer plusieurs tâches à la fois?
Tout d’abord, vous ne devez pas simplement accepter votre destin, car «vous êtes un excellent employé», ce qui signifie que vous devez assumer plus de tâches que vous ne pouvez en gérer. Pas du tout, vous ne le faites pas. Parfois, des tâches multiples sont confiées à des personnes car il n'y a personne d'autre. Parfois, les responsables ne peuvent pas gérer leur travail, alors ils délèguent leurs tâches et imposent plusieurs tâches à leur équipe, car ils ne peuvent pas gérer correctement le planning de leurs projets. Donc, vous devriez certainement essayer de déterminer si on vous demande de faire plusieurs tâches à la fois parce que cela fait partie de votre travail ou parce que d' autres personnes sont incompétentes.. De toute façon, vous pouvez juger par vous-même si cela est acceptable ou non. Si vous n'êtes pas à l'aise [avec votre travail], il existe d'autres endroits où vous pouvez aller chercher du travail. [Vous, le développeur, êtes la marchandise. Les employeurs le savent et prient pour que vous ne le réalisiez jamais.]
En ce qui concerne le multitâche, je suis en désaccord à 100% lorsque les gens disent: "Oui, changez de place et assurez-vous de faire la même chose pour chaque projet". Désolé mais c'est un très mauvais conseil.
Tout d'abord, vous devez comprendre le fonctionnement de votre cerveau lorsque vous développez un logiciel (je sais que d'autres tâches sont en cause, mais concentrons-nous sur celle-ci). Vous devez d’abord être «câblé», c’est-à-dire que vous devez vous concentrer beaucoup et mettre votre esprit dans une position où tout est cartographié dans votre tête. Tous les noms de variable et de méthode, le flux de travail de votre code, le modèle d'objet, les threads côte à côte, tout. Cela me prend habituellement 15 peut-être 20 minutes pour arriver "dans la zone".
Quand vous arrivez dans cet état, vous vous échappez et écrivez du code comme si vous rouliez à vélo. Dès que vous êtes interrompu, vous pouvez tout perdre. Si l'interruption est suffisamment longue (5, 10 ou 30 minutes), vous perdrez cet état d'esprit et vous devrez tout recommencer.
Le multitâche est terrible, car il vous oblige à quitter "la zone" et à passer à autre chose. Si vous changez constamment de poste, cela signifie que vous n'êtes pas productif, car chaque fois que vous passez à une nouvelle tâche / projet, vous devez perdre ces 15 à 20 minutes pour revenir dans la zone (sans mentionner que cela fait fondre votre cerveau lentement).
C'est comme faire du multi-threading: à un moment donné, le coût de la commutation du contexte du thread tous les deux cycles est trop élevé, de sorte que le processeur passe plus de temps à changer de contexte qu'à l'exécution des tâches réelles.
Je recommande fortement de lire un article de Joel Spolsky à ce sujet:
http://www.joelonsoftware.com/articles/fog0000000022.html
Mon conseil est donc le suivant: essayez d’apprendre à (ne pas) effectuer plusieurs tâches à la fois car c’est vraiment courant. Mais assurez-vous également que vous êtes à l'aise pour le faire. Certaines personnes peuvent prendre plus de temps à se concentrer et souffriront plus que d'autres lors de tâches multiples; et ça va aussi. Ce n'est pas parce qu'il est commun que cela devrait être considéré comme normal.
Joel l'a bien dit quand il a dit:
En fait, la vraie leçon à tirer de tout cela est qu'il ne faut jamais laisser les gens travailler plus d'une chose à la fois. Assurez-vous qu'ils savent ce que c'est. Les bons gestionnaires considèrent que leur responsabilité consiste à éliminer les obstacles afin que les employés puissent se concentrer sur une chose et le faire vraiment.