When Developers Work Late, Should the Manager Stay?
jammag writes "A veteran developer looks back — in irritation — at those times he had to work late and his unskilled manager stayed too, just to look over his shoulder and add worry and fret to the process. Now, that same developer is a manager himself — and recently stayed late to ride herd over late-working developers. 'And guess what? Yep, I hadn't coded in years and never in the language he had to work with.' Yet now he understood: his own butt was on the line, so he was staying put. Still, does it really help developers to have management hovering on a late evening, even if the boss handles pizza delivery?"
... STFU, keeps the hell out of the way, and does nothing other than bring pizza (and a few beers later on towards the end of the shift), that's ok.
Anything else is NOT HELPING!
If I'm in the shit, I want you in the shit with me. Though, being a manager and staying late with your developers, your first priority shouldn't be riding them but play a support role. What do they need to get the job done? What can you do to remove obstacles from their way? Food? Drinks? Problems come up. What can you as a manager do to resolve that problem?
If the developers are staying late because the manager messed up, it doesn't hurt to stay late (but stay out of the way and order them food)
If the developers are staying late because they come in late or they messed up, no, the manager doesn't need to stay.
Dont be a micromanager. Just be there for the employees and let them know that its okay to ask for help.
Yes -- and pizza is all the better. It's great to know that the challenge is being shared, IF it's a healthy, collaborative effort.
OTOH, if it's an over-the-shoulder kind of assistance, that's rather frustrating. Not so generative, and it's simple enough to know the difference...
I don't develop. I sysadmin. Recently I was asked to build out 15 new servers. At 5:30pm. It was an emergency and had to be done ASAP, oddly enough because the coders wrote a crappy code release that required a threefold increase in horsepower just to handle the normal load and the companies QA process never picked up on this highly important fact and the code was pushed to production where it ground things to a standstill. I know the company isn't going to do squat for me. I don't get overtime. I won't get a bonus. I won't get comp time.
For my managers manager to stay the night was a show of solidarity. He doesn't know how to build the systems, but at least he was there. Now the important thing is that he wasn't watching over my shoulder every step of the way. He'd ask for updates every couple of hours and he went out and brought me dinner so I could stay working, but otherwise stayed out of the way and let me do the work.
Psychologically it helped to know that he also missed playing with his kids and putting them to bed that night. Sometimes inspiring your employees is as simple as demonstrating that you share their pain, even if you can't share the workload.
Now if this behavior becomes the norm, it doesn't matter what management does. People will soon be burnt out and will leave.
"The avalanch has already started, it is too late for the pebbles to vote." -Kosh
My boss has the perfect answer for this:
Get everyone set up with dinner/beverages. Then, go home, sign in from there, walk away from the computer and keep the pager close.
We page him if we need anything, or when we get finished.
Out of our hair, but still handy if needed. Perfect.
That seems to be the gist of this article.
Slashdot "libertarians": Small government for me, big government for those I disagree with. -1, I disagree with you
My favorite was when my manager would ask "on a scale of 0-100%, where are we on (x)?" One of my coworkers working on the installation scripting got fed up with it and answered:
"It's at 0% because it doesn't fucking work. It will remain at 0% until I work all the bugs out of it. When I get that last bug fixed, it'll magically jump to 100%. Let me be so I can finish it!"
If a job's not worth doing, it's not worth doing right.
A lot of posts here simplify the situation. People are staying late because of the Manager, or people staying late because of crappy code.
In my experience, people always seem to stay late when there's a deadline. It's just the way it works. Because no matter how reasonable the deadline or how awesome the code, there's always more that can be squeezed in or improved at the 11th hour.
In practice, deadlines are always unreasonable and code is often crappy (or can be improved). If we waited until things were perfect, nothing would ever go out.
So as far as the Management issue goes, do whatever it takes to make your team happy and productive. Stay late for whatever reason so long as that reason is helpful to your team. Be ready to advocate that developers be compensated for putting in extra effort.
All in all, reading through these responses, it's clear who the biggest beneficiary is. Pizza companies.
Apart from agreeing with other replies about supporting the team and staying our of their way, the manager should also be pondering how they got to this mess in the first place. Having to work late is a screw-up, somewhere. Sometimes its because of things outside of the team's control but most of the time it isn't. If it happens regularly then there is definitely a systemic problem with the process that needs to be sorted out.
In this country, our work-week is 40 hours. Our ancestors fought hard and made great sacrifices to win this right and pass it down to us, and I'll be damned if I'll see it steadily erode. Routine unpaid overtime is harmful not only to ourselves individually, but to the entire social contract we've managed to hammer out between capital and labor.
Respect yourself. Do not work more than 40 hours without getting the same time and a half premium someone in any other field would earn. If a project is late, that's not your fault. It's management's, and management ought to pay for the mistake.
In my opinion, the manager must tell the developers to return to their home, and take a good night sleep.
A few years ago (when I worked as a game programmer), it was common to do some all-nighters, since everybody was doing it.
There were some problems, though:
- the code tends to be crappier, since we are tired
- jetlag: if you are alone, this is not a problem, but it's difficult to live as a couple
- burnout: you'll pay your night of work
- you can be very productive the first night, but not for an extended period
Also, when the project finishes, all the tensions disappears, and everybody is completely demotivated, resulting in their resignation in 30% of the cases.
It's not reasonable to work like a crazy when you approach the deadline.
Now, I much prefer the agile approach:
instead of trying to put all you want in the product, just try to put what can fit within the given amount of time.
There are some interesting techniques that you may apply:
- YAGNI: http://en.wikipedia.org/wiki/You_ain't_gonna_need_it instead of implementing a ton of things, implement the simplest set of what is needed
- BDD: http://en.wikipedia.org/wiki/Behavior_Driven_Development instead of coding without a goal (except to finish the product), ask your manager to write executable specifications. This includes also to concentrate on finishing the features one after another (and not keeping them half-finished, due to lack of time).
And the most important thing:
if you cannot add a feature in your program, because you lack of time, DON'T ADD IT !
The videogame industry is pretty notorious for this, and with fairly good reason. Unfortunately, with unemployment rising and the economy faltering, companies feel a bit more free to demand mandatory overtime from game devs. There is also much less resistance to overtime from young, single programmers with no real family commitments. Most people in the game industry love what they do, so for some, it's not a horrible hardship to work longer hours.
Honestly, I'd start planning an exit strategy. It's always a bit scary to switch jobs, but an employer's attitude toward mandatory overtime is a pretty huge issue for me. On the plus side, you're reaching a threshold of experience which will make it much easier to switch jobs if needed. Believe it or not, there are a few companies out there who don't believe your weekends and evenings automatically belong to the company. It takes a while to ferret them out, though.
Irony: Agile development has too much intertia to be abandoned now.