How hard is it for you guys to jump from one kind of programming job to another within a given day?
Or, more interestingly, to jump from programming work to technical support, back to programming again within the day?
I do not tend to think of this as easy. It takes me a while to get back into my programming groove again whenever I have these interruptions. Yet everyone for whom I have worked tries to make me do several things within a given day, decreasing my efficiency ridiculously (to the point now where I can't even estimate how long it would take me to do anything, since I can't rely on uninterrupted time).
I don't believe I'm unique in requiring uninterrupted time, but I just wanted to confirm this with other programmers.
account when estimating. If you can deal
with theadministravia, you should also record
how you spend your time throughout the day.
tThose two numbers will allow for better
Theoretically, agile processes try to
decouple "points" from real time because it
accounts for interruptions better. Theory and
reality are only theoretically related
though. I find the extra layer of
abstraction annoying, and even misleading. I
find working with wall-clock time estimates
both more natural and more precise.
Right, but that didn't answer my question, really, and would be more appropriate in the Workplace room.
My question had to do with the degree to which interruptions disrupt programming work.
I guess I should point out why I'm asking.
It's mostly curiosity. Some places have as a requirement 'must multi-task well', which makes me wonder if businesses casually expect someone to be able to do things like work through complicated mathematical formulaes without error while simultaneously reciting the Gettysburg Address, or something equally amazing (by way of a mental feat).
If my own mental acuity is actually relatively weak compared to my peers, I should know this, and regard it as a limitation on my abilities... maybe even to the degree that I should consider work in another field.
May 8 2012 1:20pm from fleeb @uncnsrdYes, absolutely they do. :) It's just the nature of business. I haven't yet met a manager who _didn't_ understand that engineers offer best performance when serializing their tasks. However,
It's mostly curiosity. Some places have as a requirement 'must
multi-task well', which makes me wonder if businesses casually expect
someone to be able to do things like work through complicated
mathematical formulaes without error while simultaneously reciting the
Gettysburg Address, or something equally amazing (by way of a mental
company demands from higher up requires the need for multitasking. I've been trying to find a suitable way to find a happy medium myself.
Perhaps not relevant, but as a test engineer, I just realized that, over the last three scrum iterations, I've not written a single line of code. That changed during
last Thursday (where I
wrote a bunch of Z-notation for a MUST-HAVE-IT-DONE-YESTERDAY-OR-WE'RE-OUT-OF-BUSINESS priority crack-commando-coding project) and Friday (where I actually wrote the corresponding executable
code for it), but looking at my projects going forward, I don't see myself coding for many weeks to come. I find that my time is divided at least five different ways right now -- build
engineering tasks, test infrastructure management (devops stuff), perf-testing (overseeing 3rd parties who, in turn, write the code to perf-test), process engineering, and to a more limited
extent, writing blog articles to make our organization look appealing to new hires.
If my own mental acuity is actually relatively weak compared to myI think what you're experiencing is normal. What companies demand of their people is also normal. The problem, as I see it, no-one has yet found a transformer to match the two impedances
peers, I should know this, and regard it as a limitation on my
abilities... maybe even to the degree that I should consider work in
between engineers and management requirements. :( The first person who does can found a consulting company and get rich overnight from his/her services.
I suspected I wasn't particularly unusual, having remembered this kind of topic coming up on Slashdot many years ago, but I somewhat wondered if maybe something changed along the way.
Yeah, I understand about business demands, but it feels to me like it's cheating.
By getting the engineer to multitask ridiculously, you save money at the expense of the quality of the work.
At my current job, I'm multitasked to such an extent that I lack job satisfaction, and have threatened to leave if it continues. We need tech support and quality assurance engineers to keep me from going insane, and while we have people for that, I'm concerned that the status quo will continue. But, again, that isn't the topic I intended for this room, and it's something I'm working on separately.
I really just wanted to make sure I wasn't really that unusual in requiring focus to do my job properly.
Yeah, I also find I make quite a lot more mistakes with the interruptions than without.
If I'm really at a crucial juncture in programming, I'll communicate that clearly to whoever is interrupting me. If the code is at a point where I can come to a stopping point quickly, I'll just ask if they can wait a minute.
If not, I'll ask them if I can get back to them later. Generally, even with a customer issue, there's nothing so urgent that can't wait for 10-20 minutes.
When you say tech support, though, are you on the phone directly with customers?
If so, then, obviously, the urgency may be immediate and you don't have the option of deferral. In that case, the only other suggestion I could make, as clichCCe as it sounds, is to make copious comments in your code. That way, the comments may help you recover your train of thought more quickly.
Yeah, sadly, even with a lot of comments, it doesn't help me.
I am having to deal with technical support quite often, for stupid stuff that the customer ought to be able to figure out on their own. This is changing, though, since we now have a technical support person, but at the moment, I still get far too many interruptions (while the tech support team ramps up).
I also get a lot of "Oh, this is now the priority" crap. It's understood when that happens that it will delay whatever I was currently working on, but it happens *a* *lot*.
I think, ultimately, we just lack the resources we need for the work available.
If it keeps up, though, I might try to find work elsewhere. The distractions are too much, and the pay is too low. I'm not happy, and I haven't been happy for a while now. The potential to enjoy this work is there, but the interruptions prevent me from doing anything well, which destroys any enjoyment I might otherwise gin.
(gain, not gin)
Still, I hope this is temporary. I'm trying to give them a chance to fix it, 'cause as it stands right now, it feels hopeless.
Have you ever heard of kanban? It's a work-organization concept that was used heavily at Toyota, but is being co-opted as part of the Agile development system for programming.
Probably the biggest advantage that I could see for your situation is that kanban would make your work and the impact of interruptions clearly visible to everyone. Your supervisors may "realize" that changing priorities means something gets delayed, but actually "seeing" the delay may help them better understand the full impact.
I'm not sure I see how it would change anything, given the motivations involved in pushing for the interruptions.
fleeb, I recently read an interesting article about the success of "feminist vocabulary". Which stands in total contrast to the actual success of feminism. The author was arguing that although the number of females in traditional male jobs didnt increase (and vice versa), todays management vocabulary is totally feministic. You need to be "a cooperative teamplayer with high communication skills and a talent for multitasking, capable of proper networking..." Just read up any Industrial- and Oraganisational Psychology guide for management, etc.
These are skills traditionally attributed to women, whereas men would be more of a "predatory loner, leaving everyone else uncertain about his single goal which he tries to achieve at all costs, ignoring every corpse he leaves on the trail" or something like that. The author argued, that this change in vocabulary was done as diversionary tactic to pretend to be more feministic while keeping up the status quo. In my opinion, the easier explanation is that mostly women study I/O psychology and they write the guides other people are using. Conclusion: Stop listening to job desciptions that are only good as bullshit bingo material ;)
Also, I hope you get rid of the stress they are putting on you
yes, interruption is bad.
but as long as its not to much and just small ones i can quickly reattempt my primary task.
i.e. the new citadel smtp client was hole another case, since its in sparetime which isn't available uncluttered in that huge amount...
drawing an UML diagram helped me a little to get forward, but wrapping a complex linear flow into event driven stuff is pretty complicated.
valgrind, code review, etc. can help to get that a little smoother post mortem, but thats here for shure for all work ;-)
the other way is to employ the 'getting things done' principle, which helps some people to schedule more efficiently (and then maybe have more time to work heads down...)
Today marks the first day of the week I had a sustained coding period without interruptions. It was sheer bliss.
I knew about the interruption at 2pm, so I could prepare for it.
Unfortunately, one of the people on my team didn't realize the nature of what we intended to do at 2pm, and bungled it. So we have to do it again at 4pm.
Still, I got a fair amount of significant work done. I feel much better.
But... only one day this week. Tomorrow, I don't get to code anything at all, since I have to help move a bunch of crap out of a warehouse.
the other way around this is to do a coding camp.
work offsite in whatever location to get your job done; be it your home, or a coworking office, or a hotel room.
So in training classtoday we had to make our owncommercials. Everyone got paired up butme because of the oddnumber of students. Soi did my commercial the infomercial way. Sham wow style. Here goes. Now rem I stood up infront of the class sayin this.
You like new phones? Of course you do, what I got for you is the htc1x
You know you're gonna love it.
It has the newest is icecream sandwich, just wait for this to drip down the side of your face.
Do you like beats in your ice cream,well you'll love the fact you can use all beats products on the htc1x. Want to catch your friend cheating on another friend, well we have videocapture, now you can pluck pics right from the video, and you know we all love to pluck. Don,t love to pluck, take 90 pics a second.
How much do you think you'll pay,549.99? Well you be right, but today's offer we are charing only 199.99, w 2 yr contract. Now we cant do this all day,because we close at 8.
Anyway it took me about 5 Mins to write this. Made the class laugh. Teach look like she liked it. 8)
That was o s not is my phone auto corrects spelling and doesn't like o s together.