Hacker News new | ask | show | jobs
by EpicEng 3009 days ago
>On the other side, do we want to treat every project like a medical device?

No, but is most software work really engineering? Personally, and atthe risk of completely going off topic and starting a debate which has little purpose, I don't think so. I don't consider duct taping together various frameworks and third party libs to create yet-another-CRUD-app "engineering".

2 comments

From a meta level, engineering is the study of how best to make things. The high cost of construction and the mature state of the relevant physics give civil and structural engineering their highly mathematical, model-driven, upfront-design-heavy form.

Software development has different constraints. An edit -> compile -> test cycle is free, but formal verification of code is obscure and unwieldy. Consequently, our best practices are more iterative and empirical than front-loaded and model-driven. But we do have some. (Not denying that software engineering is much less mature than other forms).

A team that's doing good high-cohesion low-coupling components, fault tolerant design, unit testing, integration testing, version control, code review, capacity planning, telemetry, staging, canaries, blue/green or incremental rollout, feature flags, etc. is acting in accordance with the body of knowledge called "software engineering" even if they're doing it for a boring CRUD app. Someone with a big pile of spaghetti code on his laptop is probably not doing software engineering, even if he's cracked P=NP. (He might be doing computer science - have you seen how researchers code?)

In all fairness, a lot of other disciplines of engineering could be described the same way. My SO for instance is a civil engineer at a construction company. The company works on multi million dollar projects building airports, hotels, schools, etc. These are massive projects meant to service thousands of individuals and if they make a mistake people can die. She describes her job as "a whole lot of babysitting adults (sub-contractors), and duct taping bad designs to worse material".

Are there safety concerns that a lot of engineering doesn't have? Sure. But it goes both ways. In her field of engineering there are limited impactees and mistakes while potentially fatal have minimum monetary value. I can fuck up and cost my company millions in an instant. Or expose millions of user's personal information. Different risks, and I'd still probably take the a stolen identity over death, but at the end of the day it's a similar job.

A civil engineer is responsible for every tolerance, specification, and design they put their name on. I imagine they would be verifying those before they sign off. She also has to have a lot of knowledge in math and certain sciences to do that job I'd consider that engineering.
This is a late reply but basically, you're completely wrong. There are certain aspects that someone on site has to be sign off on, but no the majority of engineers on site don't have to be responsible for really anything other than verifying they delivered what they promised. There are inspections (generally by the state) that verify the safety of a finished project. If something goes wrong because of sub par material or a design from an architect that ended up not being sound that's not on the engineer who signed off. And as far as Math and Science skills it's actually pretty similar to CS people where you learn a lot of stuff that you never use, or are expected to. Some guy did a basic derivative for something or other on their site, a week back, and everyone freaked out they were so impressed. These aren't the day laborers. There are all guys who've been in construction for years, Superintendents, field and project engineers, etc.