|
|
|
|
|
by akiselev
1998 days ago
|
|
As someone who's worked on consumer electronics (analog + high speed digital PCB design) and software ranging from (research) satellite firmware to an orchestrator for a robotic genetic diagnostics pipeline but now works mostly in frontend/"full stack" roles, I disagree with your characterization of engineering. At it's core, engineering is about wrangling constrained systems to impact the world around you and the people living in it. Corny as that statement is, ounce for ounce, software engineers' sweat go so much further in that regard, for better or worse. The impact is very diffused so its hard to measure and we don't get that new-factory-smell assembled prototype from the fab to hold in our hands, but software has transformed the world around us (in concert with the hardware that runs it, of course) at a staggering pace. I will say that your description matches what I consider "real" vs "bullshit" engineering - akin to how people refer to "bullshit" jobs. Science is all about discovering the constraints of the physical world and before software, engineering was all about exploiting those constraints to do what we want. Software engineering, however, is unique because its constraints are, more often than not, of our own making. All that time and boilerplate spent managing memory and converting data between all these different formats and representations is our own damn fault, which certainly takes away some of the pride that a mechanical or electrical engineer gets when they trick nature for their own purposes. Software's closest cousin is probably systems engineering and we've massively failed in learning its lessons. |
|