This is fairly consistent with my experiences working at Amazon (a software company) and Intel (a hardware company.)
At the Software Company, there are lots of people who share your skills, and you have to do something pretty magical to stand out. But most people “just get it” and you can rely on them to deliver results.
At the Hardware Company, people don’t at all “just get it,” and you might be the only one who can deliver a certain set of results. There is a need — and indeed it can be seen as an opportunity — to drive best practices and train others on basic processes. You can do trivial things with software, and peoples’ jaws will drop. But at the end of the day, your work is parenthetical; a dangling accessory dragged behind a Hardware Engineering program.
As an entry-level engineer, working at a non-software company will stifle your progress. As a seasoned engineer, working at a non-software company may frustrate you. In either case, there is trade off in growth opportunity. At the software company, you perfect your craft. At the hardware company you become a spokesperson, and develop a leadership style.