Hacker News new | past | comments | ask | show | jobs | submit login

The strength of a beam is an atomic calculation. A software engineer should fully understand a function that calculates the length of a string...

How is a spaceship blowing up not a bug? These happen fairly frequently... Oh, and oil spills? Fukushima? Mines that collapse?

Talking about games. The physical equivalent to video games is pinball machines. Anyone who has played these can tell that the ball sometimes get stuck in weird places. This is exactly the equivalent of a software bug. Shouldn't the engineer have a total understanding of the machine so that the ball never gets stuck? You know, maybe games aren't so important that everything must be perfect.

Also, I have a 2 year old. None of his toys have lasted more than 3 months. Literally 0 out of dozens. Isn't there a fortune to be made by engineering toys that can endure a kid's strength?




> This is exactly the equivalent of a software bug.

Not really, because you can usually shake or tilt the pinball machine to set the ball free.

> oil spills? Fukushima? Mines that collapse?

These events happen (literally) once every few years or half decade. Software bugs happen (literally) billions of times per hour.

(I’m not normally this pedantic, but felt the need since your comment comes across as knee jerk defensive without a whole lot of substance to work with)


> Not really, because you can usually shake or tilt the pinball machine to set the ball free.

That's silly. A bug is an unintended behavior of the system. If you shipped a debugger with every video game, you'd probably be able to get yourself out of most bugs.

> Software bugs happen (literally) billions of times per hour

You're comparing things with different criticality. A bug that doesn't prevent you from doing your work is like a match that doesn't light up properly. These events happen all the time in the physical world.

Bugs that shut down AWS for 24 hours tend to be less frequent...

Let's just no enter in a debate about the frequency of "physical world bugs".

Yes I admit it was a little knee jerk defensive.


> Not really, because you can usually shake or tilt the pinball machine to set the ball free.

And you can restart a program that crashes or reboot a system. Or workaround the bug.

> These events happen (literally) once every few years or half decade. Software bugs happen (literally) billions of times per hour.

Yes but you are looking at big impacting things. A TV that breaks because the power supply was badly engineered and a capacitor broke down doesn't get on the newspaper, as it doesn't an app that crashes on a phone. A software bug that makes a plane crash or make a company loose billions of dollars is something as rare as the kind of events that you pointed out.


> Not really, because you can usually shake or tilt the pinball machine to set the ball free

> Software bugs happen (literally) billions of times per hour

Physical bugs occur very frequently as well, we just correct them ourselves like in your pinball example.


Yeah, oil spills occur because companies make conscious decisions to do the bare minimum to operate their pipelines. 500K gallons of crude spilled in Louisiana a few weeks back and nobody knew about it until cleanup efforts were underway. Why did the spill occur? It wasn't because the pipeline was engineered poorly. It was because the pipeline was not properly maintained. And people wonder why there are those who do not want an oil sands pipeline carved through an aquifer.

Engineers don't work with infinite budgets and they usually are not the people who are making final decisions on either maintenance or implementation. Many of these failures occur because of budget constraints, time constraints, or decision makers who go against the recommendations of experts.

IMO, the closest thing to a "software engineer" is a software architect. Everyone else is a craftsman.


> Engineers don't work with infinite budgets and they usually are not the people who are making final decisions on either maintenance or implementation.

There are plenty of examples where the problems as the design, not the implementation, such as:

https://en.m.wikipedia.org/wiki/Hyatt_Regency_walkway_collap...

Different projects have different costs for failure. A bridge failure costs more than a child's toy that breaks. A browser tab crashing costs less than a mars orbiter that burns up in the atmosphere. Engineering isn't confined to just working on things where people die or stuff explodes if you mess up.


This has been covered in detail elsewhere. The constrains on software engineering are such that the bugs are tolerated and it is cheaper to ignore them. If it was any other way then we'd care more about bugs.


> Isn't there a fortune to be made by engineering toys that can endure a kid's strength?

Maybe, but there's probably a bigger one to be made selling replacements for those toys.


> Fukushima? Mines that collapse?

Those 9.0 earthquakes? That isn't a defect. The software equivalent is an intern deleting the production customer account database. That isn't a software defect, but there is still a failure with plenty of blame to go around.


> A software engineer should fully understand a function that calculates the length of a string...

Once you get into language semantics of iterating over characters vs bytes vs graphemes, it's not always so trivial.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: