These days I work on some systems for autonomous agriculture, which is mostly in Rust, and again Linux on ARM SBC type work.
Really, I wouldn't say I'm an expert in embeddedd; I'm no EE, and while I've played with board layout I'd never trust me to build hardware :-) And I've never been the person doing initial board bring-up, though that could be fun. So, again, generalist with a lower-level systems interest/focus.
Anyways the transition happened roughly on that path. With a zig-zag over to database internals for a bit which was also very cool. FWIW I've been a software developer in some form for about 25 years now. Maybe more depending on how you define it.
I'd say embedded is a bit of a trap and a mixed bag career wise though. Others here have made this observation before: EEs are in my opinion underpaid, and work adjacent to EE suffers from the same problem. It's a bit like gamedev, people like to do the work which I think increases competition for jobs? Something like that.
(That said I'm happy with my compensation right now)
(Also even the ads side at Google was a bit systems-y; realtime bidding, low latency, all in C++, a bit of mixture of high and low-level.)
And only because the job selection -- especially locally, (and remote is getting harder to find) -- is far far better. Even if the type of work isn't usually as interesting. 9/10 of the jobs out there are some variant of this.