At some point an embedded designer simply makes too much money. The reality is often somewhat different, though it's awfully hard to prove this to the bean counters. Few will ever make more unless they remove themselves from the competition with newly hatched programmers. At some point, no matter how good you are, your increases will hit a limiting value. This happens sooner rather than later, and at the worst possible time in life, when you are supporting a family, have kids in expensive schools, and need the income like never before.
Lawyers take classes about billing and running their practice.
None of us, graduating from 4 years of more of a highly technical education, have a clue what to expect in the real world. My 40-something friends moan about the problem, but I wonder if perhaps wage compression isn't a good thing in disguise. It makes room for newcomers, as many older engineers change careers to manage the slope of their salary curves. The embedded industry changes at warp speed. I find myself overwhelmed with publications, application notes, and other publications that have the information I need to keep up, but that compete with other demands.