Past two companies hired me specifically for UAV projects, so my professional experience has been in this field- however, it is so wide, that you can easily branch out:
* design one-off test hardware for various bench/field tests where an off the shelf solution doesn't fit (custom thrust stand, spring constant measurement jig to determine properties of vibration isolation solutions, simple blackbody for QA to determine if the LWIR payload meets specifications)
* like physics/control systems? Lot of work on tuning PID controllers, implementing simulators for pure SWEs to not crash your expensive prototypes
* hmm, it looks like we have excessive vibrations on the frame- whip up a small battery powered, WiFi enabled high-frequency accelerometer logger to dig deeper into it.I always assumed it was the other way around (experienced full time engineer becomes a specialized contractor).
You probably won't convince a professional widget manufacturer that you're __the__ person for their embedded needs. But a smaller company, that's dipping their toes into branching out from their core business who need to prototype their idea? A lot easier.
I went straight to embedded after grad school. I enjoy it well enough, more than I think I'd enjoy pure software/web stuff. But at the end of the day it's a job not a passion. If I won the lottery I think I'd be perfectly happy never touching it again. I wonder if I should have gone the software route and taken a job I might even actively dislike for 1.5-2x the the money and remote work which would put more time and money into the rest of my life.
If you still want to go down that path look into embedded Linux for IOT type applications. My product has both microcontroller firmware and a Linux SBC. Hiring for the Linux side is difficult, currently we farm it out to a good but not great team overseas. If you have solid Linux skills, a good handle on build systems, and the ability to bring up modern software best practices in testing and deployment from scratch (most embedded shops are way behind the curve here) you'll be seen as a rockstar. Can probably command a higher salary than the average firmware dev since you're "software" but still a hit compared to FAANG/Unicorn web programming.
I still love embedded, and I think it's great for all the reasons mentioned in the thread. As for your question, firmware is quite broad, and there are lots of different routes people take to break into it as a career. At its core, it's a lot of writing systems code, or feature code that runs on constrained systems. Something like CS undergrad systems programming + OS or equivalent should be enough.
After that, I would make sure you have decent breadth: knowing how to read datasheets, bringing up parts, writing a linker script, using peripherals, grokking some standard protocols like I2C/SPI/SDIO, basic circuits knowledge, basic comparch knowledge, etc. The nice part of all this stuff is that you can totally get there with just hobby projects and Adafruit boards. If you find yourself using the batteries included in the Arduino or Adafruit libraries, maybe push yourself to write more of it from scratch. eg. write an SDIO driver to read from an SD card and parse a FAT filesystem.
People with solid software engineering backgrounds are pretty valuable in embedded, so I'd emphasize that as well. Knowing that git exists, unit tests, API design, CI tooling, etc. If you're a Linux kernel hacker, embedded linux is also kind of its own separate world, so that might be a good direction if you have experience there.
It pays very little, there's very few opportunities to move around, you need to have relatively good practical electrical/electronic skills and the technical skills you do get don't contribute at all if you're trying to bootstrap side-projects.