|
|
|
|
|
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". |
|
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?)