> As a manager: If your code blows up in production on a Saturday afternoon, and you don't answer email/skype/phone, you've effectively left me in the shit.
As an IT employee if you are running mission critical software and (as Manager) don't have an after hours call-out rotation and procedures, then you're not doing a very good job, and I'll be looking for another place of employment.
Its not mission critical or life-threatening. I know this, my team knows this, but someone up in the food chain is going to want blood for any serious outage.
I'm perfectly happy to shed blood for my team and take the crap, but I need something. Even if its a text back: "Dangling on mountain. Will check email on Monday" - then I can tell my higher-ups it won't be fixed till Monday, then they can tell who they need to tell.
Its the attitude that says "I'll only work 40 hours then turn my phone off" that I object to, there are real people up and down the line who are affected by business interruptions. If you're not flexible, sorry, but you're not that useful.
You probably wouldn't enjoy working on my team, and you'd probably pick that up from the interview
I think @grecy was pretty clear, but FWIW, here's my interpretation: the system is either important enough to disturb employees after hours or it isn't. If it is, you need to define and implement a support protocol: on-call rotations, procedures, etc.
If it isn't important enough to organize support for it, then it isn't important enough and you should not expect anyone to justify being off work and off duty.
I will talk to my team on Monday and ask their opinion.
For the record, I don't agree that life is as black and white as the first sentence. There are plenty of symptoms which "could" be serious issues, but after a phone call I know can be safely ignored.
I honestly would like to hear the thoughts of your team if you are happy to reply here please.
In all honesty - you're right, I'm not very flexible. Either you're paying me to be on call and I'll answer my phone at 3am on a Sunday, or you're not.
Let's flip it around so you see my point of view. Either I stick to the employment contract and ask you to pay me my salary this week, or for reasons completely outside your control, I expect you to pay me $salary+$X, because I said so. If you say no, I view you as inflexible.
I do see your point, yes. The contract is formal for a reason. I'm being far too fuzzy, my team probably don't know what they're supposed to do in the case of an emergency, so log in out of a mixture of curiosity and apprehensiveness.
Hmmm. Well, I always hated pager duty, especially as a frontend engineer. What the hell did I know about these silly Hadoop clusters that were thrown together so badly? Why wake me up just so I can wake up the lazy SOB who can't build software properly?
I'd prefer not to impose that on my team. Is there a middle ground?
The middle ground is correctly configured alarms that follow team-specific escalation policies and wake up the right people.
FWIW, alarming systems aren't that flexible. The market sorely needs better solutions around monitoring and alarming. We use PagerDuty for this and it can be made to work with about 80% of our alarms, but it's a PITA. Also, on the topic of waking people up, the PagerDuty app conveniently includes several blaring, obnoxious alarms, but it frequently fails to receive push notifications, so it's not that rare for someone (or several someones) to sleep through the PDs. :|
I do understand what you're saying and I think most people actually are reasonably flexible as long as the occasion doesn't become common. But I wouldn't hold it against someone who's dangling from a mountain if they can't text back immediately (unless they're the on-call engineer that day).
> my team probably don't know what they're supposed to do in the case of an emergency, so log in out of a mixture of curiosity and apprehensiveness
Imagine you're at home with your wife celebrating your anniversary after a bottle of wine, or out celebrating your child's 6th birthday and you get a text from work that makes you apprehensive enough to stop what you're doing and log into work systems.
Please talk to your team so none of them has to ever go through this. In my experience as an employee, it's a really shitty feeling.
> I'd prefer not to impose that on my team. Is there a middle ground?
Inclusion in the on-call rotation can be optional. If a person on the team wants and extra $x per month to be on call for y days per month, they're on the rotation. If another person doesn't want that, they're not.
That was done at one of my previous employers, I think it worked great. Generally speaking the younger people without families opted in, and the older people with families opted out. I loved hiking/camping/getting out of town at every chance, so I always opted out :)
(Please don't think all of the above means I dislike your management or something. Reading your other comments, it sounds like you'd be awesome to work for)
I agree that it's not always possible to know how serious an issue is from a first glance at its symptoms, but my first sentence wasn't about issues, it was about systems.
Feel free to substitute the word "system" with "project" or "service" or whatever best fits your own terminology, but the gist is: a particular chunk of deployed software either deserves after-hour support or it doesn't. You either care whether it's misbehaving during "off" hours or you don't. If you do, you should care enough to organize proper support. That's all I was trying to say.
Of course, "you should" might be too strong a phrasing; what I mean is that I think that it would be better for everyone and that I would rather work at a place where things are that way than at a place where they are the way you described them.
I think this attitude is the problem. If you pay me for 40 hours of work, I owe you 40 hours of work. That is all.
If you want me to be on call, pay me to be on call.
If my code blows up, I don't owe you 45 hours of work for 40 hours of pay. If my code blows up, it's because you haven't managed testing and quality assurance properly. I shouldn't be able to get shitty code into production — that's why you're the manager and I'm the peon.
It may sound harsh, but demanding free work is exploitation. And trying to guilt people into working for free is immoral.
I think at the very least we can agree that it is the employee's job to inform their superiors of feature creep, looming technical debt, and whatever bad practices they see.
If you're fixing bugs in production because your manager hasn't addressed longstanding technical debt, then yes, you shouldn't feel bad about the bugs that slipped through against your advice. In that case, I think your indignation at working extra hours without getting paid would be justified.
Ideally, we would do proper estimates upfront without being pushed to grossly underestimate features because so-and-so thinks it should only take a few minutes.
Pushy managers and bad employees are made for each other. It's a feedback loop.
"I think at the very least we can agree that it is the employee's job to inform their superiors of feature creep, looming technical debt, and whatever bad practices they see.
"
Yes, please yes. This is really where 1-1s come into their own. I can ask directly - is there any part of the code you're working on that truly sucks, and is going to break? I don't care who wrote it or when (it was probably me), I just need to know, so I can put it in the backlog
Of course there is more to life. That's my entire point. I want to be an actively engaged member of the team, rather than a peon. I want to value the work I do and the people I work with. But there's the rub. Being an active, committed, engaged member of the team shouldn't equate to giving away the one thing of value I have — my time — for nothing.
When you ask me to work for free you are making me a peon — someone of low worth whose time and effort aren't worth paying for. Someone who you don't respect enough to give them fair recompense for their work.
It would be absurd for me to demand that my employer gives me five hours of extra pay for doing nothing because otherwise I can't afford something that's of meaningful value to me. It's equally absurd for an employer to demand that I give them something they value – my work — in return for nothing.
A company is not a charity — it's a cooperative venture that exists to generate value for its owners. Every bit of work you do for the company is to generate value for someone else. I'm not going to work so that someone else benefits and I get nothing. I think any other view is either a manipulative management technique or a delusion.
I am all for flexibility -- but I think the quid-quo-pro here is that the phone is only for legitimate problems.
Not for example: "Oh the customer has decided that the feature we thought we implemented wasn't what he wanted. Can we have this weeks' requirement met by Monday?"
Honestly, I'm talking about problems that I'm sure are actually affecting the core business. Anything trivial I'll deflect long before I talk to an engineer
This is all something of a moot point. Looking back through my diary, I've only ever had to call our IT support out of hours, never one of my own engineers. Someone on my team has always independently began to act on whatever alert has been raised.
As an IT employee if you are running mission critical software and (as Manager) don't have an after hours call-out rotation and procedures, then you're not doing a very good job, and I'll be looking for another place of employment.