「はい、マルチタスクは普通です」と人々が言うとき、私はまったく同意しません
それはだではない通常の!開発者が複数のプロジェクトでマルチタスクを実行するのは非常に不自然です(後で詳しく説明します)。一方、開発者の間ではマルチタスクが非常に一般的です。これは間違いなく慣れる必要があるものです。あなたの質問への本当の答えは次のとおりです。
まず第一に、「あなたはそのような優秀な従業員である」ため、単に自分の運命を受け入れるべきではありません。まったくそうではありません。他の人がいないために、人々は複数のタスクを与えられることがあります。マネージャーが仕事を処理できない場合があり、プロジェクトのスケジュールを適切に処理できないため、チームにマルチタスクを強制して委任することがあります。仕事の一部であるか、他の人が無能であるために、マルチタスクを求められているかどうかを明確に判断する必要があります。どちらにしても、それが受け入れられるかどうかは自分で判断できます。[仕事に慣れていない]場合は、仕事を見つけることができる他の場所があります。[開発者であるあなたは商品です。雇用主はこれを知っており、あなたがそれを決して理解しないように祈る。
マルチタスクについては、「はい、前後に切り替えて、各プロジェクトで同じ量を実行していることを確認してください」と人々が言うとき、100%は同意しません。申し訳ありませんが、それは非常に悪いアドバイスです。
最初に、ソフトウェアの開発中に脳がどのように機能するかを理解する必要があります(他のタスクが関係していることは知っていますが、そのタスクに焦点を当てましょう)。最初に「有線」にする必要があります。つまり、集中して、頭の中にすべてをマッピングする位置に心を向ける必要があります。すべての変数名とメソッド名、コードのワークフロー、オブジェクトモデル、並んでいるスレッド、すべて。通常、「ゾーン内」に到達するのに15分から20分かかります。
その状態になると、あなたは本当に飛び立ち、自転車に乗っているようなコードを書いています。中断した瞬間、すべてを失う可能性があります。中断が十分に長い場合(5、10、おそらく30分)、その精神状態を失い、最初からやり直す必要があります。
したがって、マルチタスクはひどいものです。「ゾーン」から離れて別の場所に移動する必要があるからです。常に切り替えている場合、新しいタスク/プロジェクトに変更するたびに15から20分を失って再びゾーンに入る必要があるため、生産性が低下していることを意味します(言及されていないため、脳がゆっくり溶けます)。
マルチスレッドのようなものです。ある時点で、スレッドコンテキストを2サイクルごとに切り替えるコストが高すぎるため、CPUは実際のタスクを実行するよりもコンテキストの切り替えに多くの時間を費やしています。
この問題に関するJoel Spolskyの記事を読むことを強くお勧めします。
http://www.joelonsoftware.com/articles/fog0000000022.html
だから私のアドバイスは次のとおりです。それは確かに一般的であるため、マルチタスクの方法を学んでください。ただし、快適に実行できることも確認してください。一部の人々は集中するのにより多くの時間をかけることができ、マルチタスクを行うと他の人々よりも苦しむでしょう。それも大丈夫です。正常と見なされるのが一般的だからではありません。
ジョエルは次のように言ったとき、それをうまく説明しました
実際、これらすべてから得られる本当の教訓は、人々に一度に複数のことをさせないことです。彼らがそれが何であるかを確認してください。優れたマネージャーは、自分の責任を障害を取り除き、人々が1つのことに集中し、実際にそれを達成できるようにします。