News for hackers. Stuff that matters.
Re:Giving a Shit as a Service by squarefoot on Sunday October 29, 2023 @11:07AM (#38059256)
> "if you're the only person that 'gives a shit,' YOU'RE GONNA HAVE A BAD TIME."

Not only that (which is 100% true) but also you're raising the bar in required work quality for everyone else to get on par with you, therefore expect to make a few friends and many enemies, especially among colleagues.

Re:Giving a Shit as a Service by ProllyInfamous on Sunday October 29, 2023 @11:31AM (#38059504)
>expect to make a few friends and many enemies

The older I get, the less I'm willing to help disaster scenarios.

"A lack of planning on your behalf, does not constitute an emergency upon mine."

Re:Giving a Shit as a Service by dvt on Sunday October 29, 2023 @11:41AM (#38059602)
> "A lack of planning on your behalf, does not constitute an emergency upon mine."

Agreed. Imo, having "on call" rotations is a clear red flag and bad software practice that has somehow made it in the mainstream.

I understand the idea of "mission critical" when you're running software on the Moon or something, but if your Earthbound software has so many potential bugs that you need to have dedicated people being on call every weekend to fix bugs or restart servers, you just built it poorly.

Re:Giving a Shit as a Service by CityOfThrowaway on Sunday October 29, 2023 @11:54AM (#38059751)
Most of the time, this is a useful frame.

With that said, there are some types of software that exist to deal with complexity external to itself. External systems (integrations, screen scraping systems, etc.) can break without fault internally, but need to be fixed ASAP.

One might say, "You built it poorly by deciding to build this at all." And sometimes that's true. But I've been in plenty of situations where the options were 1) don't solve the customer problem, don't pass go, don't collect $200. Or, 2) build finicky software that works but needs to be babied... and hire engineers that don't mind doing this type of work.

That last bit is critical. Some engineers like the heroics and drama of it. Some people can't help but run headfirst into the fire... and there's jobs for them there :-)

Re:Giving a Shit as a Service by 8n4vidtmkvmk on Sunday October 29, 2023 @12:17PM (#38059985)
I didn't mind staying late some days to see whether or not my migration would blow up production or not. But oncall suuuuuçks. Cleaning up my own mess is one thing, cleaning up some one else's nonsense is another.
Re:Giving a Shit as a Service by goldenkey on Sunday October 29, 2023 @02:57PM (#38061506)
Oncall done right will involve a feedback mechanism to the originators of the root cause.
Re:Giving a Shit as a Service by j45 on Sunday October 29, 2023 @05:33PM (#38063046)
Things happen all the time.

So lending a hand with emergencies that even could have been avoided is ok to help someone new to it.

Caring via software or infrastructure for users is often about effort as you have described.

Re:Giving a Shit as a Service by tragic on Sunday October 29, 2023 @06:12PM (#38063372)
At my last job, there was an incident (thankfully discovered in working hours) caused by a supplier accidentally deleting the country of Austria from some crucial database. You can't anticipate everything like that, but the show must go on ...
Re:Giving a Shit as a Service by rendall on Sunday October 29, 2023 @12:34PM (#38060195)
> Imo, having "on call" rotations is a clear red flag and bad software practice that has somehow made it in the mainstream.

I thought so too until I gigged for a SaaS company that absolutely needed it. No, it was not moon-shot rocket control software, but it was a money printer with literally thousands of clients around the globe paying six figures for the service. The on-call SWE duty was not onerous: about 2 hour shifts every 2 months, and your job was to attempt to handle it and then escalate it to staff if you couldn't. There were so many CI tests on the way to production that nothing ever happened, until it did, and then you needed to make sure that money printer go brrr.

Re:Giving a Shit as a Service by somsak2 on Sunday October 29, 2023 @11:46AM (#38059663)
If you work at a company on a team with a user-facing surface, you need to have an on-call rotation. Consumer expectations of uptime are extremely high and there's no way to build software that ensures 100% reliability without any human intervention.
Re:Giving a Shit as a Service by dvt on Sunday October 29, 2023 @11:53AM (#38059738)
Fundamentally disagree with this. In fact, most of human technology has worked without on-call rotations. From the complicated movements of mechanical watches, to the still-ticking heartbeats of the Voyager probes.

Most software engineers just happen to be bad engineers. On-call rotations are a band-aid for poor planning and development (to be fair, often imposed by tech-delinquent middle managers or executives).

Re:Giving a Shit as a Service by infecto on Sunday October 29, 2023 @12:25PM (#38060081)
Fundamentally disagree with this but I can see how someone who thinks at the level of "Most software engineers just happen to be bad engineers" would see it that way.

I have worked at firms of various sizes and there is always a point where things usually become complex at some point. Software is as much or more so about managing the humans than it is the software. This becomes especially true as the firm grows in size. Like all fields there are certainly some individuals that perform better/worse than others but even for the best engineers out there, mistakes happen, edge cases pop up especially as the potential complexity grows. Of course these mistakes can pop up more frequently depending on the imposed deadlines. Deadlines to me are a healthy balancing act between the different parts of the business. Sometimes they are arbitrary but I think in a healthy relationship it helps to have that pushback/friction to figure out how much effort is required.

That was a long way of saying I think its a pretty naive and dismissive view to just hand wave and say this is both due to bad engineers and tech-delinquent middle managers. You are not asking for it either but I think this also comes down to social ability/skills. If your worldview is that most software engineers I can only imagine this shows up in the workplace.

Re:Giving a Shit as a Service by MichaelZuo on Wednesday November 01, 2023 @10:15AM (#38098466)
So how did IBM manage to produce mainframes, with software/firmware included, that achieves six 9s uptime?
Re:Giving a Shit as a Service by efitz on Sunday October 29, 2023 @12:17PM (#38059992)
Couldn’t disagree more.

Nobody engineers software like spacecraft companies- that doesn’t mean that no one else gives a shit, it just means that cost constraints are real things.

Also, the demands on spacecraft software are trivial (“move the camera once a month”, “do a correction burn after a planetary encounter”, “watch this sensor and do this if it changes”) compared to a modern web application at a Fortune 500 company.

Re:Giving a Shit as a Service by sirclueless on Sunday October 29, 2023 @12:14PM (#38059957)
I don't really understand the analogy. Mechanical watches have created an industry of skilled practitioners trained to fix them because they often need diagnosis and repair. NASA has a room full of oncall personnel available for many hours any time they launch anything, and they launch things much less frequently than your average tech company.

Oncall rotations are part of defense-in-depth against bugs and unforeseen circumstances: Most of the companies that survive without a formal one only do so by outsourcing this for the most common cases; to Cloudflare, to Amazon, etc. -- if there's an opportunity cost to being down someone needs to be able to pick up the phone when there's an outage or critical issue.

Re:Giving a Shit as a Service by dasil003 on Sunday October 29, 2023 @12:06PM (#38059859)
Obviously the truth is somewhere in between, there is no engineer so talented that they can produce a 100% reliable and available system, and the percentage goes down the more complex the system gets. The decision of whether to have a on-call rotation should be based on the consequences of downtime, not on some kind of moral stance on human fallibility.
Re:Giving a Shit as a Service by Gud on Sunday October 29, 2023 @12:13PM (#38059938)
Let’s get rid of on call firemen while we’re at it they shouldn’t really be required.

Let’s all plan our emergencies to 8am to 5pm, Monday to Friday. And don’t forget the scheduled lunch break at 1pm!

Re:Giving a Shit as a Service by _kblcuk_ on Sunday October 29, 2023 @12:41PM (#38060270)
Being on call is firemen job, and they do have shifts. In most of the companies you have something akin to construction workers that work from 9 to 5 and then also are expected to be available to do casual firefighting from 5 to 9 because it's "easier".
Re:Giving a Shit as a Service by dasil003 on Sunday October 29, 2023 @03:14PM (#38061647)
At a certain scale mature software companies do in fact have dedicated incident managers, and dedicated SREs who work primarily on stability from a more systematic perspective. However they still need support from the application developers due to the nature of software.

In the old days operations tended to be very isolated in much the way you are proposing. The problem with this is that stability depends very much on the software, so over time operations folks would be extremely defensive and impose all kinds of constraints on what software could do, and the software engineers would be frustrated that they couldn't do things efficiently. Imagine how firefighters would feel if construction workers had a tendency to randomly leave explosives and gas cans hidden throughout new construction and then waltzed off to the next job while the firefighters had to deal with the consequences.

At the end of the day, devs need to have some skin in the game or it's a recipe for disaster.

Re:Giving a Shit as a Service by fdupress on Monday October 30, 2023 @04:31AM (#38066914)
The juxtaposition of "this is how it's done because otherwise those that fight fires impose restrictions that those that build don't like" and "construction workers Vs firefighters" seems to be undermining your point...

In mature industries, there absolutely are plenty of regulations in place to make sure that builders don't make responders' life harder. That doesn't mean that the responders aren't needed, but the fact that the software industry as a whole decided to go all "response is the only thing we need for most things" is evidence that it is not mature.

Re:Giving a Shit as a Service by dasil003 on Monday October 30, 2023 @10:35AM (#38069936)
Sure, any point can be undermined by overgeneralization and bad analogies.

The nature of software and physical construction is different.

Re:Giving a Shit as a Service by ElevenLathe on Monday October 30, 2023 @10:42AM (#38070020)
The "skin in the game" argument is, IMO, not compelling. It is clearly possible to have stable software services delivered by separate Dev and Ops teams that communicate using a will defined software interface -- look at any app that uses Heroku or a similar PaaS.

But, as we know, useful software interfaces are difficult to define well and, once they exist, they tend to be the most inflexible part of a fast-changing system. It is always better (though of course more expensive) to control both sides of an interface for this reason.

The "skin in the game" argument elides this fundamental reason and substitutes one that implies all of this is the fault of lazy devs, which isn't (generally) true IME.

Re:Giving a Shit as a Service by dasil003 on Monday October 30, 2023 @11:08AM (#38070381)
This argument doesn't hold water. Both Heroku and teams that run apps on Heroku have their own on-call teams. Yes, you can build stable interfaces and separation of responsibilities between infra and business services, but someone still has to be responsible for the business services stability.
Re:Giving a Shit as a Service by ElevenLathe on Monday October 30, 2023 @12:10PM (#38071417)
Right but I meant my point to be that the people on call don't have to be literally the same people developing the application code. In fact, they never have to communicate at all, because they can coordinate at arms-length with a well-defined software interface.

Edit: I missed the part where you say the Heroku customer has their own on-call team. IME this is not true. The whole reason to use a PaaS like this is to avoid having an Ops team. Sometimes orgs outgrow their PaaS and keep using it anyway, but this isn't necessary, only a historical artifact. These orgs would likely save more money and get a better result by going with normal IaaS or racking their own servers and, in fact, are probably actively switching to that model.

Re:Giving a Shit as a Service by lotsofpulp on Sunday October 29, 2023 @12:39PM (#38060246)
They can be scheduled on shifts instead of being on call.

It just requires spending more money hiring more people.

Re:Giving a Shit as a Service by coding123 on Sunday October 29, 2023 @02:38PM (#38061327)
You can't compare a mechanical watch to a modern web app. If you told the people building the modern web app were allowed to make one release per decade and not allowed to "maintain it" you would see the feature list drop off, the release date shoot out.

If you have different constraints, you get a different result.

Re:Giving a Shit as a Service by ZephyrBlu on Sunday October 29, 2023 @03:52PM (#38062029)
In a vacuum, technology does not need people on-call. The problem is when you're iterating on technology (E.g. SaaS).

Shipping things has the highest risk of breaking something. I worked with an SRE team responsible for managing incidents for a few months, they told me that ~80% of incidents are caused by bad code being shipped, and I saw that happen as well.

Modern software applications are complex and interconnected. It's pretty easy to unintentionally break something in a different part of the application, or ship subtly bad code because you aren't intimately familiar with that part of the codebase.

Re:Giving a Shit as a Service by 8note on Sunday October 29, 2023 @05:53PM (#38063208)
John Deere sells tractors because of their oncall process

When you're in the middle of harvesting and your tractor breaks down, you want it fixed now, not at somebody else's convenience.

Mechanics and tow trucks also form an oncall for broken down cars.

There's oncalls all over the place for tech of all kinds. I think the biggest difference with software is intellectual property - we've made it so nobody else is allowed to fix whatever's broken, so of course, we need oncalls to fix the problems instead of letting customers go to their preferred mechanic

Re:Giving a Shit as a Service by 3minus1 on Sunday October 29, 2023 @09:14PM (#38064599)
This seems incredibly naive considering companies where engineers are pushing literally thousands of commits a day. Things will break, period.
Re:Giving a Shit as a Service by NBJack on Monday October 30, 2023 @01:29PM (#38072620)
Not a great comparison. I presume you are trolling.

Mechanical watches have been around for roughly 500 years (about 4x-5x tbe time since the first program, depending on how you count), which is a substantial amount of time to iterate on core functionality. Even then, watches until the 1970s (when quartz was introduced) were often imprecise enough to lose 15 minutes/day.

The Voyager probes have both lost several instruments, were built with substantial amounts of redundancy, all to the adjusted for inflation cost of about $3.94B US dollars. Maintenance per year is estimated to be about $5M, including the occasional software update.

Re:Giving a Shit as a Service by overgard on Sunday October 29, 2023 @12:54PM (#38060403)
I only had one experience with this early in my career, but I remember it wasn't good. Basically, we had a 5-6 person team that had to support like 10 important legacy services. One person essentially ended up being on call for a week, having to wake up early to debug issues with a thing you didn't build in the first place and only vaguely understood.

Do you think this company had good CI/CD and automated tests? They did not. There was fortunately a lot of monitoring so at least you knew when the service was in a bad state, but absolutely nothing else other than a ticket and an angry customer.

I would much rather have extensive test coverage, very good CI/CD, make sure not to do releases on weekends and holidays, and have a few people whose job is to do the monitoring and escalate to the right people rather than just putting a target on a random engineer's back and hope they can fix things quickly.

Re:Giving a Shit as a Service by SoftTalker on Sunday October 29, 2023 @03:02PM (#38061539)
You think that, but when Github is down, or AWS-East is down, everyone just kind of endures it, waiting until it's back up. And life goes on.
Re:Giving a Shit as a Service by alwa on Sunday October 29, 2023 @04:13PM (#38062264)
Of course, when a hospital’s IT systems go down, people do indeed have to endure it, but life does not always in fact go on [0]. Horses for courses, I guess.

[0] https://www.theverge.com/2021/9/27/22696097/hospital-ransomw...

Re:Giving a Shit as a Service by SoftTalker on Sunday October 29, 2023 @05:12PM (#38062856)
Hospital IT systems failures are are mostly going to cause problems with scheduling, record-keeping, and billing.

By far, the most likely thing to kill you in a hospital is not the IT system but errors by the doctors and nurses. Or that you're too sick to save no matter what they do.

Re:Giving a Shit as a Service by somsak2 on Monday October 30, 2023 @12:22AM (#38065660)
Right, and the reason "everyone" has confidence in just waiting a bit for it to go back up without panicking and having to try to find an alternative is precisely because GitHub and AWS have on-call engineers that are alerted and immediately work on fixing it.
Re:Giving a Shit as a Service by j45 on Sunday October 29, 2023 @05:37PM (#38063078)
On call rotation is one thing.

Everyone being motivated to develop in a way that isn’t resulting in brittle software and breaking and maybe even use boring tech for stability so even if an on call is a real thing, it’s relatively benign. It’s not a bad thing to rely on the genius of smart people who have been at it for decades and are decades ahead in some realizations.

Having software that self reports and logs multiple occurrences of the same errors and escalating errors that start in the app are one great way to stay ahead of issues.

By the time someone reaches out it’s easy to find the error, session, user, and say ok we see it and are on it. Acknowledgement at this depth upfront quite often let’s the customers to say it’s ok take a look on Monday. It’s reassuring. Also easy to forward such an issue to a distributed team.

Re:Giving a Shit as a Service by d_tr on Sunday October 29, 2023 @12:11PM (#38059919)
> Imo, having "on call" rotations is a clear red flag and bad software practice that has somehow made it in the mainstream.

"Just throw more humans at it!"

Re:Giving a Shit as a Service by aksss on Sunday October 29, 2023 @12:14PM (#38059960)
I used to run IT operations for a telecom, hundreds of physical servers, facilities, 24x7 operators. Hey, shit happens. Problems with hardware, facilities, software jobs, COTS software, homegrown software. There’s a lot of benefit to having someone on call in each domain of concern rather than letting problems fester or go unresolved all night, particularly if the issues are customer-facing. It’s easy to say “just build your crap to anticipate every failure mode”, but that’s not realistic for large operations, especially if you aren’t sitting on an Apple-size pile of cash and talent.
Re:Giving a Shit as a Service by organsnyder on Sunday October 29, 2023 @01:06PM (#38060528)
If your on-call responsibilities are always “fixing bugs or restarting servers”, then indeed you built it poorly. But on-call shifts can also be used for responding to novel situations that couldn’t be planned for in advance.

The best on-call rotations are the ones where you’re rarely paged, but when those pages happen they’re for important urgent work where your involvement is vital (even if your role only needs to be channeling the work to the right person). Ideally you’re also compensated for being available, even when nothing happens (my current team gets a day off [in addition to normal PTO] for every week of on-call time).

Re:Giving a Shit as a Service by andrewaylett on Sunday October 29, 2023 @01:08PM (#38060560)
The expected number of alerts for my team in a normal week on-call (which is out-of-hours only, a different team member covers working hours) is zero. If one of us is paged, there's a good chance it's because of something my team has control over, and we'll try to make sure it doesn't happen a second time.

My experience is that a dedicated team running a follow-the-sun rotation (so the team doesn't need much if any "out of hours" because it's always in hours for at least one of them) actually leads to flakier services and more alerts. Without the visibility of the impact of the flaky services, fixes are lower priority and also more difficult to validate.

In this manner, on-call is not a lack of planning, nor an emergency, but deliberately ensuring we have a plan in place to triage out-of-hours incidents, mitigate those that need mitigating, and leaving anything else to be fixed in-hours.

On the other hand, unpaid on-call is unacceptable.

Re:Giving a Shit as a Service by ddalex on Tuesday October 31, 2023 @08:10AM (#38083548)
This is not a software quality problem, this is a business efficiency problem. We could write commercial software with no bugs, but it would be very expensive (slow process, complicated tooling, etc). It's far cheaper to accept some rate of bugs and pay some schmucks weekends/nights to be OnCall)
Re:Giving a Shit as a Service by j45 on Sunday October 29, 2023 @05:32PM (#38063036)
One of my favourite quotes.

It can be made more or less direct to great resonance.

“If you want my help, plan for it and understand I’m not able to help last minute when there’s no planning”

Re:Giving a Shit as a Service by kmoser on Sunday October 29, 2023 @10:38PM (#38065112)
> "A lack of planning on your behalf, does not constitute an emergency upon mine."

Depends on your relationship with the person who planned poorly: if you truly don't care, then you run the risk of becoming known as the jerk engineer who isn't a team player. The reality is that employees are generally expected to cover for each other to provide the (paying) customer with consistent support.

If the party who planned poorly was the customer, you have to decide whether they're paying you enough to scramble for them, and whether you want their accolades or their ire. My M.O. is to support my customers through thick and thin (within reason, of course), which tends to get me repeat business and referrals.

Yes, going out of your way for your customers is good for business. Give a shit.

Re:Giving a Shit as a Service by sonicanatidae on Monday October 30, 2023 @12:07PM (#38071364)
Tip: Never get within 200 feet of a Systems Admin position.
Re:Giving a Shit as a Service by j45 on Sunday October 29, 2023 @05:31PM (#38063028)
The “don’t work too hard” crowd when you might be working harder than them and “must be nice” when you are relaxing more than them can both be avoided.

People who don’t like anyone working more than them or enjoying life more than them are usually haters who are busy not doing much themselves.

Raising the bar doesn’t mean having to make it more work for everyone.

Those doubt worshipping and self-sabotaging enemies aren’t worth having in your life but it is nice to give a bit of shit about them too.

Move at your pace to wearers what you want and you will find like minded people.