Phil Factor's Phrenetic Phoughts

Simple-Talk columnist
The wilder shores of Transact SQL    Phil on Twitter   Phil on SQL Server Central  Phil on BOS

The 'Do Not Disturb' Hat?

Published Sunday, April 05, 2009 7:39 PM

Right. Peace at last. Inbox down to zero, nitpick forms filled in, back to the code. I’ve got the code all cached in my skull. I know every variable. Every ounce of concentration is focused on stepping through the code or working out why the result I expected didn’t happen. Now what is the best strategy to flush out that bug? Ah, I know, could it be….

‘Could I borrow that pen a moment, please?’

Wave hand airly, and dismissively. Please dear god, make him go away. Clamp the headphones over the ears. Phew. He takes the hint.

What was it? Oh yes, the test strategy, it was something odd about that error message that rang a bell. Why were there three….

Phone warbles

‘Hello. Phil Factor here.’

‘Have you a few spare minutes to go over the proposal for the change to the project spec for the MIS project ?’

‘If I was into spare minutes, Dave, I’d be working down the urgency stack until I got to the change proposal. When I get there, you’ll be the first to know. Bye’

Goddaammmit. Can’t anyone understand? A developer’s job is like no other, except a performing musician or athlete. It requires every ounce of concentration. A minute’s interruption and you’ve lost half an hour’s work, painfully gathering the threads together. Now where was I? That string in the error message should be a vital clue. There was something in the back of my mind… gone now. Never mind, just look at the wording of the trace …

Aargh! Here comes the department bore. There is always someone who hasn’t got enough to do, and hasn’t the wit to find work. He’s coming this way, with a glint in his eye. Gaze avoidance; gaze avoidance. Now I know why people have three screens. Phew, he’s veered off to the water cooler to find a kindred spirit at a loose end to talk to.

Programmers are a victim of modern architecture. There is an assumption that they work in teams like oxen pulling a plough. Open-plan offices are perfect for the modern programming team, it is thought. Open-Plan offices are, by amazing coincidence, far cheaper to build.

When I was a small lad, programmers had their own quiet offices where they could escape to do their coding work, or could even crawl into a nice quiet booth in the server room. Now we are supposed to be gregarious team-players, ready at all times to chat to passers-by, or switch our focus at the drop of a hat, respond to blooming IM messages that pop up on the screen, or answer fatuous questions shouted across the office. Yes, for set periods of time in the working day, you will find me to be the soul of modern team spirit and affability, engaging and interactive, but when I’m coding you could be a potted plant for all I care.

I phoned a chum the other day who is a famous author. His secretary answered the phone. Could I talk to Steve please?' 'Sorry Phil, could he please call you back, he's meditating at the moment'. Wow. Super cool.

We are stuck in some architectural orthodoxy that says that the open plan office is the best thing for us, so we are forced to make the best of it, sadly. Surprisingly, there seems to be no sign that is universally recognized that means, ‘I wish to seem a gregarious team player who is prepared to interact at a moment’s notice, look admiringly at photos of your children, give you technical help just because it is less trouble for you than looking it up on Google, discuss what was on the telly last night, and so on, but, on the other hand, if I don’t get this module working right, all sorts of things are going to slip, so please pretend I’m not here.’ A special hat? A look of sinister malevolence? Suggestions anyone?

Comments

 

GilaMonster said:

I used to use a pair of noise-reducing headphones for that. Amazing how many people will go away if you ignore them for a couple minutes. After a month or so of 'training', the developers got the hint, mostly.

I'd always make time for them later, after all, helping the devs with T-SQL was part of my job, but when I'm knee-deep in optimising a monstrosity of a query, interruptions were not welcome.
April 6, 2009 6:14 AM
 

fatherjack said:

I used to have a server under my desk with its monitor beside mine (the days before dual monitors were allowed). I was new to the Co. and was getting my head around the set up that was in place. Interruptions were common place and more often the sort of thing that could be easily enclosed in an email. I actually set the scrolling server screen saver to "Please do not disturb me unless if it is VERY important - like if the building is on fire.". People would walk up to my desk, read the screen, pause, chuckle and then disturb me anyway. Unbelievable.
April 7, 2009 1:31 AM
 

ghurlman said:

What's worked for me in the past was not just noise-cancelling headphones, but the great big "Princess Leia" headphones that can't possibly be missed.  Then, don't look up at someone trying to get your attention unless they actually tap you or wave a hand in your face... you'll be amazed just how many people won't cross that line.
April 7, 2009 10:44 AM
 

Rachel Clements said:

LOL, this is a great blog and so utterly true!

One particular contract I worked on had a large open plan office in which the two female receptionists had their desks situated just behind the small web development team.

I was part of this team, closest to the receptionists, but with my back to them. It was considered that, because I was female (and the only woman on the team), I was therefore approachable and the one to talk to in order to find out the current progress of the extremely-highly-pressured web project that the company as a whole was dependent upon for it's income!

Despite the fact that I had my nose to my monitor, the team was completely silent with us all in deep concentration, a voice would occasionally drift across the air "Rachel..." Agggh! Crash! That was the noise inside my head as the carefully constructed chain of thoughts I had spent 20 minutes building, collapsed in a heap inside my brain!

At least with my back to the receptionists, they couldn't see the look on my face when such interruptions would happen, and I had time to replace my grimace with a gritted-toothed smile before turning round to say "Yes....?"

I now have a pair of Sennheiser wireless headphones. Not only can I ignore people while at my desk, I can wander anywhere I want to and feign the inabillity to hear them say my name, for who can say whether I'm listening to music or not...
April 8, 2009 8:19 AM
 

Dinah said:

Yes.... headphones and pretending they're not there.  That helps a lot.  They'll generally only bother you if they really need an answer that second.

If they interrupt you anyway, you slowly take off your headphones and say "I'm sorry.  Didn't see you there.  Just really focused on what I'm doing right now."  Absolutely pleasant, and most people get the hint.

I've actually been told by a manager that I need to socialize more, rather than be so businesslike (his alma mater was the Pointy-Headed Boss School of Management).  My response was "Am I meeting my deadlines?"  "Well... yes".  "OK, I'd be happy to socialize more, but I'll need to add time to my schedule to do that."  -- amazing how that solved the problem.
April 15, 2009 12:31 PM
 

imassi said:

I attended a workshop on time management a while ago and the instructor told us how one company (or maybe just a department) took care of this issue.  At every cubicle, there would be a clear plastic cup attached to the top of the divider.  In this cup, you could place one of two coloured balls, a red one or a green one.  If the green one was in the cup, you were receptive to people coming up and asking questions.  If the red one was in the cup, you were focused, so "do not disturb".  You could thus see from a distance whether you could talk to that person.

To prevent people from abusing the "do not disturb" option, if people found you used the red ball "too much", then they took your balls away for the week and you had to entertain everyone's requests whenever they came by.  It's not a perfect solution from an accessibility standpoint if you have someone who is colour blind, but it sounded like it worked.  Didn't cost much to implement the solution either.  No need to wear a hat.
April 16, 2009 6:00 AM
 

Bruce W Cassidy said:

I used to find that working from home made be much more productive for intense coding tasks.

However, I've also found that peer/buddy programming works well.  So intense coding tasks need not be solitary.

It's an imperfect world.  I'd rather put up with the interruptions and have a social team than put up with just myself.
April 16, 2009 3:57 PM
 

Philip Kelley said:

Yeah, it sure sucks when people do that to you. Good thing none of us would ever do anything like this to our co-workers, huh?

When you need help, advise, to find out what the Frammit7 variable stands for, or to compare notes on last night’s great new episode… what do you do? Do you email/IM/text? Do you barge in, do you approach warily from behind, trying to figure out how intently they are peering at the monitor, or something in between? When you need to “open communications” with a fellow IT practitioner, just how do you approach that problem? It’s an issue I’ve paid an (admittedly) small amount of attention to, and outside of rarely starting work conversations about non-work subjects, I’ve yet to figure out a solution that I’d like other people to practice with me. Any ideas?
April 21, 2009 9:03 AM
You need to sign in to comment on this blog



















<April 2009>
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
Raw Materials: Command-Line Nostalgia
 Arthur finds philosophy deep in a dialog box. Read more...

Increasing Email Size Limits for your High Profile Users in Exchange 2010
 If you ever need to set up fine-grained rules to control the maximum size of messages a subset of your... Read more...

Product Review: Schema Compare for Oracle
 One of the more important tasks in the process of rolling out incremental developments to a... Read more...

Implementing the OUTPUT Clause in SQL Server 2008
 In retrospect, it was probably the inclusion of the OUTPUT clause in the MERGE statement that gave... Read more...

SQL Source Control: The Development Story
 Often, there is a huge difference between software being easy to use, and easy to develop. When your... Read more...