Instead, people complain they are not compensated enough relative to the importance of their work, their intelligence, the hours put in, their title or the length of their education or the risk they take.
If people were paid according to the importance of their jobs, I would argue that plumbers, sewage workers and farmers should be paid higher than programmers. If it were about intelligence, most physicists I know are underpaid and programmers are generally compensated fairly. If it were about hours put in, many of the people producing our clothes should be paid better than us. If it were about titles, programming should be behind almost any other engineering field. If it were about length of education, programmers would generally rank much lower than they do because so many don't have any or much formal training. If it were about risk, in just about any other profession people have taken larger risks than a programmer joining a startup. So you "risk" only making $40,000 for a couple of years? Yeah, well, that's the calculated risk your English high school teacher knowingly took on for life when she decided to take a bachelor in arts. And yes, she could have become a developer or lawyer instead. What about the risk of work injuries faced by construction workers every day. That's real risk. Our financial risks are modest worries.
Programmers in 2016 are generally very well compensated for a low risk, indoor job with a very low barrier to entry.