Coders: Context Switching is hard for both computers and relationships
Clive Thompson is a longtime contributing writer for the New York Times Magazine and a columnist for Wired and now has a new book out called "Coders."
"Along the way, Coders thoughtfully ponders the morality and politics of code, including its implications for civic life and the economy. Programmers shape our everyday behavior: When they make something easy to do, we do more of it. When they make it hard or impossible, we do less of it."
I'm quoted in the book and I talk about how I've struggled with context-switching.
Here is TechTarget's decent definition of Context Switching:
A context switch is a procedure that a computer's CPU (central processing unit) follows to change from one task (or process) to another while ensuring that the tasks do not conflict. Effective context switching is critical if a computer is to provide user-friendly multitasking.
However, human context switching is the procedure we all have to go through to switch from "I am at work" mode to "I am at home" mode. This can be really challenging for everyone, no matter their job or background, but I propose for certain personalities and certain focused jobs like programming it can be even worse.
Quoting Clive from an ArsTechnica article where he mentions my troubles, emphasis mine:
One of the things that really leapt out is the almost aesthetic delight in efficiency and optimization that you find among software developers. They really like taking something that's being done ponderously, or that's repetitive, and optimizing it. Almost all engineering has focused on making things run more efficiently. Saving labor, consolidating steps, making something easier to do, amplifying human abilities. But it also can be almost impossible to turn off. Scott Hanselman talks about coding all day long and coming down to dinner. The rest of the family is cooking dinner and he immediately starts critiquing the inefficient ways they're doing it: "I've moved into code review of dinner."
Ordinarily a good rule of thumb on the internet is "don't read the comments." But we do. Here's a few from that ArsTechnica thread that are somewhat heartening. It sucks to "suffer" but there's a kind of camaraderie in shared suffering.
With reference to "Scott Hanselman talks about coding all day long and coming down to dinner. The rest of the family is cooking dinner and he immediately starts critiquing the inefficient ways they're doing it: "I've moved into code review of dinner.""
Wow, that rings incredibly true.
That's good to hear. I'm not alone!
I am not this person. I have never been this person.
Then again, I'm more of a hack than hacker, so maybe that's why. I'm one of those people who enjoys programming, but I've never been obsessed with elegance or efficiency. Does it work? Awesome, let's move on.
That's amazing that you have this ability. For some it's not just hard to turn off, it's impossible and it can ruin relationships.
When you find yourself making "TODO" and "FIXME" comments out loud, it's time to take a break. Don't ask me how I know this.
It me.
Yep, here too 2x--both my wife and I are always arguing over the most efficient way to drive somewhere. It's actually caused some serious arguments! And neither one of us are programmers or in that field. (Although I think each of us could have been.)
From the day I was conscious I've been into bin packing and shortest path algorithms--putting all the groceries up in the freezer even though we bought too much--bin packing. Going to that grocery store and back in peak traffic--shortest path. I use these so often and find such sheer joy in them that it's ridiculous, but hey, whatever keeps me happy.
This is definitely a thing that isn't programmer-specific. Learning to let go and to accept that your partner in life would be OK without you is an important stuff. My spouse is super competent and I'm sure could reboot the router without me and even drive from Point A to Point B without my nagging. ;)
However we forget these things and we tend to try and "be helpful" and hyper-optimize things that just don't need optimizing. Let it go. Let people just butter their damn bread the way they like. Let them drive a mile out of the way, you'll still get there. We tend to be ruder to our partners than we would be to a stranger.
That’s part of the reason why I’m now making all dinners for my family ;-)
LOL, this is also a common solution. Oh, you got opinions? Here's the spatula!
What do YOU think? How do you context switch and turn work off and try to be present for your family?
Sponsor: Manage GitHub Pull Requests right from the IDE with the latest JetBrains Rider. An integrated performance profiler on Windows comes to the rescue as well.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
For example, a simple rule I implemented was "I will never again eat at my desk." I work from home and force myself to physically leave my office to go eat lunch. This makes me context switch because I have to acknowledge that I have walked away from the room where I work and must let go of anything I'm holding onto. I also block my lunch hour on my calendar to make sure I context switch.
Also put in place the no cellphones in the dining room of the house, meaning I can't bring my phone to the table. Now I have had import calls that require me to step away.
And finally unless I am traveling, my laptop is not allowed to leave my office. This has re-enforced that when I'm "at work" I'm at work, and more importantly "When I'm not", I'm Not.
It's too late for me but I'm hoping others can learn from this. These things add up and are incredibly important to get on top of.
If my mind is entirely one something my family can't understand or even relate to then in that moment I'm still at work, and I'm not really with them. When I sense that disconnect it reminds me that I need to do one thing at a time, and right now that thing is hang out with my family.
Luckily, nowadays more and more people wake up and look further. In this age of information, there are great places to start the quest. For example soundstrue is doing a great job of gathering information and presenting that to the world.
In my case, context switching is (and sometimes still is) very challenging. Only through body-awareness work and with lot of practice and dedication, I can switch rather easily to being a loving and present father of four children.
Comments are closed.