Earlier quoted context omitted.
> If you can write solid C, ring 0/EL3 doesn't scare you off, or you can figure out how to cram 10 pounds of hard realtime code into a 5 pound microcontroller... yeah, you'll go far. Come out having done the minimum, knowing Python and Javascript, well... there's an awful lot of competition for most of those positions if you're just a basic coder, not skilled at using those to accomplish interesting real world tasks…
Is being "closer to business problems" really the sole reason? Or even a big reason? From the numbers I've seen, DevOps people are the best paid of all types of developers, but they aren't closer to business problems than React/Rails devs. I think it has more to do with the fact that most embedded developers are working on niche platforms and niche problem domains, so they don't enjoy the same level of job mobility a…
It's got to do with visibility. Those people more visible to the holders of the purse strings get paid more than those who aren't. The closer you are to the business side of things, the more visible you are to the profit line.
Compensation is very closely tied to how visible the role is to the company profits and/or leaders. A highly skilled DBA who ensure the most profitable application's DB is up, running and tuned is less visible than the business major who uses QlickView to send reports to the CEO. Guess who has more leverage to ask for money.
Sidenote: Skills have nothing to do with compensation. For a long time I used to feel guilty whenever I learned that I was making similar money to someone who was more skilled at my role than I was.
Now I don't feel guilty at all if I find out I'm making more than that person, and this is because I realised that the HR head, who has few relevant skills and can viably be replaced by a mollusc, makes more than I do.
I don't feel guilty making more than others anymore, because other people making more than me don't feel guilty about making more than me.