This is one of those meta-programming questions that may or may not belong on SO, but here goes...
Have any other programmers out there noticed that their ability to communicate with people (technical or otherwise) almost disappears during and after a period of intense programming?
I normally think of myself as a relatively good communicator. However, last night after staying late to work on some relatively challenging programming tasks, I found even ordering a takeaway meal was very difficult: my words got tied up before they left my mouth. This is not the first time this has happened ...
Has anyone else experienced this phenomenon? Is there a name for it?
Yes, it's called fatigue.
This happens to me, to some extent, basically every workday. My girlfriend knows that when I'm in "robot mode" I'll be much less responsive to her subtle body-language cues and take longer to make spoken responses.
Some of it is just intense concentration, and fatigue caused by it, I'm sure; but it also makes sense to me that wrapping one's brain around languages that are shaped around the needs and limitations of machines makes one less adept, at least temporarily, at those languages shaped around the needs and limitations of people.
Although fatigue is definitely a component, I've experienced this phenomenon after any task that requires intense concentration and does not involve communication with another person. It's intensified if the task is repetitious or taxes short-term memory, such as remembering intermediate results while following several paths of logic. Non-programming examples include solving math problems; comparing intricate, competing strategies; and organizing a year's worth of paper receipts by date, account, and category.
My guess is that these tasks encourage "internal" communication, which doesn't necessarily require to you express your thoughts as words, and certainly not in organized sentences. It's more efficient for your brain to take "shortcuts" that wouldn't be possible if you had to describe your thoughts to another person in a logical, orderly fashion. And as you become engrossed in the task you become focused exclusively on it, losing awareness of time, environmental and physical conditions, and the "chatter" that normally occurs in your head when you're aware of your "self." I imagine something similar happens to athletes when they hit their "stride," though I'm woefully at a loss to know from experience. :-)
For me this is a very comfortable state, as I enjoy focusing on a problem and navigating to the solution. If I'm forced back to "reality" without a few minutes of transition, it's like waking from a vivid dream, and I don't communicate at my best until the normal, social, thought processes resume.
This also happens, though to a far lesser degree, when my wife and I explain things to each other: we each tend to assume a lot of background and understanding on the other's part, and we therefore omit a lot of details and "incidentals" that we'd include if we were talking to anyone else. When we're "in tune" with each other it's easy, efficient, and creates tremendous synergy; when we assume too much understanding it can be terribly frustrating and leave each of us wondering how the other could possibly be so dense. :-)
I've noticed that extended periods of deep concentration on programming problems have sometimes caused me to struggle with both verbal and written communication. It becomes noticeable when I first start struggling to find recall words and phrases that normally come easily to me.
my theory: all of my short-term memory is tied up in nonverbal concepts; saying something requires me to perform a very expensive context-switch (or 'paging' operation, if you will)
staring and grunting is about all i can manage sometimes
When my communication skills drop, I find that it's generally in tandem with my programming skills also falling, generally (as others have noted) due to fatigue.
But when I've been programming intensely I find that my general level of communication skills is honed -- I speak, listen and argue with more intensity, certainly about the general space I'm working in but even about other things. It's like thinking hard about one problem puts me in the mode of thinking hard about everything.
I've even found that the best way to write technical documents -- which I generally dislike doing -- is by doing some interesting coding, even if it's prototyping or experimental or otherwise throw-away, to put me in the right mode and just get my brain working.
I'd think there are a few questions to ask here:
1) Did you order verbally, on-line or through handwritten notes? If you did the first one then it may be that your mind can have trouble switching gears which can be understandable if you really got into a zone where your reflexes were optimized for typing this and that rather than explaining how to order a pizza, for example.
2) Did you really take a break before getting the meal or was it part of a quick, "Ok I'm going to go and get this, this and this done now and then I'll be back to finish this off," mentality? I've done the latter many times and usually it is just a sign that my mind is focused on that programming task rather than the other things around me.
3) How alert were you when you did order? Fatigue is certainly another possible factor, combined with being up at an irregular hour.
4) How long did you spend programming before going out? If it was more than a few hours, e.g. 3, then I could see it if you tend to optimize what you are doing at any moment, e.g. when you are programming, do you try to optimize where the mouse, keyboard and monitor all are?
Those would be a few areas I'd look into. Maybe you just have an intense adaptibility you are just learning you have. :)
Language skills are usually situated in the left hemisphere of the brain.
The feeling I get when I'm "in the zone" is similar to the right-brained feelings I get when I draw.
I conclude that programming is more of a right-brained activity for me.
Betty Edwards's "Drawing On The Right Side Of The Brain" is a terrific book about the brain and drawing. That's where I learned how to make that switch.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With