I've seen discussions on LinkedIn about how one gets into embedded systems engineering. Nobody seems to have a clear answer.
I've seen people get all hyped up on using small eval/dev boards like Raspberry Pi, but don't get much farther than loading a desktop or XBMC on it. There's hope in the Arduino crowd, but blinking LEDs isn't even putting the training wheels on the bike.
I spent the first few years of my career doing hard (as in deadlines not effort) real time embedded software and I think it made me a better programmer. However being able to work from a laptop anywhere I want instead of being stuck in a test lab with bus analyzers, scopes, data analyzers and bond out emulators booping all around me is a nicer lifestyle I'll have to admit.
Embedded software requires attention to detail, and a continual focus on reliability.
It seems to me that web development often involves shoving shoddy solutions out the door, and often encourages a certain cowboy mentality.
Alternatively to try and make an elegant and correct solution for browsers (my goal) is frustrating and dissapointing due to the thousands of meaningless browser bugs and standards faults, and the ugly compromises that are forced to be made... Embedded vendor toolchains and hardware bugs are a dream in comparison!
At least that is my experience coming from an embedded programming background and now five years working on deep DOM foo... Slowly poisoning my brain with browser crud. Unfortunately business reasons often lead to choosing the browser as a delivery platform regardless of its numerous downsides :'(
I've been in 20+ years as well and I kick myself a lot over not going the way of the web developer. After all, what's web programming other than finding new and interesting ways to concatenate strings? =) Sorry, embedded dev joke there.
But as I get older and the greenhorns out of college can't tell me the difference between ASLA and ROLA, it kind of gives me some reassurance that my skills will be needed and valuable for the time to come.
Sounds like a fun HN project.
I think arduino has done wonders for getting people started, but it would be great if there was a similar ecosystem for people who are further along than blinking LEDs and building something of significance.
The thing about embedded is that you're crafting a very specific hardware and firmware design for the task at hand. The project may begin with a generic setup like Arduino or Beagle or Rpi, but at the end it's a totally unique animal. There's no way any graphic or assisted design environment is going to be able to handle it all.
I'm teaching myself to build a self-driving trash can, among other things.
I don't think there is a particular shortage of jobs in embedded systems relative to demand. A degree in electrical engineering along with programming skills is highly valued in the field. The players to target is also different. Not a huge demand for embedded engineers at say Facebook, but lots of demand for them at Raytheon or Juniper. Telecoms, wireless, defense, and aerospace hire up a lot of embedded software developers.