Slashdot Asks: How Do You Handle Interruptions At Work?
This question was inspired by this anonymous submission:
Analysis of programming sessions and surveys note that programmers take 10-15 minutes to resume editing code after being interrupted. Computer scientists and researchers from University of Zurich and ABB Inc. have designed the 'FlowLight' system which automatically determines a worker's interruptibility using a combination of keyboard/mouse usage, calendar information, and login state, and makes interruptibility visible to other employees using a red/yellow/green LED indicator placed near the desk... Knowledge workers in various locations found that interruptions were significantly reduced by 46%. [PDF]
NBC reports these researchers "also tested a more advanced version that uses biometric sensors to detect heart rate variability, pupil dilation, eye blinks or even brainwave activity," and of course one of the researchers tells the New Yorker that a commercial version "is 'in the works.'" But it'd be interesting to hear from Slashdot's readers about their own solutions -- and how interruptions affect their own productivity at work. So share your best answers in the comments. How do you feel about interrupt
NBC reports these researchers "also tested a more advanced version that uses biometric sensors to detect heart rate variability, pupil dilation, eye blinks or even brainwave activity," and of course one of the researchers tells the New Yorker that a commercial version "is 'in the works.'" But it'd be interesting to hear from Slashdot's readers about their own solutions -- and how interruptions affect their own productivity at work. So share your best answers in the comments. How do you feel about interrupt
The price of red LED's is about to skyrocket.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
How Do I Handle Interruptions At Work? I set the perpetrator ablaze.
"automatically determines a worker's interruptibility using a combination of keyboard/mouse usage, calendar information, and login state, and makes interruptibility visible"
I understand this is for coders, and how someone might think that when they don't tap away angrily they are available for interruption, but it would be safer to assume that when tapping slows or stops, there's a reason for that. And that reason might not always be that they have nothing more to do. Researching stuff, reading stuff, and just thinking about stuff might not be done in parallel with mighty mouse movements and constant tapping, but they are equally important. So my opinion about this is that it's a result based on research that just wasted money. The simplest way is generally better: just ask, or even better just agree on a time to discuss issues, it's really not rocket science.
I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
I wouldn't want my employer spend a bunch of money to monitor my biometrics to determine my "interruptability", and of course use that data for "other purposes" as well, while they could simply give me a red light controlled by a switch. Red=do not disturb (and what the hell does yellow mean in this case?) Strangely, the article mentions that manual actions such as turning on a red light, putting up a sign, wearing headphones or closing the door to the office were perceived as "too cumbersome".
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
very very badly in fact
If you interrupt me, I double down, and interrupt you like hell.
Until you get it.
I find wearing headphones (something kind of large that covers the ear, not earbuds or anything) scares off a lot of interruptions. If i'm doing something light I might even have music playing on them but most of them time they're just for show.
I ignore Anonymous Coward posts. If you want to discuss something, that's awesome. Log in.
Looking at it from a manager's perspective:
Work in rooms, not an open-plan office. This way, if someone wants to interrupt you, they have to "pay" a higher price, like messaging you (you may not be available or the nature of the asynchronous conversation may not be convenient) or actually getting up and going to your room.
Cultivate a culture of empathy, wherein people learn to pick up signs that someone is busy working. Apply peer pressure when someone doesn't pick up the cues. Make it an "insult" to destroy someone's flow. Don't be a dick about it, though - there are ways of cultivating this slowly and discreetly.
"Programming is life, the rest is mere details"
It can be impossible from time to time. We got to a point where I had interruptions multiple times pr hour. So I never got any work done besides helping others.
So I:
1) Shut down Outlook
2) Shut down Lync
3) Put my iPhone in airplane mode
4) Set my desk phone status to being in a meeting for a few hours.
I check my mail 2-3 times a day and then shut it down again.
If somone complains about me not being available or that I haven't completed a task, I inform them that I have more tasks than time and I ask my boss to prioritize my assignments.
(In the case where you don't have a boss who acknowledges the fact that there's too much work, I suggest start looking for another job.)
I understand this is for coders...
Not really. If it were for coders it would be discussing how to mask out irrelevant interrupts and install a suitable interrupt handler to deal with non-maskable interrupts.
I do meetings, work on HW in the lab, do other routine stuff or browse the net. Coding happens strictly at home. My warm-up time is even longer than the cited 15 minutes because it's often somebody else's code that I need to figure out first, or something I haven't looked at in months. It's very rare these days that I actually write some piece of code that takes significant time. Just last week a three day troubleshooting expedition resulted in a one-byte change in somebody else's code. It was in a regex :(
thegodmovie.com - watch it
I have a cash acceptor wired up outside my office, which dispenses sequential tickets. I won't talk to you unless you have a ticket.
It was kinda a stupid joke I setup one day because I got sick and tired of being constantly interrupted. People actually took it seriously, much to the amusement of my boss. The first day I made well over $120 in spare cash from all the interruptions. The next day, I only made $40, but got so much more work done. The day after that, it was around $10, and then finally people got the hint and it was $0.
Occasionally someone still comes and knocks on my door, and for the privilege of interrupting me, they get to pay $10 (in cash or coins). If I'm not too busy I'll drag the machine inside and leave it unhooked, but otherwise it's out there by my (closed) door and plugged in, ready to accept payment. I even landed up building an additional three units for our other developers (it's basically just a laser cut plexiglass chassis with an Atmel AVR development board, an OTS cash acceptor, and an OTS ticket printer). Our productivity has skyrocketed as a result, and management even lets us keep the cash we make. Most of the time, it gets reinvested back into the office as donuts or other treats though, so it's not like we're actually making a massive profit or anything.
Unzip pants, start masturbating.
I think I chose not to swap out and when interrupted I stay in the working state and just stare blankly at the interruption until it goes away.
How do you feel about interrupt
I don't care. I don't do bare-metal program
'The Economy' is a giant Ponzi scheme whose most pitiable suckers are the youngest among us and the yet-unborn.
[TODO: enter content]
Just gonna check my mail first.
I work in a cubicle environment and have done so for most of my professional life and it's been my experience that there is little you can do to stop interruptions. If you are the kind of person who is insanely bothered by interruptions, can't stand the sound of people punching a keyboard, drinking coffee, munching on a donut, stirring a cup of tea with a metal spoon, slurping same, phones ringing, ..., etc... you can either try to get a new job with a company that offers its workers their own private oasis of tranquillity to work in or consider a new career as a forest ranger in a remote nature reserve or join a monastery. There is very little you can do to force your co-workers into stealth mode without it blowing back on you. I currently work in a very quite place surrounded by developers and sysadmins but I used to work in a place where we developers were sat next to a bunch of women from the billing department. The lady who sat next to me used to get loads of calls from her counterparts at another companies which was not so bad except when she left her desk for meals and breaks which meant that she usually left her mobile phone behind to get some peace and quiet. The downside for me was that her colleagues would ring her and keep ringing until the desk phone timed out and then auto dial her mobile, which had the vibration function on in addition to the ring tone, so you can imagine what that sounded like while the mobile danced around on her desk until it timed out as well. When you are trying to code a piece of billing software this is not an environment conducive to allowing you to concentrate. One day I finally just snapped (which was a mistake, I should have just quit my job and told them why), answered the call and asked the caller why she kept ringing both phones in succession until they timed out and pointed out that if people did not answer after the first ten rings they are normally not there. Mind you I did not intend to be rude or insulting, I was mostly just genuinely curious to know why somebody would do this. The woman on the other end told me that she always let the pones ring themselves out because eventually somebody would answer so she could ask them where her friend was (which was always the same two answers: She's on a break/She's out to [breakfast|lunch|tea]). In the end I got chewed out by a supervisor for being rude to a caller and basically told that I should put up with the several dozens of daily two minute long ringing marathons and like it. So the moral of the story is, all you'll achieve by trying to make your co-worker tip-toe around you is piss everybody off.
When I get interrupted by work, I get back to goofing off as fast as I can.
On x86 this can be a chore as it needs to be done in assembly. Arm is a little easier with ISR declarations if you use the correct compiler extensions.
I'm a minority race. Save your vitriol for white people.
I have pretty much given up trying to be 'productive' at work. As a team leader I am normally dealing with questions and interruptions the entire time I am in the office. Fortunately, our team decided on something we call Core Hours. If you are at work you need to be around between 10am and 3pm for collaboration. So you can start early and leave early, start late leave late or do what I do: spend time at work to deal with the team - go home early then do the 'real work' after the kids are in bed. Now if I can just deal with my wife asking me questions while trying to hack away...
I kill the poor guy usually.
My first program:
Hell Segmentation fault
The longest most of my colleagues have to concentrate on a single task might be 5 minutes, so they have no concept of how distracting it is to be interrupted. I've traced at least one bug that was caused by a persistent colleague trying to get me to do "something urgent".
I've found a few methods for dealing with interruptions:
1. Wear headphones - it makes you immediately less approachable, plus I don't hear (or can plausibly deny hearing somebody shout my name across the room). People are lazy, so if they need to stand up and walk over they're less likely to bug me about something simple.
2. Tell people "give me 15 minutes, I'm half way through something". Often (with one person in particular) they've decided the easiest option is not to think about something and instead get somebody else to do the thinking. The number of times I get told a couple of minutes later "don't worry, I've worked it out"
3. If somebody makes the effort to come over I'll deal with it if immediately. If I find that they've lied to make it sound urgent, they get told so in no-uncertain terms.
I've been given the excuse "I can't remember that, I only do it a couple of times a month", to which my response is "if your daughter called up twice a month to get you to refuel her car because she couldn't remember how to do it, what would your reaction be".
It's a small office, so I'm the developer, sysadmin, tech-support agent, so there tend to be a lot of interruptions. In some cases I've given up with the passive bit of passive-aggressive - there's a limited number of times I'm willing to show somebody how to copy and paste. The bonus is that in our office speaking your mind isn't just acceptable, it's expected.
Come on, Luxafor already does the warning system with LEDs that's talked about.
We use it in an open-space office plan and it works great (~20 person small company)
In today's world, you train yourself to handle context switching better. If you don't, people like me out-compete you. The way I look at it, I don't get paid to program, I get paid to "work" somewhere. I get paid to do something for someone else the way they want to do it.
Here's a lesson kids: It's never fun to be a software engineer/developer/programmer working for the man. You won't get to do what you like best about it. This ought to compel you to make that money, invest it and pay yourself so you can have the freedom to do what you love in the way you like to do it. I wish I had learned that sooner.
It takes time, so if it feels like drudgery, make time to do something you actually like in your free time.
We'll make great pets
and then resume working. Just like every other computer programmer.
i told her how much the interruptions were costing the company. "that one cost XYZ $72." "this one was $111."
I compare the new interruptions IRQ to the current interruptions IRQ and will only begin working on the new interruption if it has a higher priority.
"His name was James Damore."
We have an open office plan, and what evolved organically was to use the person's headphone state as an indicator: if it covers both ears, the person is "in flow" and should not be interrupted, unless for high priority requests; if the headphone is off or only on one ear, the developer can be questioned freely.
Hyperbole: I use it liberally!
If you put software engineers in an office, you're a manager who's never been a coder; you have no idea how profound a mistake you've made and you don't know that you don't know.
Well, $SUBJECT says it all.
Due to interruptions I couldn't concentrate in work for such a long time that I eventually forgot how to get back in flow and get anything done. Well, maybe better luck in next job.
". Knowledge workers" just fire all the non . Knowledge workers and their won't be anybody to interrupt you.
and they stop. After all, if you WANT TO FUCK WITH ME, let's do it!
Showing my age :-), I recall when time sharing systems were the go, & there were rooms full of workstations. A culture developed of people not speaking, even to the person next to them. Email instead. They were put down as socially inept nerds. But I always saw it as being considerate: they did not interrupt each other: we scan email when we're at a break in our work. And no, the email did not have push notifications turned on.
Speaker-To-Animals said one thing more before he turned back to his table. "Louis Wu, I found your challenge verbose. In challenging a kzin, a simple scream of rage is sufficient. You scream and you leap."
"You scream and you leap," said Louis. "Great."
On x86, I use cli Unfortunately, It doesn't get rid of non-maskable interrupts, so you have to handle them manually.
I tell people to fuck off, I'm busy.
Or appropriately worded phrases to that effect.
Is this really a problem for any sensible adult?
I just replace the function pointer in the interrupt table and chain call the old.
I install the programmer AI in docker, I can restart it immediately when it's interrupted.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion. -- Spazmania (174582)
I have been using earmuffs since a year back and it works perfect! (3M Peltor X3A which have a good balance between weight and dampening)
When surfing on slashdot show the green light.
Otherwise show the red one.
If a person cannot get a "do not disturb" sign or some other simple device, they obviously find it either "too cumbersome" or simply beyond their abilities. Of course, would you want these idiots working on your code base?
I can already see the real use for this....
So, you know..the company has been having hard times and there could be layoffs coming. I have noticed that Bob's light is always on, so I know he is working hard, all day long, while yours is off pretty often.
I work with someone who I describe as the "center of distraction", as opposed to center of attention. He has to be in the middle of every conversation. He has to give his opinion on everything. And if the office is too quiet, he will randomly just start calling your name for no reason. I can be working on converting a highly complex chemotherapy regime from paper to electronic form, and he'll randomly call my name. When I ask him what he wants, he'll say, "Oh, nothing." This has gone on regularly (read: a dozen times a day) for over a year. I finally started shaming him in front of everyone because that seems to be the only thing that will stop him. When he calls my name, I will ask, "Do you want something, or are you purposefully bothering me and the rest of the office for some little game?" With normal people, this would have stopped the habit cold. But with him, it's just slowed him down from a dozen interruptions per day to one or two.
Other people working in fields that are more demanding of creative thought and productivity handle this without making such a big deal about it. "Programmers" give it a rest already. If you are unable to mute your phone's ringer and put up a "do not disturb" sign you are probably not very good at solving more complex issues.
Of course, if you are in one of those trendy "open office" work areas, an LED just wont help.
This is the whole problem. We aren't talking about sensible adults here.
I see what you did th
There's a context switch penalty for everyone, which is (another) reason why our multitasking focused world produces crap outcomes at slow paces.
It can work, sort of, if you do trivial tasks with little actual context change. But the more in-depth the actual tasks are and the more the actual context changes, the more time it takes to reconstruct the cognitive and structural environment the task requires.
It's obvious for some physical tasks -- if you fix widgets and you only have room for one widget on your work bench, obviously being asked to stop fixing one widget to work on another widget.
But even when the physical side appears trivial to the outsider, it often isn't really, and even if it is it still requires a cognitive reset.
I usually tap my headset to indicate I'm listening to the 30+ voices in an all-day conference call — and return to posting on Slashdot.
I stopped caring. So I lost 15 min (optimistic) of work? Whatever, my time is paid.
This looks great - where can I actually get one, or how can I build my own. Is there any source code available for their system? If it was made available as a commercial product, I'd buy it for my team...
Start @ $=10...so the first is essentially free...hey...even if there is no interruption you still get a buck...you could retire after the 7th.
So all my tasks are interrupt service routines. There's no room for batch executions.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
I make myself the biggest interruption.
Then at some awkward moment, when I realize the other person wants to get back to work, I smile, shrug, and leave the room.
verb
After a few years of constant interruptions, I just gave up, and never attempted anything except under deadline pressure, which gave me the excuse required to push out interruptions.
I've never been productive since.
Should I rather finish my job or you?
There sure are a lot of snowflakes around here. I thought winter was over?
Prioritizing by Interruption-to-Reply-Questions is a good idea, but what if they have Direct Management Access?
#DeleteFacebook
I used to work in a test tools team and we'd get a lot of visitors wanting help interpreting test results and preferably fix their bugs for them. It was manageable until we got close to release. By that point our scrum master moved to the desk closest to the door and would intercept everyone coming into the room. He'd have them describe their issue to him and then he'd make the call whether to disturb anyone in the team. Still, there was almost constant talking in the room so headphones were a must.
I've found that one thing that causes a lot of unnecessary interruptions is a lack of documentation. One company I worked for kept almost no documentation since "this is a fun workplace and writing documentation is boring". I had to track down multiple people just to figure out how to set up a working build environment. Another problem is knowing who to ask. Spending some time to create a knowledge matrix and assigning a go-to person for each area helps limit the amount of people that get disturbed and also spread the load.
Code reviews are another thing that can cause a lot of interruptions. I don't have much experience with code ownership and automatically assigning reviewers so I can't say how well that works in practice.
That keeps the interruptions away when the realize they can't beat the decibels of Alice in Chains, but to give them a break, I get up and flash them a nod and show them my empty coffee mug, so we can have that interruption after all, in the breakroom, minus the guilt.
Since interrupt is/was the fastest cast type, I try to leave 2 untapped islands at all times, so I can cast a counter-spell in response to their interrupt, thus negating it and allowing me to get back to coding before I was ever interrupted.
For intense work: Office door is closed. IM turned off/existed. Calendar blocked off. Email turned off. Headphones on music I know helps. Phone on Do Not Disturb. I will use the pomodoro system. I also make every effort to stare intently at the screen and don't notice anyone who may be loitering in the hall, or recognize their presence.
For day to day: No flashing email alerts. I do a daily todo list. I block off time in the calendar for working on projects so people don't "drop by" or think I'm free.
I'm going to code my self an mini van today!
In a prior life, one especially awful office layout had the engineers plugging some sort of led onna stalk into the USB, which monitored the calendar and Skype for busy / not .
It was silly, as it was immediately gamed by engineers blocking most of their day. I offer this as a solution not to try.
---
Why not use slack / whatever, and turn off notifications? Slack the questionee 'gotta few minutes?' if the recipient has notifications turned off, then it's not an interruption, and the recipient can check at a time when it's OK to be interrupted...
I am perfectly capable of setting a traffic light for possible interruptions my self. The sensors and automatic setting of the lights seems like one of two things; either its engineers trying to justify their jobs by making a product more complicated than it needs to be or an excuse to more closely monitor the people writing code.
My thought is the latter one, given that ABB is all about the data acquisition i can see how a team leader or manager will have access to a dashboard that will tell them the status of all the lights of their underlings. Thats how its done in the manufacturing world with the the big difference of monitoring the machines not the people.
This is nothing new, just a re-marketing of existing technology in order to make the slaves work harder.
I'm your standard high functioning Autistic Spectrum Condition number cruncher. I respond to interruptions... Poorly. I get distracted and remain so for about 15 minutes. For this reason, I get 80% of my work done in the two hrs every morning I'm in before everyone else, and slog through the remaining 20% for the next 8 hrs. Or get it all done in 3 hrs at home, then play Stellaris.
Slightly unfriendly, but effective.
We have an Agile Work Environment. Being a team player means dropping what you're doing to help out a team member who is having an emergency. We must all respond quickly and perfectly to emergencies, especially those that are due to our fellow team members falling behind in or otherwise doing poor quality work.
They're not interruptions.
turn off chat apps...
soon programmers will be graded by the status of their flow light
On an individual basis, they only interrupt me once.
Said it all about interruptions for programmers and other makers. http://www.paulgraham.com/make...
And by this I mean meetings that some senior paper-pusher has scheduled for everybody in the company, the sole purpose being to blow corporate smoke up people's asses, and the subject has absolutely nothing to do with anything even remotely connected to what it is that we actually do.
Naturally I tend to blow these off, but then they got the idea of adding attendance of these time sinks to our annual performance reviews.
A former boss (IT Admin) had a brilliant system. People went straight to him instead of to the junior staff for every stupid issue (Toner low, Printer jam, etc.)
His office door was conspicuously marked with his name, Dilbert/IT comics, his phone number, etc. It looked "lived in".
His actual office was one floor down, in a different part of the building. No name on the door, and the window papered over. He was extremely careful to not let anybody see him use this "hidden office" door. The junior IT staff knew about it, knew to send an email if they actually needed him (99% of the time they could handle any issue) and left him alone.
He spent 90% of his time in the hidden office doing actual work (servers, network, etc.) . He spent enough time in the fake office reading the paper, surfing the net, drinking coffee in order to maintain the illusion that it was his actual office.
He had a steady parade of people pounding on his marked office door, who would then give up and ask the junior IT staff for help (like they should have initially).
I used to wear headphones at work sometimes. Music helped me concentrate. But people could come up behind me and scare the crap out of me. Once I jumped up and uncontrollably screamed at the top of my lungs. I don't wear headphones any more.
When techno was blaring from my office, my co-workers, peers and underlings (in latter stages), knew that I was highly focused doing something very deep (either technical, managerial, or a combination). I just turned silent my cell-phone, minimized outlook, and closed the door (I had an open door policy), and presto! no interruptions.
This, of course, was not overnight, and was aided by the fact that, while I had a cube at the begining of my career, we never worked on Open plan offices, therefore, some techno (not blaring) from the speakers, or the bleed of blaring techno from the headphones has enough of a signal.
The rest was educating people, saying: "When you hear me hearing techno, I am doing something important, do not interrupt unless is safety (fire/earthquake/flood/riots) related"
*** Suerte a todos y Feliz dia!
This would be useless to me. My company has cleverly created my "office" with no walls, so interrupts are frequent and unavoidable.
But hey, it's not a problem, I'm told. Millenials love this setup.
I work in an open plan office, so I would say that my default state is 'interrupted'. I have to work at feeling uninterrupted so I can get work done. For instance, right now, even with headphones on, I can hear and feel the movement of people around me. There are conversations and distractions happening out of the corner of my eye. God forbid I'd like to work without wearing something on my head or plugging my ears.
The open plan is an abomination and ruins productivity and eats money, but big companies don't want to lose the control of looking over your shoulder all the time, so they're willing to eat the cost, I guess.
Getting interrupted is part of virtually any job. Answer their question and get back to work. The more it happens, the better you get at being able to quickly switch contexts and that's an important skill to acquire regardless of your profession. I personally hate it when I hear coworkers cry about being interrupted too much. Helping other people is part of your job description. Nobody gets to work inside a bubble all day long without getting interrupted and the last guy I worked with who tried (by always working at home) caused so many problems where I work (because he was never around to answer any questions about his idiotic architectural and programming decisions). However, depending on the work environment, wearing headphones will sometimes ward off would-be interrupters. It, and listening to music, can also help get you quickly back on track afterwords.
I have a keybind that I press before the intruder has settled onto my visitor chair, next to the work desk, so he has full view of my screen while I am facing him. After some time, say 2 or 3 minutes, the screen blanks out but shows an ABEND (short for abnormal end) message requiring a C or D or Y or N (C for cancel, D for program dump, Yes to continue or N to cancel execution). The user/visitor is familiar with this screen, and after looking at it, I excuse myself to "troubleshoot" the issue. But if the visitor is not from the company i.e. an actual guest the screen almost blanks out completely with the error way up on the top of the screen (greenscreen - matrix style), with the input field a long underline stretching L to R. The blanking is distracting enough for the guest to point it out to me, in which case I can reschedule his visit or wrap it up in 5 minutes.
I take smoking breaks every hour. I find it even increases my productivity because it clears the mind and i can focus again on the work to be done.
Someone important, I curl up in a ball and cry.
Anyone else, I tell them to fuck off.
I tend to rant.
It's fairly simple. If you are being interrupted, ask people to stop, or to do so only at particular times. If they won't, then bring it up with management. If management won't support you, you need to find another job, because that's the only way you can get a positive working environment. One programmer will find it exceedingly difficult to change the culture of a company that doesn't value focused work.
I always mod up spelling trolls.
It's quite simple really, I start to yell at the source of the interruption until it goes away.
New cow-workers beware of the bofh sysadmin.
I've been doing this for a long time, and it seems that long gone are the days when programmers merit an office, even a two-for, and now even our sound-dampening, can't-see-the-flow-of-traffic days are gone for some open plan layout where we're all sitting at bench tables and staring into the face of the person across from us, unable to work at anything less than 10% of our best.
Since I can't control the environment much, I control me as much as I can. If working from home is a possibility, I do that as often as is reasonable. If not, I try to make sure my hours overlap with as few individuals as possible. Before being sanctioned on it, I'd reserve one of the non-glass-wall meeting rooms for the whole day so I could work without distraction. I've opted to move my desk to somewhere less noisy on more than one occasion. Sometimes I'd just leave early and finish up late at night, or plan to come in a little earlier than normal.
The most important thing, however, was to explain to my manager at every opportunity that I was not in an environment where I was being given a chance to excel, and that it was hurting my output by some measurable number of hours a day. This showed up in work estimates, in singling out desk drive-bys to add more priority 1 items, and so on. Once I was in a leadership position, I included the troubles my team would have with excessive meetings and even general office noise.
Your managers need to know that you could be doing better work for the company, and they're only going to find out if you tell them - and perhaps offer constructive alternatives to achieving that goal.
None of it is a panacea, but at some level, the best you can do is cope and let those above you know that you could do much better if you were given a chance. Then try to remember that this is how the company you're employed at is choosing to use your time. If they don't see it as wasteful, and they're happy with what you do, you may just have to live with it.
The further you go in your career - development lead, architect, etc. the interruptions only increase. The time you have for productive coding will drop to near zero unless you explicitly make the time. But yet if you stop coding, you will not be as familiar as you need to be with your domain. Here are some strategies that may help:
* Schedule 1:1 meetings with yourself in a different area than you normally work. Be disciplined and use the time only for coding.
* Come in earlier than anyone else. I find it impossible to stay later, but coming in earlier is quite easy.
* Code in the evenings at home. Leave yourself some time to relax too though or you'll burn out.
* Don't go to every meeting you're invited to. Be judicious.
* Be visible and available and ready to answer questions when you're at your desk. That way people will tend to ask questions when you're prepared to answer them.
I handle interruptions by petting whichever cats show up or giving the lady of the house the hugs she deserves when she ghosts by (one reason why she deserves them is that she carefully doesn't try to engage my attention verbally when I'm working.) Neither of which minor activities derail my train of thought. They just make my environment that much more conducive to doing what I am trying to do. Because, you know, happy.
Other than that, when I work, the social media is shut down, the phone is in "airplane mode", and the doorbell doesn't get answered. I am, as you might suspect, very productive under these conditions. I keep coding hours 100% separated from other types of work hours, such as jawing with those who have contracted my services, etc.
There is nothing better than working in your own lab, in your own home, with full control over the chaos that wants to intrude, choosing your own working hours, managing noise levels, doing breaks and feedings as desired instead of as permitted, etc. Nothing. Nothing comes even close.
I've fallen off your lawn, and I can't get up.
... which was a secure area because, in addition to the servers and backup tapes, it was the phone demarcation point.
When we lost power, all my shit worked because the network and phone pbx were on battery.
I disabled my landline and told them to page me.
It was too much work for them.
Note that I took a break every two hours or so and interrupted each worker, asking if they needed me.
Win-win.
It little behooves the best of us to comment on the rest of us.
As a remote worker:
If I'm working on a critical timeline, I lock my office door, put on headphones (no audio) and take regular breaks (15 min for every 45). If I'm not on a deadline, I handle the distraction - even if that means stepping away from work and spending an hour or two away. I compromise by giving that hour back to my employer in the short term (either that night, the next few mornings or on the weekend). I find overall I'm less stressed, my family is happier and I still hit my deadlines.
Every time you hear a conversation in a cow-orker's office, or the phone rings, or someone steps up to your cube to talk about who the fuck knows what and then yells at you two hours later because you didn't do anything today (despite the fact you just spent the last three hours listening to them talk about car crap while you were trying to work), share your displeasure with a blast of an air horn.
(and that's how I started working from home)
I'm at work posting on Slashdot. What do you think?
Man, I haven't done much recently because it's a never ending shit stream of people coming into my office, wanting to talk about this or that (usually work related) and then ask about the status of the projects I'm supposed to be working on and I'm like "well, if I could a couple hours with no one swinging by the office and saying "Hey, I hate to bother you.. but..." maybe I could get into a groove and do something other than just say fuck it and write documentation since that's the only thing I can do with plenty of distractions. Fuck.
Indeed, some snowflakes are so special they can't email or IM me and wait until I'm not busy to find out whether I want to go to lunch with them in 2 hours. They're so special, in fact, that they have to come tap me on the shoulder to ask, because they have to know right now.
APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
At a small company I used to work for, when the boss's wife came in we would say "here comes the NMI".
There is ongoing Medical Study that seems to indicate that interruptions can spark and/or sharpen creativity.
Signature applied for, Patent Pending
A lot of people are easily distracted because they're no good at coding. Then they go writing UIs that confuse and easily distract the user. Look what a drummer has to accomplish then go piss off with your tears about distractions.
try { DoWork(); } catch(InterruptedException) { DoWhine(); }
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
Seriously? I mean, if someone interrupts me and I spend 10-15 minutes talking to them, sure. But if it's just a quick interruption, I'm back to what I was doing before within 30 seconds after they leave. What kind of absurd statistic is that supposed to be?
"I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
I scold and yell at the people who interrupt my casually, which is most people. Most of them begin to feel less compelled to interrupt with random stuff they just thought about. And yet there are a few which don't seem to be affected and continue to annoy regularly. So, yes, yelling works, bit is not effective on everyone. I'm open to suggestions.
Coding is not just the keying of instruction sets. Its design, its figuring out the best tools to accomplish the problem. A lot of that happens in the head space and not on the keyboard. However, coders are not the only knowledge workers who suffer from interruptions, testers, technical writers, even managers can lose their place after a 15 minute interruption, and the flow.
It is a lot like a NASCAR or IndyCar race on a super speedway. You see those cars going so fast when they aren't pitting or in yellow flag condition, but one mistake causing them to lift, and you see a freight train of cars start to go by. Why? Because all the built up momentum was lost and it takes time to get back to the peak operating condition. The same is true of our IT work.
They can be conditioned. If you don't want to be interrupted, don't help them. Just let 'em know you need them to send you an e-mail. You'll get to it. Otherwise, they'll show up at your cube over and over because it works. It often gets worse. Like giving a cat food or milk. They will be back! Soon you'll want to just tell them to go eat pond scum.
The other one is the meeting. Try to minimize them especially if it can be done in an e-mail.