A lot of people argue it’s a supply and demand issue, and to an extent, it is. However, a business can’t afford to pay an employee more money than that employee produces in value; otherwise, they’re better off not hiring that person in the first place. So how is it a programmer fresh out of college can create over $100,000 in value every year for a company like Microsoft or Google?
Software is really, really good at two things: improving efficiency and eliminating jobs.
Labor costs are one of the largest expenses businesses have. Decent-paying jobs in an “average” town in the USA will net a salary in the $40,000-$70,000/yr range depending on the region. Then take that salary and multiple it by about 140%, because a business also has to pay for things like equipment, health care, office space, etc. Your average employee probably costs a company at least $60,000/yr just to keep them employed. A 100-person company might be spending $6,000,000/yr in labor costs alone, and that doesn’t even count businesses in super expensive cities. Now imagine the cost of labor to a company like Intel who has over 100,000 employees – it’s astronomical.
Let’s say you build a piece of software you wrote can make those employees 5% more efficient, either by improving their output by 5% or by making 1 in 20 employees redundant. To a relatively small 100-person company, that software is worth $300,000 every single year. To a larger company, it’d be worth millions. And unlike machines, software costs almost nothing to make copies of, so you could even sell this software to dozens of companies for pretty much no additional cost. Because software can be so incredibly valuable, a big tech company can easily afford to throw a six figure salary at fresh college grads with confidence that they’ll make that money back and then some.
An obvious exception here: programming a video game isn’t improving someone’s efficiency for a business. However, because a programmer could be working at Microsoft instead of on the next Call of Duty, entertainment businesses are essentially competing for the same talent pool as enterprise software companies.