5 ms·
"many engineers probably would not consider it a proper engineering discipline to begin with." Calling software engineering "engineering" is perhaps the most b
by fsloth 5y ago
"many engineers probably would not consider it a proper engineering discipline to begin with."
Calling software engineering "engineering" is perhaps the most blatant uses of describing a thing by it's exact opposite. Like calling hate love, or war piece. (Which sometimes is done, but mainly for propaganda purposes - for the intent of obfuscation.)
Software engineering is much closer to a craft than anything capable of teaching or predicting anything successfully. The best analogue that comes to my mind are the craftsmen who built cathedrals in medieval Europe. Yes, they built things. But they did not understand with scientific rigor, what and why are they doing it. They did not have proper theory, so they could have built something completely different.
You can learn the activity known as software engineering. For most individuals, the best way is from an informal apprenticeship by working with talented colleagues. Again, this is closer to art or a craft than engineering.
You can learn the basics in structured setting. But based on the stories of long winded recruiting interviews, nobody actually trusts any of that, or at least they don't trust the accreditation mechanism. Which implies you can pass a degree, but only accidentally learn the skills the industry expects a great candidate to have.
Something is institutionally broken here. Imagine if medicine worked this way. Are doctors whiteboarded over complex surgeries before being hired?
I would consider the work done by NASA's software engineering laboratory one of the things closest to "proper engineering" done in the field of software http://www.cs.umd.edu/projects/SoftEng/ESEG/papers/83.88.pdf http://www.cs.umd.edu/projects/SoftEng/ESEG/papers/83.88.pdf
Is there anything similar currently operating?
- bakuninsbart 5y agoWell, it seems to be in line with the general absurdity of naming conventions in anglophone computer science, since SWE is one of the few subfields of CS that actually uses the scientific method. However, I'm not sure where you are going with your tangent on engineering; in my mind, engineering mostly differentiates itself from the other types of academic research in the kind of question it asks: "How do we [build this]?" in contrast to "How do we [prove this]?" or "How to we [establish evidence in one direction or the other]?"
- tsss 5y agoI agree with the lack of rigor in software development, but I don't think that it is much better in other traditional engineering disciplines. I know from my own experience that you can go quite far in electrical and mechanical design without any rigorous engineering. Usually, all the hard math-y engineering things are done by software and its users don't understand how the software works. You have to know a bit more about physics and such to understand the data sheets, but that's not much different from knowing the complexity of elementary algorithms and data structures.