5 ms·
I like the distinction between technician and engineering. So much of software development is just technician work and has nothing at all to do with engineering
by constantcrying 2y ago
I like the distinction between technician and engineering. So much of software development is just technician work and has nothing at all to do with engineering.
Unlike other countries in the US you can call yourself an engineer as a job description without any restrictions, so far too many people have taken on that job description, even if it does not make any sense.
- ghaff 2y agoI think there is a distinction in general. On the other hand, as someone with degrees in other areas of engineering, I also think there can be too much emphasis placed on the degree to which those other areas of engineering apply formal process and rigorous practices to everything they do. Yes, there are established codes for structural analysis and the like but there's still also a lot of seat of the pants.
- readingnews 2y ago≥≥ Unlike other countries in the US you can call yourself an engineer as a job description without any restrictions, so far too many people have taken on that job description, even if it does not make any sense. This is one of my pet peeves... in Engineering school it is beaten into you that what you build has to be correct. Correct as in, did you check the poles and zeros? Is this thing going to oscillate out of control and kill people in any breeze? Is this circuit ever going to go into a region where it will fail, probably killing people, and did you ensure you have circuitry that will prevent that? Is every floor of this building rated for the loads, winds, seismic activity, etc. I feel like in software, there used to be a lot of focus on correctness of algorithms. In undergrad computer engineering we had to take algorithms and again in grad school. That class seemed like the one to teach you to be correct, but it was just in your algorithm design. So much of software today controls hardware that may end up controlling (insert your deadly item here: life support, airplanes, cars, trains, critical infrastructure, deadly infrastructure, etc) that it makes me wonder just how much holistic testing of the "in which ways can this software fail and kill people" has taken place.
- lukas099 2y agoUsually software is easier to take apart and modify than other engineering products, so it doesn’t make sense to hold it to the same standard of correctness, and prioritize speed of deployment more.
- ninkendo 2y agoI think this is debatable, but I understand where you’re coming from. Personally I think it would be a better world if software were held to the same standards as other engineering disciplines, and we didn’t treat it as somehow less important for software to be correct just because it’s easy to fix. Things would move slower, but we wouldn’t be “spinning our wheels” nearly as much by redoing work and reinventing wheels over and over. A world where software can be considered “done” when it works and is free of bugs sounds amazing to me.
- randomdata 2y agoI see so many mechanical bugs in my farm equipment, I have to question your notion that other engineering disciplines are actually held to a higher standard.
- constantcrying 2y ago>Usually software is easier to take apart and modify than other engineering products, I do not think that is true. The one thing software allows is a large degree of modularity. In Electrical or mechanical engineering everything can always influence everything else. In software you can have very strong boundaries. >so it doesn’t make sense to hold it to the same standard of correctness, and prioritize speed of deployment more. Why? I don't see that conclusion at all.
- lukas099 2y agoYou really don’t think it’s easier to rewrite and redeploy some code than to take fix a bridge or something? >>so it doesn’t make sense to hold it to the same standard of correctness, and prioritize speed of deployment more. >Why? I don't see that conclusion at all. Because, except in like safety critical applications, it’s ok to get something that works most of the time out the door and fix minor bugs later.
- randomdata 2y agoAccording to the dictionary, engineer is defined as: A person who designs, builds, or maintains engines, machines, or public works. You may have a point that the prevailing idea of what engineering is does not recognize software as an engineering discipline as it does not fit into any of engines, machines, or public works. But if we were to include software, surely all software practitioners are people who design, build, or maintain software? Even the web API guy from the story is an engineer on that end.
- constantcrying 2y agoYou are totally misunderstanding me. I am not saying that software engineering does not exist, but that most people who are software developers are not software engineers. If you look at what engineers are doing in other disciplines you will find that in software there are some people doing the same thing. They are doing things like drafting requirements, designing, defining, simulating, overseeing, but don't spend much, if any, time actually building things.
- randomdata 2y ago> They are doing things like drafting requirements, designing, defining, simulating Which is design; captured in the definition. You're welcome to invent whatever meaning for engineering you want (although you kind of need to define it, in that case – we can't read your mind), but going by what most people consider engineering to be, either all software developers are engineers or none of them are.
- constantcrying 2y ago>either all software developers are engineers or none of them are. Why? I have worked jobs where I definitely didn't do any real design and was just there to implement certain things. I absolutely wouldn't call what I did engineering.
- randomdata 2y ago