By that definition almost all people who call themselves software engineers would be wrong. That doesn’t automatically mean, you’re wrong though.
Personally, I disagree with your definition of software engineers needing to directly interact with hardware stuff in order to be engineers. Wikipedia defines software engineering as
the application of systematic desciplined, quantifiable approach to development, operation and maintenance of software and the study of these approaches; that is, the application of engineering and computer science to software.
So it’s all about the systematic approach to complex systems, not about whether or not you directly interact with hardware interfaces.
thesmokingman@programming.dev 1 year ago
I think this is a terribly naive view of the impact the physical world has on software development. Most web development is actively concerned with throughput which is governed by bandwidth limitations and API construction. The user experience concerns that go into, say, the design of medical interfaces is no different from the design considerations of physical switches in a cockpit. Alert fatigue is just as much a consideration for monitoring in software as it is for industrial controls.
I also disagree that engineering is applying physics for user experience concerns I brought up. If your industrial controller makes it impossible to understand what’s going on when shit hits the fan (eg Three Mile Island), I would argue you as an engineer have failed. That’s not applying physics unless we’re stretching “applied physics” to cover the movement of subatomic particles through brains as psychology.
betz24@lemmynsfw.com 1 year ago
I appreciate your opinion. I know that the qualification I made is a controversial one as everyone wants to be an ‘engineer’, but I’m still confident it holds. Applying physics is not purely at the atomic level. In web development, one of the physical challenges can be bandwidth, however, while most people claim to concerned about bandwidth, in reality they don’t do anything about it. Minifying code is cool, but that’s not doing any engineering by itself. Calculating the throughput your datacenter can dish out for your 1million users as you write a function that optimizes load vs lag of streaming video, that’s engineering.
Thinking about user interaction and experience is more psychological than it is physical in most cases. Designing the user experience of a medical device or cockpit switch are both not automatically qualified for engineering: unless, you are designing the medical device to overcome spasm that someone with Parkinson’s has, or, the cockpit switch is made of a blended plastic mix to reduce the weight requirement on a plane but hold up from wear. I’m not saying one is worse, but we need to make the distinction between designers, scientists and engineers.
I understand that everyone wants to be an engineer, whether for pride or just to feel more important (hell I want the engineer title too). Unfortunately, the tech industry (with arguably one of the most conflated egos) liberally tossed around software engineering to every role to attract talent and I don’t see that changing. It’s a profession, so whatever you are being paid to do, will determine if you are an engineer.
thesmokingman@programming.dev 1 year ago
I don’t give a shit about the title. I think it’s a joke. The analysis you’ve given suggests you don’t understand both software and engineering.
betz24@lemmynsfw.com 1 year ago
Sounds like you are a real pleasant person to work with