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