Estoy completamente en desacuerdo cuando la gente dice "sí, la multitarea es normal"
Es no normal! Para nada, es muy poco natural que un desarrollador realice varias tareas en varios proyectos (lo explicaré más adelante). Por otro lado, la multitarea es muy común entre los desarrolladores. Esto es definitivamente algo a lo que debería acostumbrarse. Entonces, la verdadera respuesta a su pregunta es: ¿cómo realizar tareas múltiples?
En primer lugar, no debería simplemente aceptar su destino porque "usted es un empleado tan excelente" y eso significa que debe asumir más tareas de las que puede manejar. Para nada, no lo haces. A veces las personas reciben múltiples tareas porque no hay nadie más. A veces, los gerentes no pueden manejar su trabajo, por lo que delegan, imponiendo tareas múltiples en su equipo porque no pueden manejar su cronograma de proyectos correctamente. Por lo tanto, definitivamente debe tratar de determinar si se le pide que realice varias tareas porque es parte de su trabajo o porque otras personas son incompetentes. De cualquier manera, puedes juzgar por ti mismo si eso es aceptable o no. Si no se siente cómodo [con su trabajo], hay otros lugares donde puede ir a buscar trabajo. [Usted, el desarrollador, es la mercancía. Los empleadores lo saben y rezan para que nunca se den cuenta.]
Ahora, acerca de la multitarea, no estoy de acuerdo al 100% cuando la gente dice "sí, solo cambia de un lado a otro y asegúrate de que estás haciendo la misma cantidad en cada proyecto". Lo siento, pero ese es un muy mal consejo.
Primero debe darse cuenta de cómo funciona su cerebro cuando está desarrollando un software (sé que hay otras tareas involucradas, pero centrémonos en esa). Primero debes "conectarte", lo que significa que debes concentrarte mucho y poner tu mente en una posición en la que tengas todo mapeado en tu cabeza. Todos los nombres de variables y métodos, el flujo de trabajo de su código, el modelo de objetos, los hilos que van uno al lado del otro, todo. Por lo general, me lleva 15 quizás 20 minutos para llegar "a la zona".
Cuando llegas a ese estado, realmente estás volando y escribiendo código como si estuvieras montando en bicicleta. En el momento en que te interrumpen, puedes perderlo todo. Si la interrupción es lo suficientemente larga (5, 10 o quizás 30 minutos), perderá ese estado mental y tendrá que comenzar de nuevo.
Entonces, la multitarea es terrible porque te obliga a abandonar "la zona" y pasar a otra cosa. Si cambia constantemente, eso significa que no está siendo productivo porque cada vez que cambia a una nueva tarea / proyecto necesita perder esos 15-20 minutos para volver a la zona (sin mencionar que derrite su cerebro lentamente).
Es como un subproceso múltiple: en algún momento, el costo de cambiar el contexto del subproceso cada dos ciclos es demasiado alto, por lo que la CPU termina pasando más tiempo cambiando el contexto que ejecutando las tareas reales.
Recomiendo leer un artículo de Joel Spolsky sobre este asunto:
http://www.joelonsoftware.com/articles/fog0000000022.html
Entonces, mi consejo es: intente aprender cómo (no) realizar varias tareas porque es muy común. Pero también asegúrate de que te sientas cómodo haciéndolo. Algunas personas pueden tomar más tiempo para concentrarse y sufrirán más que otras cuando realizan múltiples tareas; y eso también está bien. No es porque sea común que deba considerarse normal.
Joel lo dijo bien cuando dijo:
De hecho, la verdadera lección de todo esto es que nunca debes dejar que la gente trabaje en más de una cosa a la vez. Asegúrate de que sepan de qué se trata. Los buenos gerentes ven su responsabilidad como la eliminación de obstáculos para que las personas puedan enfocarse en una cosa y realmente lograrlo.