Live data from Hacker News

What is negative engineering?

future.com

31–40 of 61 posts

Re: What is negative engineering?

#31

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…

> 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.

Re: What is negative engineering?

#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 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.

...Or users do know, and just try again? Fault tolerance has been outsourced to the customer.

Re: What is negative engineering?

#33
And yet many programmers do not like reasoning about errors because it "hInDErS tHe hApPy pAtH"... :)

That's funny to me.

Actually, I don't even know why call it negative engineering. That should be engineering, period.

Re: What is negative engineering?

#34
post #23

Earlier quoted context omitted.

> The creative application of scientific principles to design or develop Not even close. But we sure love to claim the principles were scientific. A programmer becomes good at his craft with time and experience. Not by studying in school and learning the principles there. A classic difference between a craft and engineering. How many large construction projects fail due to incorrect engineering compared to large soft…

>Not even close. But we sure love to claim the principles were scientific. Software engineer applies computer science theory in real world where he she is constrained by real world factors If computer science is not enough "scientific" the idk >A programmer becomes good at his craft with time and experience. Not by studying in school and learning the principles there. A classic difference between a craft and engineer…

>Software engineer applies computer science theory in real world where he she is constrained by real world factors

A good 90% of people with that title are flying blind as if they lived the wild west

A good 90% of the rest almost never do that (regardless if because they don't know how, or the company won't let them)

The rest will make the news of they fail, so they put an amount of effort and time which reflect that

We skipped the "mechanic" equivalent in the software industry and call anyone that can pass fizzbuzz, and who does work like fizzbuzz, an engineer

Software engineers do a lot of tinkering, and almost no engineering. Which is fine by me, actual engineering is a PITA and tinkering is where the fun is at

Re: What is negative engineering?

#35
post #9

> What is Negative Engineering? "Negative engineering" is a term coined and championed by Jeremiah Lowin, apparently. Most search engine hits on the term are his or kindly refer to him. He uses it to mean coding for the negative test cases.

For some context in case people don’t know, this is Future.com, the a16z PR site that they’re shutting down soon for lack of interest.

Re: What is negative engineering?

#36
post #33

And yet many programmers do not like reasoning about errors because it "hInDErS tHe hApPy pAtH"... :) That's funny to me. Actually, I don't even know why call it negative engineering. That should be engineering, period.

A quip I picked up from a Boeing engineer:

“Engineering is designing failure.”

Obviously that has darker tones in aerospace, but I think it applies to even CRUD apps:

- my app will choke and fall over if TPS exceeds 1k/sec

- my app will drop data when we exceed 2TiB in the DB total

- etc.

You’re “engineering” when you design and control those modes in your system.

Re: What is negative engineering?

#37

>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.

I usuall call this "meta-programming" or "meta-work". The work you need to do in order to make way for actual work.

Re: What is negative engineering?

#38
post #29

Earlier quoted context omitted.

> Almost never Isn’t this the key point? That *most* “software engineering” is not engineering. I can build a bridge and not be an engineer; similarly I can build software and not be an engineer. The properties of the bridge/software is what makes the difference isn’t it? > How many large construction projects fail due to incorrect engineering compared to large software projects? Yes, poor engineering is rampant. But…

Not comparable at all. You can pay to have a bridge constructed and the project will be defined by an architect, built and inspected following a rigorous and standardized set of steps. You can also pay to have software built. The specs will not be even remotely as precisely defined and the building of the product will not even remotely follow a standardized set of steps. It will come down to a team and individual pro…

Construction is frequently slapdash. A friend's wife, who works as an engineer, commented that it often seemed like the construction workers were trying to screw everything up on purpose. As-built is frequently different from the original plans, and that's before you take into account all of the change requests that happen in construction, such as the change that caused the Kansas City Hyatt disaster (oops, a single change request doubled the load on a critical beam, causing it to exceed its design strength and fail in the middle of a major party and killing a hundred people).

Re: What is negative engineering?

#39

Earlier quoted context omitted.

>Not even close. But we sure love to claim the principles were scientific. Software engineer applies computer science theory in real world where he she is constrained by real world factors If computer science is not enough "scientific" the idk >A programmer becomes good at his craft with time and experience. Not by studying in school and learning the principles there. A classic difference between a craft and engineer…

>Software engineer applies computer science theory in real world where he she is constrained by real world factors A good 90% of people with that title are flying blind as if they lived the wild west A good 90% of the rest almost never do that (regardless if because they don't know how, or the company won't let them) The rest will make the news of they fail, so they put an amount of effort and time which reflect that…

>We skipped the "mechanic" equivalent in the software industry and call anyone that can pass fizzbuzz, and who does work like fizzbuzz, an engineer

If I have engineer in job_title and engineering degree in informatics, then I m an engineer by your "standards/definitions"?

Re: What is negative engineering?

#40

Earlier quoted context omitted.

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…

> 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.

Post reply on HN