They’re not overpaid.
Petroleum engineers tend to make between $74,000–$186,000, Electrical engineers tend to make $60,000–$90,000 and computer engineers tend to make between $60,000 and $100,000 per year. ().
The average U.S. salary is around $50,000 per year, which means that engineers can expect to make 1.2 to 3.72 times the typical American, depending on the type of engineering they’re doing and how experienced they are.
Still, 1.2 to 3.72 times the average salary is still a lot, right? So the real question here should be “why are engineers paid so much, relative to the average American?”.
Answer: It’s freaking hard to become a successful engineer. You have to study years of high level math and physics, which not many people can do, and professors sometimes try to deliberately “flush” kids out of classes that they’re not really interested in (this also happens frequently in pre-med and undergraduate business courses). To achieve this, they may start you off with brutally hard intro level classes that are boring and not really necessary in an engineer’s day job, in the hopes that students who aren’t seriously dedicated will give up and just quit (I’m assuming the “flushing” process works the same as in pre-med and business here —- I have family members in those areas of study ——- apologies if this doesn’t happen as much in engineering).
But engineers are also extremely important to have in order to run many successful modern businesses. As our economy has become more tech oriented, these kinds of skills have become more and more prized. So the supply of people with engineering skills is extremely low, while the demand for those people is extremely high. Like customers at an auction fighting over tickets to a baseball game, employers/business people will “bid up” the wage that engineers receive.