4 ms·
Explaining the need for deep concentration
I think I am like most programmers when it comes to the need to get into a mental "groove" and stay there for a while. I seem to like to work in blocks of four hours if I am going to get anything non-trivial done.
I recently ran aground when trying to explain this to my wife. She is in the medical field, where tasks are presented and dealt with pretty much as they come. Her world has never had a need for the kind of deep, problem-solving type of concentration so common in programming and engineering.
In sharp contrast to her life experience, mine has always had this sort of reality. From playing chess, to electrical engineering and software engineering.
I was floored when she explained that she could not comprehend why I couldn't just get things done and insist that it is impossible to get anything done when the kids interrupt every 2, 5, 15 or 30 minutes. She also can't understand how it is that an interruption can cost your hours, as you find your way back into this mental "groove" and, if you are lucky, remember where you left off.
We are not fighting, I am just trying to explain because I have been working from home a whole lot more and I need cooperation in setting up a suitable work environment. For the most part the kids are at school and I am alone, so no big deal...but come crunch time I need the extra hours and it is hard to get them.
What I am hoping someone here can help with is a link or links to articles that explain and explore the type or mental state and concentration common in these types of occupations. She understands research papers and, of course, articles from an authority such as a cognitive science researcher would be fantastic.
What is your own experience? How do you explain these kinds of things to someone who really doesn't have a frame of reference to understand from and all that is left is for them to take your word for it?
Thanks!
- tlammens 16y agoGive them a problem set for which the solution is explainable without the need to know a programming language and which would be solvable within the hour if not interrupted. Experiencing the problem will be more convincing and powerful than listening to an explanation of why something is a problem.
- martin05 16y agoThe only thing I can think of is playing chess. However, the problem is that most people play chess superficially and without deep thinking and focus (the "groove" in my original post). This means that trying to use chess to explain it could backfire. I can see someone saying "See, I can talk to you and still play chess!". This is a tough one. I'd be neat to find a study somewhere that dives into this aspect of our work. Google searches for phrases such as "programmer concentration" or "programmer focus" return sites for schools and the like where they have programs that concentrate on software development and the like.
- queensnake 16y agoWell I don't have a specific answer, but 'The Programmer's Stone' blog has way-too-deep stuff on cognitive side of programming, from stress addiction to the benefits of low-level lighting: http://the-programmers-stone.com/2008/06/18/the-benefits-of-low-level-lighting/ http://the-programmers-stone.com/2008/06/18/the-benefits-of-... Alas I just couldn't find anything about quiet in 5 minutes of searching. But it's been too long since the link came up :)
- martin05 16y agoI just found these two links that might be useful: http://www.joelonsoftware.com/articles/fog0000000043.html http://www.joelonsoftware.com/articles/fog0000000043.html (See section 8) He mentions this book: "Peopleware: Productive Projects and Teams"
- pivo 16y agoI have not been able to explain this to my project manager either.
- Mz 16y agoMaybe you could compare it to surgery? I mean, what would happen if a kid ran in and tugged on the surgeons arm? You are talking the entire team has to re-scrub and there is enormous work involved in making sure this doesn't kill the patient...etc. Or introduce her to a game like Master of Magic? I frequently start over and don't bother to finish playing a game if I have left it too long. Too much needs to be held in your head at one time and losing your place can ruin the whole thing. If you can stop at a good stopping point -- ie a planned, chosen stopping point, not a randomly interrupted place -- sometimes you can pick back up where you left off. But I very frequently just delete old games and start over rather than try to figure out where the hell I was, mentally, after having put a couple of hours or more of continuous play into it and having a complex set of goals and problems in mind. I often just can't return to juggling it all. If the juggler steps away, all the balls hit the floor and, no, you can't just step back and keep juggling like you never missed a beat. HTH.
- martin05 16y agoHere's a PDF I found that could be a good starting point: http://interruptions.net/literature/Wijekumar-ASIST05.pdf http://interruptions.net/literature/Wijekumar-ASIST05.pdf It mentions a nearly-200 page document by Corragio that delves into the effects of interruption in what he calls "Knoweledge Workers". If you read his definition of the term, I am not sure that it applies to programmers. Besides, I am not sure that I can get someone interested in reading a 200 page dissertation. It seems that searching for "Interruption and Distraction Theories" could be a better road to take with Google. We'll see...