Я полностью не согласен, когда люди говорят "да, многозадачность это нормально"
Это не нормально! Вовсе нет, для разработчика очень неестественно многозадачность в нескольких проектах (я объясню подробнее позже). С другой стороны, многозадачность очень распространена среди разработчиков. Это определенно то, что вы должны привыкнуть. Таким образом, реальный ответ на ваш вопрос: как многозадачность?
Прежде всего, вы не должны просто принимать свою судьбу, потому что «вы такой отличный работник», а это значит, что вам нужно выполнять больше задач, чем вы можете справиться. Вовсе нет. Иногда людям дают несколько заданий, потому что больше никого нет. Иногда менеджеры не могут справиться со своей работой, поэтому они делегируют, применяя многозадачность в своей команде, потому что они не могут правильно обрабатывать график своих проектов. Таким образом, вы должны определенно попытаться определить, если вас просят многозадачность, потому что это часть вашей работы или потому, что другие люди некомпетентны, В любом случае, вы сами можете судить, приемлемо это или нет. Если вам не комфортно [с вашей работой], есть другие места, где вы можете найти работу. [Вы, разработчик, являетесь товаром. Работодатели знают это и молятся, чтобы вы никогда этого не осознали.]
Что касается многозадачности, я не согласен на 100%, когда люди говорят: «Да, просто переключайтесь назад и вперед и убедитесь, что вы делаете одинаковое количество для каждого проекта». Извините, но это очень плохой совет.
Сначала вы должны понять, как работает ваш мозг при разработке программного обеспечения (я знаю, что есть другие задачи, но давайте сосредоточимся на этом). Сначала вам нужно «подключиться», а это значит, что вам нужно сконцентрироваться и сосредоточиться на том, чтобы у вас все было в голове. Все имена переменных и методов, рабочий процесс вашего кода, объектная модель, потоки, идущие рядом, все. Обычно у меня уходит 15 или 20 минут, чтобы попасть "в зону".
Когда вы попадаете в это состояние, вы действительно летите и пишете код, как будто вы едете на велосипеде. В тот момент, когда вас прерывают, вы можете потерять все. Если перерыв достаточно продолжительный (5, 10 или 30 минут), вы потеряете это состояние ума и вам придется начинать все сначала.
Так что многозадачность ужасна, потому что заставляет вас покинуть «зону» и перейти к чему-то другому. Если вы постоянно переключаетесь, это означает, что вы не работаете, потому что каждый раз, когда вы переходите на новое задание / проект, вам нужно терять эти 15-20 минут, чтобы снова попасть в зону (не говоря уже о том, что это медленно тает ваш мозг).
Это похоже на многопоточность: в какой-то момент стоимость переключения контекста потока через каждую пару циклов слишком высока, поэтому ЦП тратит больше времени на переключение контекста, чем на выполнение реальных задач.
Я настоятельно рекомендую прочитать статью Джоэла Спольски по этому вопросу:
http://www.joelonsoftware.com/articles/fog0000000022.html
Итак, мой совет: попробуйте научиться (не) многозадачности, потому что это действительно распространено. Но также убедитесь, что вам удобно это делать. Некоторым людям может потребоваться больше времени, чтобы сосредоточиться, и они будут страдать больше, чем другие, когда многозадачность; и это тоже нормально. Это не потому, что обычно это считается нормальным.
Джоэл хорошо выразился, когда сказал:
На самом деле, реальный урок всего этого заключается в том, что вы никогда не должны позволять людям работать над несколькими вещами одновременно. Убедитесь, что они знают, что это такое. Хорошие менеджеры видят в своей ответственности устранение препятствий, чтобы люди могли сосредоточиться на чем-то одном и действительно сделать это.