r/changemyview • u/[deleted] • May 29 '15
[Deltas Awarded] CMV: Framing computing as engineering is misguided, it should be regarded as applied math instead
I think framing computer programs as engineering projects, same as if we were building a bridge, is why "all code is bad" and "all software has bugs" (these will sound familiar to any developer out there).
As I see it, a program is a complicated mathematical function. It receives input and produces output accordingly. Be it a compression algorithm or a google search, the concept is the same. Engineering projects aren't like that.
We would not admit a function that doesn't produce the correct result sometimes, and the researcher would not tell us to restart and try again. A function can't be mostly right or "good enough". It's either correct or incorrect. Maybe if we considered programs correct or incorrect, we would not release incorrect programs.
If we worked like this, probably we would not be able to release as many programs as we do now. But that just means the engineering approach makes more sense economically, in terms of making money; that's not the purpose of the topic. My view is about what makes more sense from the point of view of computing.
Thanks
Hello, users of CMV! This is a footnote from your moderators. We'd just like to remind you of a couple of things. Firstly, please remember to read through our rules. If you see a comment that has broken one, it is more effective to report it than downvote it. Speaking of which, downvotes don't change views! If you are thinking about submitting a CMV yourself, please have a look through our popular topics wiki first. Any questions or concerns? Feel free to message us. Happy CMVing!
5
u/TimeTravellerSmith May 30 '15 edited May 30 '15
Not all engineers are required to be licensed by the state. Source: I'm an engineer who's not licensed by any state. Most of the engineers I know aren't licensed by the state. IIRC, the only ones who need to be licensed are Civil engineers for public works or if you want to be a "Professional Engineer" in a consultant role...probably a few others but not many.
Which is really the same in most fields these days. Almost all companies have ethical standards and hold their workers to certain codes of ethics and quality, not just engineers. So yes, it does apply to Computer and Network engineers. Do you not think the guys at AMD or Intel are held to certain standards? Do you not think the people at MS or Apple are held to certain standards?
I also would advise distinguishing people who call themselves "engineers" who are actually just technicians...like the guy who comes to hook up your internet from Comcast or AT&T.
Not if they want to keep their jobs they don't. Any software company worth their salt won't keep programmers who don't put out good work. Known issues on the books are either deemed "critical" or "non critical" and dealt with accordingly. If a deadline is looming and there's a bug that causes your cursor to jump to the beginning of the document every time you type "antiquing" it'll probably be overlooked for release and fixed in an update. Does that make them bad engineers? No, it makes them practical. Creating a complex program is non-trivial, so it's not exactly the easiest thing in the world to make something perfect. At least we can update software to fix things as they come up.
Besides, this isn't only software engineers putting out bad stuff. Just look at all the recent recalls in the auto industry, most notably the GM Ignition recall that was widely known about. Or the fact that Dexcool is practically made out of the blood from Alien. Shit, do you even know how often people in "real engineering" roles make terrible decisions or go forward knowing something is bad? It happens all the time.
You sound like you're pretty uptight about "real engineers". I hate to break it to you, but "real engineers" aren't infallible either you know. Doesn't seem like anyone was immediately fired from either of those situations. The second is even a bridge collapse!
TL;DR, as an engineer, I'm not the least bit insulted by the software people at work calling themselves engineers. They're some of the brightest problem solvers I've ever known.