The programmer, though, wants to be involved deeply and profoundly in just a few projects — he wants to own them, top to bottom. Maybe it’s a whole program, or a single feature, or some underlying library. Whatever. He wants to live in it, neck-deep. He has to worry about all — literally all — of the obscure technical details that make computers go. Jumping between projects — context switching — is a great way to burn a programmer out, because the cost of unloading one project from his head only to load up another one is enormously high. The idea of switching between two projects in a day, much less ten, is not only exhausting, but depressing.
The programmer, though, wants to be involved deeply and profoundly in just a few projects — he wants to own them, top to bottom. Maybe it’s a whole program, or a single feature, or some underlying library. Whatever. He wants to live in it, neck-deep. He has to worry about all — literally all — of the obscure technical details that make computers go. Jumping between projects — context switching — is a great way to burn a programmer out, because the cost of unloading one project from his head only to load up another one is enormously high. The idea of switching between two projects in a day, much less ten, is not only exhausting, but depressing.