5 ms·
I look forward to the day when software engineers have the autonomy that licensed engineers have, so they can tell managers no and if the manager goes around th
by Mountain_Skies 2y ago
I look forward to the day when software engineers have the autonomy that licensed engineers have, so they can tell managers no and if the manager goes around the engineer, the manager and the company end up directly liable for the damage they create.
- godelski 2y agoThese are in fact the same thing. It is because an engineer can be held liable that results in them being willing to say no. In general, they probably won't be prosecuted, but a common reason for this is that there will be written records of engineers telling management that there are concerning risks. This also results in the job of a Professional Engineer, who is a person who legally puts themselves on the line. They get paid very well and for good reason, they have a lot on the line themselves. I suspect that a big reason CS is not held to the same standards is due to abstraction and that it is still new. But we do live in a time where bad code can get people killed (control systems are the easiest examples), just as building a faulty bridge will. I just hope we don't need a Tacoma Bridge to cause change. Obviously it is harder to figure out things that are more abstract like Social Media (can provide both good and harm). But I'd say, you can always say no. If you're not saying "no" now, that's still a choice you've made. A job is very persuasive, and I'm not saying you're bad for just keeping your head down, just that people should consider where they'd draw the line. The line is personal and different for everyone (which is okay!). Having taken traditional engineering courses, I'll note that ethics is frequently discussed and you're likely to be told you should try to define your line before you asked to cross it. If you don't, you'll likely to cross the line without knowing, as you just didn't know what it looked like. You can always redefine the line as you get more resolution (it continuously updates) but it's much harder to say "no" when you haven't given it much thought.
- necovek 2y agoThe main reason we are at a point we are is that it is possible to build very complex software systems cheaply: both the tools and building blocks are abundant and available to everyone. If an engineer tried to build a skyscraper or a bridge, they'd meet challenges other than them having knowledge or professional certification. And to your point, if anyone ever asked an engineer to insert another floor between 8th and 9th floor of a 15 story building, they'd laugh at them. In software engineering, this is possible even if hard. And finally, because of software living a much different life, it will be hard to define criteria for good software.
- nearting 2y ago> And to your point, if anyone ever asked an engineer to insert another floor between 8th and 9th floor of a 15 story building, they'd laugh at them. In software engineering, this is possible even if hard. Ah yes, another cocktail party idea [1] where a software engineer pretends like they understand civil engineering. [1] https://danluu.com/cocktail-ideas/ https://danluu.com/cocktail-ideas/
- godelski 2y agoObviously never been to floor 7 1/2[0] [0] https://www.youtube.com/watch?v=T2Y7oo3iB40 https://www.youtube.com/watch?v=T2Y7oo3iB40
- necovek 2y agoIt's great when you make a general statement about somebody you are conversing with without really knowing their background. As Dan notes himself, even scenarios which are simpler than this (moving a bridge, moving a building) are done much more rarely compared to similar requests in software. I did not accidentally use "modify something in a dimension that's really hard to modify in civil engineering" as an example — perhaps your response was a cocktail party response of someone not understanding either civil or software engineering? IMHO, it is all about costs (which I start off with being small in software — comparatively): traditional engineering doing changes like these is extremely expensive and thus they don't (it's usually cheaper to demolish and rebuild).
- godelski 2y agoI really think you should read Dan's post in full. Because you really did make the error him and Hillel discuss. I think it'll also help interpret my point and the gp to my comment. We're not thinking in a framework where CS and Eng are all that different. Or skip to this part of Hillel's video[0] I've been an aerospace engineer. Worked there before coming over to CS. And I can certainty tell you that yes, someone may ask you to split a floor in half. There's nothing really preventing you from doing this. There's buildings with more levels than there are ordered floors. It's a 15 floor building, but you label your floors 1-14. Such an area can be used for things like running conduit or even just as a fire break. Hell, there are even split level homes, you know those ones where you walk in the front door and either go up or down? There's also things like scissor flats. So yeah, you are making the mistake because your example belies you. It illustrates that you aren't aware of the complexities and abstractions in the engineering job. It's okay to have only a rudimentary understanding of engineering, you've spent your time learning other things that are more valuable to you. But that doesn't mean you should assume things are simpler than they are. The truth is that any job, has depth and far more complexity than appears at the surface. While in many jobs you can get away with only doing the simple part, there's still more depth than is actually being utilized. Likely for the same common error. You are right about cost being a big factor, but this is also a very different argument than the one about floor 8 and a half. https://x.com/danluu/status/1484268111687663620 https://x.com/danluu/status/1484268111687663620 [0] https://youtu.be/3018ABlET1Y?t=920 https://youtu.be/3018ABlET1Y?t=920