Sunday, June 10, 2012

PragmaticThinking and Learning, by Andy Hunt

http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050



This is a great book, IT is not mainly about IT, it's about how our brain work.

I dare to report (hope I won't be sued) a brilliant excerpt on CONTEXT SWITCHING:


Context Switching
How much disposable attention do you have?

That is, how many things are currently demanding your attention, and how many total
things can you possibly pay attention to at any given point in time?
The ratio is pretty unfavorable.
You can’t pay attention to as much as you think you can.
We can’t pay attention to too many different things at once, because
to change your focus from one item to another means you have to
switch context. And unfortunately, our brains just aren’t wired to
support context switching very well.
Multitasking takes a heavy toll on productivity.
One study  found that in general, multitasking
can cost you 20 to 40 percent of your productivity.
Right there, that cuts your eight-hour workday
down to five. Other studies bump that number
up closer to 50 percent, with a huge increase
in errors, as well.

Just to clarify, multitasking here refers to performing multiple concurrent
tasks at different levels of abstraction. Fixing a couple of
bugs while in the same area of code doesn’t count as multitasking,
nor does returning several similar phone calls or cooking a multicourse
meal. You get into trouble when you interrupt your codefixing
session by responding to an unrelated IM, email, or phone
call or take a quick peek at a news site.
It takes twenty minutes to reload context.
Unlike computers, our brains don’t have
a “save stack” or “reload stack” operation.
Instead, you have to drag all the bits of
memory back in, sort of one-by-one
. That
means that if you are deep into a task (such as debugging) and then
get interrupted, it can take you an average of twenty minutes to get
back into it. Twenty minutes. Consider how many interruptions
you may get in a given day; if each interruption requires twenty
minutes for you to recover, a good portion of your day is just plain
wasted.
This could explain why programmers in general hate to be
interrupted—especially by nonprogrammers.

In today’s digital culture, this is part of a larger, dangerous phenomenon
known as cognitive overload. It’s a cocktail of stress, too
much multitasking, too many distractions, and the frequent flurry
of new data to deal with
. Scientists agree that trying to focus on
several things at once means you’ll do poorly at each of them
.
And if that wasn’t bad enough, a controversial study done in the
United Kingdom noted that if you constantly interrupt your task
to check email or respond to an IM text message, your effective IQ
drops ten points.
By comparison, smoking a marijuana joint drops your IQ a mere
four points (see Figure 8.4, on the next page).
Whatever you do, please don’t do both.



No comments: