stevengharms.com

Sententiae viri ex temporibus duobus

The Art of Dating a Developer Part I: Twitch Mode

In effort to contribute something to the internet community more substantial than my musings on music, people in the environment, and a laundry list of “what I did today”, I have decided to undertake ( perhaps ) a series of writings about living with the technology-minded partner. Today I will write on what I have come to call “twitch mode”: what it is, how it affects relationships, and how you and your partner can handle its presence.

Your guy can’t focus on you, your attention is distracted after a day hard at work, everything feels too slow, after juggling chainsaws all day you feel like you’re can’t be involved at home? This entry may help you.

Note: This was originally drafted in early January 2007, but is only now surfacing here.

Introduction

Before I explain what “twitch mode” is, let me first paint a picture for you.

I had been hard at work from 7:30 to noon. I’ve been under a lot of (self-inflicted) pressure to get some “man this thing needs to get done” projects done while the majority of my corporate peers are still out on holiday vacations. I’ve been writing documentation, checking code into source repositories, refactoring some icky code, etc.

My Setup

Thanks to my two monitors muxer setup, I have, effectively, dozens of work loci on my screens, a browser with dozens of tabs opened, Pandora playing songs, and a handful of IMs blipping across the screen.

When I’m at peak work efficiency I feel like I am constantly scanning for a change in my visual input field ( “the two monitors”). In some senses, my visual cortex feels disassociated from my hands. I’m scanning the desktop looking for a change; sometimes it doesn’t really dawn on me that the force invoking those changes is me as well. When a flash of light occurs in a given locus I visually “hop” to that spot like an adroit kung-fu acolyte hopping stones in the middle of a river, make the incremental change to the locus' state, and flip elsewhere ( the locus where my compile was completing, where I was editing code, where I was looking up something, etc. ).

I can only imagine the light color on my face as I do this: Black of Linux Terminal Windows, White of Web sites, A flash as I cycle through browser tabs, etc.

My girlfriend came up to meet me for lunch after a concerted several hours spent in this mode. We went to the Mangia Pizza and I simply couldn’t concentrate on her. I could hear the words she was saying, but it was hard to look in her eyes. I kept flicking my eyes to the TV over the bar or in the corner. Any movement from a patron to a car roving the parking lot grabbed my attention, intensely, and then let it go. It’s a modality of grasping at falling pennies as they fall, reading their mint year, and then letting them continue to the ground.

So while I would certainly attest to hearing what Lauren was saying, and processing and integrating it ( for that is one of the positive effects of this modality ) I can’t say that I was being a very good listener, not giving feedback, or processing. I was consuming data and reacting, integrating, moving on, and assessing each statement as I would lines of code that I was debugging. Like a well trained college student who did his reading the night before, I listened with the depth required to understand, integrate into the structure that I was building / had built ahead of her ( “Did that check out, right, here’s where she’s going with that…”) and then check out the condiment station, the waitress, the this, the that. “Did she catch up with where I was expecting her line of reasoning to go, yep”, nod, let her continue. Hey look at that shiny thing! CNN just flipped, etc.

This is twitch mode.

The name comes from a comment in my blog years ago ( and lost ) where a parent noted that after playing first person shooter games his kid was “twitchy”.

As I was twitching in the anecdote above ( “Rains in the northeast”, “Is that a new Mercedes”, “I should go back to this yoga studio”, “Where’s my pizza” ), I knew I was in this mode. I kept trying to meet gazes so as to assure my date that I was, in fact, listening, but my heartbeat was too fast, the need to twitch too accelerated, the stone-hopping too rooted in reflex.

In short, I simply couldn’t slow down sufficiently in the window of leaving my office to sitting at lunch. And, it’s worth noting, that this issue is not unique to lunchtime rendezvous, but also surfaces when I leave work and come home, sometimes I’m twitchy.

Impact

It’s not good for the non-twitchy partner because they’re not really being listened to and, as many men learn, it’s not about the content that women are sharing it’s the sharing that’s important or that you are realizing together ( in the sense of the French word realisateur : the one whose vision is being pursued, the word they use for a movie “director” ) a concept.

Do you think when you’re twitching she’s getting that good “hey-we’re-connected” feeling? Nope.

Similarly, you’re more apt to miss important subtleties if you’re reacting to this being another thread of inbound data into your twitch-stream. If the other party is merely validating the conclusions you’ve already built, you’re more likely to have your preconceptions validated and may not actually hear what was truly said.

REPL: The engine of twitch mode

Twitch mode comes from a person working in a field with a tight REPL loop characterized by:

  • tight questions
  • quick discrete actions to induce answer
  • the evaluation of the process netting the answer

I’ve stolen “REPL” from LISP programming, it means “Read Evaluate Print Loop”.

In Lisp this works like

  • What is 2 plus 2?
  • Type into Lisp interpreter: (+ 2 2)
  • Lisp evaluator returns: 4

In Lisp this actually looks like…

CL-USER 3 : 1 > (+ 2 2)

4

CL-USER 4 : 1 > (+ 2 9)

11

CL-USER 5 : 1 >

You see a ‘prompt’ [ CL-USER ] an ‘expression’ [ (+2 2) ] and a ‘printout’ of the result [ ‘4’ ]. Get it? Read Evaluate Print.

My twitch mode stack of activities looks like

  • [Space 1] IM / Work: Hey Steven, what’s going on with case HD141245 and it returning error 442
  • [Space 2] IM / Personal: Hey can we do lunch today?
  • [Space 3] Phone rings
  • [Space 4] Compile fails with error: 228, need reference to that error code
  • [Space 5] Did service properly bind to port 389?

Each one of these, thanks to my muxing setup, can be flipped to ( in OSX and Windows that’s (alt/command + TAB) ), some other expression set up for evaluation, and the previous space, with the new result, interpreted by me. A “twitchy” response to the list above would be.

  • [Space 2]: Yes what time
  • [Space 1]: Yeah I think i fixed it
  • [Space 2 Feedback>]: 12:30?
  • [Space 3]: Marketer
  • [Space 5]: Failed bind
  • [Space 1] Feedback>]: Oh, what broke?
  • etc.

{ Sometimes I wonder if the future of human evolution will be something like a big light sensing organ in our forehead that just works in binary with the data streams relayed by our ‘light displayers’. }

Who tends to get twitchy

I sit near engineers and I’ve watched them work. They look at code or a printout or a spec and they talk it through with their peers. They talk about the modules or the dependencies or which version to checkout. Once they have a direction they do it.

I’ve seen web designers work, they pore over pixel by pixel on their screen, occasionally checking a spec or their RGB color chart, but it’s a pretty single threaded process.

I think that in this IT staff are unique, because they are couriers of information in itself. Their work is a brokering ( like those yelling dudes on the floor of the NYSE ). They hop from operational ( Why is X down ) to programming ( I need to write a module to do foobar() ), to documentational ( foobar was added because bar made the assumption of ….). It’s a discipline which really rewards operating at the height of twitchiness.

I think IT designers are probably the most likely to get twitchy. Again, the real determinator is how fast and multiple is / are your REPL sessions

Nevertheless, I don’t think twitch mode is unique to technology professionals, I’m sure anyone can experience it, but translating my post to your metier is an exercise left to the reader. That said, I think that people involved with technology professionals will be more likely to note this behavioral pattern and term it an issue.

Why twitch?

Simply put: Twitch mode is lucrative

If you are in a position where handling multiple REPL sessions is the defining daily behavior of your success, odds are that you are well remunerated because it’s simply a very taxing exercise. Thanks to social pressure, financial reward, etc. natural selection is working to make this behavior more present.

In light of twitchy-disciplined folks being well remunerated and praised, it may be very hard to see how to break them out of the loop. I assure you, it can be done, but both partners must understand and work together to provide time for the loop to grow, expand, and eventually dissipate.

This is why I singled out IT workers as being more inclined to twitch. A good engineer needs to deliver A solid solution for THE project he’s working on (see, a single focus). Most IT people have 10 pots boiling at a given time and find their time cut up and sold percentages at a time.

How to handle twitch mode

  • You know it exists, you now have a cute name for it, you can say “Gee isn’t this guy a bit like us.”

  • Understand twitch mode and its engine: the tight REPL loop

  • Decide if it is a force in your relationship

  • Avarice is a powerful motivator ( who doesn’t love a little Hobbes? ). Realize that your lifestyle and your or your partner’s mental disposition toward twitchiness may be paying rent or having you drive a slightly-nicer go-kart / live in a nicer house / etc. The world is full of social cues to encourage you to twitch 24/7.

  • Twitch mode may be a mental space your partner likes to be in.

  • It’s to the betterment of your relationship to realize how to live with and harness this aspect versus making the twitcher feel guilty / bad / deficient ( something my wonderful girl has never done! ) about his / her natural orientation.

  • If a balance cannot be found your relationship requires more insight than my website can give.

  • Commit ( both of you! ) to finding ways to help break twitch mode and bless that breaking time as sacred and inviolate. After that the twitcher will promise to be involved / take out the trash / etc.

Breaking the Twitch Cycle

  1. The only thing that can stop twitch mode is to reduce the number of REPL sessions and the tightness of their feedback loop.

  2. Disengagement from the REPL environment is primary. Note: Getting away from the desk for 15 minutes is not enough, nor is your commute home. Stepping away for 15 minutes is like gulping down a burger in the middle of a marathon, it’s a small amount of time. Lastly commute time doesn’t count, believing that is flat-out cruel to the driver.

  3. A contrary activity must be taken up that does not hinge upon a REPL loop. It must be an activity am sich with low to no feedback. Perfect example: yoga. The more you work at yoga, the less clear the goal is. What’s the REPL for “do surya nameskhar”. You don’t get new datum at the end, you don’t get rewards for doing it faster, you can only excel by doing the act in itself (am sich).

  4. Reading fiction. Have you ever tried to read something quickly (and by quickly I mean superficially, actual reading speed varies by person)? Within a few pages or paragraphs ( provided the content or action is rich enough ) you’re getting confused and have to start over. No, read the sentence as its own endeavor it itself without feedback with respect to the clock.

  5. I’m not crazy about video games or TV as a medium for escape. Both are, in these a-days, twitchily edited ( damn you, Scott Brothers). Fast cuts, soundbytes, colorful ads, I don’t think it helps. Twitch mode to “Halo” is not a good idea for trying to break the cycle.

I’ve just come in contact with some great games that help. Wii Sports is fantastic. It’s very relaxing and, while competitive and engaging, is fairly single-threaded. The boxing, bowling, or golf games are probably the best. The tennis may be a bit too twitchy owing to the speed of tennis.

Another great game is Guitar Hero. The reason is that it has a 3-minute REPL loop ( play along to Joan Jett or something ). At the end you get a score, but you’ve been “playing” music. Before you know it you’ve played five or six songs ( about 40 minutes later ) and you’re much more likely to be able to continue the transition form data-digesting guru to sensible partner.

Conclusion

This is simply a bit of advice to couples where one ( or, ye gods, both ) partners are engaged in twitchy work. The solution is communication, respect for the twitchee and twitching itself, and the accommodation and encouragement of their pursuit of REPL-breaking activities as the twitcher resumes involvement in the real world.

To the non-twitchee partner I counsel that investment and space shows real respect for your twitcher and will allow you to get your concerns a fair hearing. Consider it an investment: 40 minutes for comic books will mean that you’re treated with the love and respect that you expect and, ultimately, that your twitcher really wants to give.

And ultimately thanks to my girl, who has bravely helped discover this behavior and has hypothesized on how best to have a great relationship around it, not in spite of it.

Comments