Live data from Hacker News

What is negative engineering?

future.com

51–60 of 61 posts

Re: What is negative engineering?

#51
That's just sound engineering.

Besides the usual quality considerations (correct, available, performant, etc.), well engineered software systems should be:

- observable: you need to be able to tell the state of the system to a sufficient degree (metrics, status reports, etc.)

- operable: it should be possible to influence the behavior of the system even in case of failure (feature flags, tools for retrying or pausing jobs, throttle processing speed, etc.)

Failure modes should be considered as early as you can, and provide sufficient tooling to deal with them.

Most of the effort on large scale or mission critical systems is dealing with failure modes, rather than the happy path and making sure it's extremely difficult to make it fail catastrophically without recourse.

Failure should be considered business as usual and dealt with accordingly, hopefully automatically but you need to leave tooling in place for those situations you didn't consider.

Re: What is negative engineering?

#52
post #40

Earlier quoted context omitted.

> In software engineering we can often afford to wing it in a way that other kinds of engineering can't Ariane flight V88 haunts your nightmares.

Galloping Gertie haunts civil engineer’s nightmares. Hyatt Regency walkways too. Apollo 1. Plenty of examples, actually. All engineering fields have their share of catastrophic failures. For better or worse, that’s how we learn.

Different problems also have different scales. The road that they've repaved outside my house has had far less scrutiny than the new bridge they've built down the road. And NASA have very different coding guidelines to Shopify.

Re: What is negative engineering?

#53
> Imagine how frustrated you’d be if every now and then, an application simply refused to add items to your cart, navigate to a certain page, or charge your credit card. The truth is, these minor refusals happen surprisingly often, but users never know because of systems dedicated to intercepting those errors and running the erroneous code again.

I want to live in the world this guy is from.

Re: What is negative engineering?

#54

See, treating this as an add-on is why software has a reputation as "not real engineering". Engineering is all about turning science into products . Anyone with a chemical lab and enough post-grad grunt can make a compound. That's just the start. Getting it to customers, at scale, with a saleable price and not selling poison, contamination, or thin air and not turning your plant into a crater or superfund site is the…

I don't understand this kind of inferiority complex. In software engineering we can often afford to wing it in a way that other kinds of engineering can't because they are strongly locked into what they've built already and because human life is at play. You can't really redo the foundation of a pre-existing building without a truly heroic amount of work, and you can't reboot a person if their pacemaker fails. When p…

After reading https://www.hillelwayne.com/post/are-we-really-engineers/ I am convinced that Software Engineering is the same as any other engineering field. Sure, it looks like like and death is at play in the other fields and all we do is debate what color fonts should be on a web page, but their projects seem a lot like that too. In every engineering field, projects usually go well enough to get another project, which is the best you can really hope for in the real world.

Our whole "I can't do work today, I have to apply these security fixes 83 levels deep" also sounds a lot like: https://practical.engineering/blog/2022/8/2/you-spend-more-o...

All in all, yeah, I don't understand the inferiority complex. Engineering always looks amazing to people that aren't in the thick of it, but we hide a lot of the flaws, and fix the other ones through iteration.

Re: What is negative engineering?

#55

See, treating this as an add-on is why software has a reputation as "not real engineering". Engineering is all about turning science into products . Anyone with a chemical lab and enough post-grad grunt can make a compound. That's just the start. Getting it to customers, at scale, with a saleable price and not selling poison, contamination, or thin air and not turning your plant into a crater or superfund site is the…

Excellent analogy, and one of the reasons just putting a bunch of smart people together isn't good business model. A large fraction of them might be capable of building algorithmically outstanding software, but that skill set is completely orthogonal to building a product, testing it, integrating it with third party software and/or hardware, maintaining it, and ultimately migrating away from it to the next generation of software.

Re: What is negative engineering?

#56

>Negative engineering is the time-consuming and sometimes frustrating work that engineers undertake to ensure the success of their primary objectives You don't need another name for this. This is part of the engineering process.

Glad to see I'm not the only one baffled by this article. If you've ever developed and maintained software in production, you had to deal with failures. Is just part of the regular software development lifecycle.

Re: What is negative engineering?

#58

>Negative engineering is the time-consuming and sometimes frustrating work that engineers undertake to ensure the success of their primary objectives You don't need another name for this. This is part of the engineering process.

Glad to see I'm not the only one baffled by this article. If you've ever developed and maintained software in production, you had to deal with failures. Is just part of the regular software development lifecycle.

No post body was provided.

Re: What is negative engineering?

#59

> Imagine how frustrated you’d be if every now and then, an application simply refused to add items to your cart, navigate to a certain page, or charge your credit card. The truth is, these minor refusals happen surprisingly often, but users never know because of systems dedicated to intercepting those errors and running the erroneous code again. I want to live in the world this guy is from.

I've always assumed it was the internet connection or magnetic strip or chip on the credit card that was dirty when terminals failed but were happy on a retry. Maybe it was bugs all along?

Re: What is negative engineering?

#60
post #32

> Imagine how frustrated you’d be if every now and then, an application simply refused to add items to your cart, navigate to a certain page, or charge your credit card Sort of interesting that this is framed as a wouldn’t-it-be-awful-if hypothetical; I feel like on the contrary, and for some value of “every now and then,” this is most people’s daily experience of interacting with most commerce websites. > The truth…

Had the not charge your credit card issue happen the other day. I had to replace my credit card and the power bill was set up to autopay on the old card. I logged in and entered the new number, an unexpected error occurred, I enter it and try again and again. I then notice at the top the account says “power” and there’s nothing due. Clicking switch account gives me the option of “home”, which has the past due balance. What had happened is that my rental from two years ago was still in their system and was the default account for payments. Rather than having one way to pay the bills you have a modal interface to make payments. When I switched to my house, the CC went through no problem.
Post reply on HN