Re:Electrical engineers on the brink of extinction threaten ...
by throwaway290 on Tuesday July 19, 2022 @02:16AM
(#32148130)
I'm not arguing EE is better than SE or otherwise. My point is specifically that EE has both more complexity and stricter constraints, and both unavoidable due to the nature of it being mechanical as opposed to ideal. Yes, in SE you also have complexity, but you can abstract it away with many tricks like isolating side effects and writing pure functions that are easy to reason, re-running from clean slate at will at little cost or even running your code anew at every request, letting things fail completely and be sure it's cleaned up reliably, etc. In EE, you have enormous implicit state that you can't ignore, the global of time and everything else all at once you must juggle.
Most human beings can handle, at most, 5 to 9 variables in their head at once. Software systems grow to immense complexity of thousands to millions of variables, with various runtimes, databases, caching layers, frameworks, libraries, coding styles accrued over multiple decades in some cases, data aggregation pipelines, dozens to hundreds of APIs with their own unique interfaces, etc. It is a constant battle against entropy, which happens inevitably in such systems.
Meanwhile, there isn't a single modern "real engineer" who doesn't get their daily work done thanks to multiple software programs supporting their own productivity so much that they can replace what used to be teams of dozens to hundreds of assistants, techs, engineers, and other various human support systems. They draw lines on AutoCAD that automatically compute moments of inertia, shaft calcs, bill of materials, etc. Then they take that file output and zap it over Slack instantly to their colleague who works from home hundreds of miles away to get their feedback on it. Behind all of that is a team of software engineers and product devs that not only has to understand the constraints of their own technical systems, but the technical needs of their engineering clientele.