|
|
|
|
|
by Avicebron
1270 days ago
|
|
Planes, trains, and automobiles are tech. Software is a specific subset, software is a subset of tolling and techniques that's applied to "tech" no more than circuit boards, wires, or the wheel. It doesn't have a special elevated status. The more people understand that the faster people will stop hero worshipping it. |
|
I guess that's the case for software-centric platforms. It was not my experience.
I worked for hardware-centric corporations, for most of my career, and became used to having software treated as a "nice to have, but not essential" part of the product. In many cases, my work (and myself) were treated with contempt. I got used to being sneered at.
In my experience, this was a disastrous attitude, because, despite lots of folks wishing it weren't so, hardware, these days, is software.
Software pervades everything, from the compiled silicon on peripheral ASICS and FPGAs, to the firmware that drives said chips.
In my experience, firmware was treated as hardware, and the same rigid, waterfall process was applied to firmware, that was done for the hardware.
Worked great.
Until it didn't.
Software is a drastically different beast from hardware. I won't bother going into the reasons. Anyone with a smattering of knowledge in the area, can list them.
In any case, the hardware folks would treat any attempt to leverage the flexibility that software allows as "cowboy, low-quality, laziness." It was Waterfall, or you were a "bad engineer," and "lazy and undisciplined."
I'm really big on Disciplined software development. That does not make me popular with this crowd. It also does not mean Waterfall.
In my opinion, there's no way to avoid the difficult parts of engineering, but it's also important to be adaptive, responsive, and, dare I say it, "agile."