As a software engineer hardware always looked hardware. And for years the salaries of HW engIneers was higher. Now it seems that not only is HWE salaries are declining but also that SWEearn more. Is there a smart explanation for that?
There are simply less jobs. Hardware companies generally were founded in the 80s and before - and are virtually spinning the same product today. Rather than taking a brilliant new idea, they tweak a legacy product. This doesn't require attracting that many good engineers. You just need a few, and the rest get shuttled into support positions. It's not all their fault though - in software you can hope for a hit on a young engineers energy and hipness. In hardware you get to pay for an enormous investment and experience matters. Innovation doesn't pay off as much, because of the cost and the prevalence of fast-follower low cost copy cats. Whereas in software being first pays off to capture the users. For a hardware product a consumer considers price first.
The culture of hardware engineering stayed stuck in the bottomless pit of proprietary design and secrecy. Engineers come into bloom between 15 and 22, and if they don't have open access to information, it just won't happen. I have a feeling we will see a resurgence in hardware soon though, with things like the Raspberry Pi and Arduino setting teen hardware junkies' brains alight...
Speculation: we're part of the general economy. Corporations and wealthy individuals are getting better at keeping more of the money they make, partly by hiring less of the general population, partly by government tax breaks, and partly by offshoring their cash.<p>That leaves a smaller slice of the pie to be directly shared with us and the general population, and it also means that less money is circulating through the economy. Less money, less Slurpies consumed, less Slurpies sold, fewer jobs and smaller salaries, less demand for everything. I think.
Hardware gets more and more "exchangeable", abstracted and virtualized. It doesn't matter as much as in earlier years if your platform is a Intel x86 with AMD GPU or a AMD x86 with NVIDIA GPU, where you needed HW-near experience for development.<p>Modern OSes are a layer of abstractions, and each layer reduces the cost of implementation of software.
Don't forget that many large-company positions - HW or SW - are being filled in design centers in India, China, E.Europe and elsewhere. Yes, there is an income difference. But their economies are pumping out hundreds of thousands of engineering grads. And HW design in the U.S. is definitely seen as less glamorous.
Aside from the business cycle reasons - Being a young chip designer, I'm severely disappointed in the hardware engineering culture. It is too hard to get ideas through anyone who is over 35 years old. Everyone thinks Perl is really great and Verilog is good enough. Even though both suck.<p>Basically, the older generation has killed the industry. Much like they did to aerospace.<p>The HW engineering firms should be leveraging SW open source projects and adapt them as needed. For example, why have an in-house Perl scripting framework on top of Verilog. Use Django or something similar instead.<p>The industry is too risk averse and overall poised.