- The space evolves at a slower pace than regular "software", so I'm less stressed about keeping up with the latest/greatest;
- Resources are more constrained so there are less whacky design patterns and architecture - just simple code;
- Longer development lifecycle (due to hardware), so less being rushed to ship half-assed features.
There are downsides, too:
- Less cool algorithms (and language features), more shunting around data and debugging;
- Not as well-compensated, but still pretty good;
- Hard to be 100% remote, since you often need access to hardware.
Obviously, my experience is not universal, just my sample of n=1!