No disagreement with what you point out. But hardware design with chips isn't the easy process the author thinks.

The author seems to think that IC's are a black boxes. You can slap them down on a PCB, hook them together, and get a working system - just like his software system (drop and connect components together). And, it should be possible to swap IC brands.

First, it's not that simple to connect design a PCB, especially at high speeds. How you route the signals can make a big impact on how well your design works. You have to add all kinds of little things that aren't obvious to software guys, like decoupling capacitors to maintain signal integrity. Designs often require rework to pass FCC/CE emission and susceptibility tests. Heck, designers often don't consider RFI concerns until the certification tests and then scramble to make bandage fixes - doesn't that sound a lot like common software developer attitudes towards testing and security?

Second, yes, with digital chips, it's typically possible swap manufacturers. But sometimes even then there can be trouble. But analog chips from different manufacturers, even with the same paper specs, often don't act the same and require design changes.

Third, sometimes chips don't live up to their specs. To give one example, one otherwise good chip, the TI 320F2812, has a 12-bit ADC that's so noisy you'll get around 10 bits of info. So if you need 12-bits, you'll have to either add an external ADC or try to work around the problem by using filtering (which has its problems, such as additional CPU time required). That sounds a bit like a software component that doesn't do quite what was promised. (BTW, TI's later models have better ADC's - but aren't drop in replacements).

So, yes, software developers can learn from the hardware guys; for example, one thing the chip guys are good at is simulation and testing (of course, the cost of that - in time and money - would make software project managers freak out). But the hardware world isn't easy, either.

One last note - analog simulation is as good as the model, so it's often wrong, and can cause more problems than it solves. Digital simulation is better, but getting harder because at high frequencies everything is analog (e.g. PCB traces become antennas whether you like it or not).

--Tony