Compared to Other Skilled Work - Engineers are Dramatically Underpaid
Tech makes way more per employee but pays way less
I know this may be shocking to hear, but if you look at statistics and statistics alone, engineers are dramatically underpaid compared to similarly skilled work in finance, consulting, etc.. It’s first very important to remember most engineers do not get those extremely rare FAANG pay packages you hear about in the $400k+ range. According to Indeed, the average software engineer makes about $114,000, and that’s across the spectrum of age and experience. Finance and consulting pay significantly more despite requiring a vastly lower amount of hard skills. Note I say hard skills because of course finance and consulting are skilled work, they are just more people skills and office software.
I myself have been the sole engineer on a project that generated $56 million in revenue. I was paid…not much. So when I asked for a raise, I was denied so many times until I left the company and they actually lost that revenue source since they could not maintain it without me. That’s how far software companies are willing to go not to pay employees.
It really baffles me but I finally came to a conclusion. If a VP at a Bank landed a deal that generated $56 million in revenue, you can rest assured they would be given a huge bonus. Engineers are NEVER given such things, despite frequently directly contributing similarly. I think I’ve figured out why.
See, managers at banks view that revenue as being generated by that person. They see the work they did and view that person as responsible. Conversely, managers/CEOs at companies see the software as generating the revenue…not the person who wrote it, no matter how much they are directly responsible for it. For some reason, they cannot make that leap.
So let’s get to the statistics. Let’s look at how much revenue is generated per employee at some large financial corporations:
Bank of America - $417,952
JPMorgan Chase - $403,485
Credit Suisse - $432,640
UBS - $498,720
Now, we all know these companies pay very well. Let’s look at UBS. According to Glassdoor, an investment banking analyst, the lowest employee on the totem pole, makes between $132K - $216K. You can make that right out of college. Associates make $146K - $246K. While an MD makes $427K - $785K.
So we can all agree UBS pays well.
Now let’s look at how much revenue is generated per employee at tech companies:
Facebook - $1,928,831
Google - $1,457,056
Twitter - $681,914
I can tell you from over a decade of experience, revenue per employee in tech is absurdly high, especially revenue per engineer.
Admittedly, Facebook and the like pay more for their engineers but at Facebook it’s $157K - $260K for a standard engineer. So about the same as a VP at an investment bank.
Yet using the employee to revenue ratio…you can clearly see Facebook is making significantly more per employee, but not paying them more. (And yes, I realize banks have many more low level employees so this isn’t an exact statistic but I highly doubt it makes up for the entire difference).
I unfortunately cannot find the articles with the figures but if you look at the percentages of revenue spent on employees in finance vs tech, it’s wildly different. Finance spends a vast majority of its revenue on employees while employers like Google actually spend a fraction of that and have massively larger profit margins.
So as to say, finance rewards their employees while tech companies do not.
Startups are far worse as of course as salaries are low but even those with strong cash flow invest it back into their growth, not on rewarding employees like banks do.
And guess what? While both are high, banking has a turnover rate of 18.6% while software engineering is an astonishing 57.3%!
As an engineer who hopped between many jobs to get raises, I can tell you the direct reason for this is engineers never get raises or bonuses and to move our compensation ahead, we have to change jobs.
It seems asinine to me that tech companies would not look at that turnover rate and consider paying their employees more, especially when hiring a new developer costs $28,548 to $35,685 on average.
So, to summarize, finance invests in their employees while tech makes significantly more money off them and ignores even trying to retain talent.
To me, this seems incomprehensibly stupid. Tech could learn a few things from other highly skilled industries.
If the average salary of new recruits is about 30,000, then the company is more willing to hire new people than raise salaries, perhaps because engineers are easy to replace
I don't think your conclusion should be quite that lop-sided. If you're talking about FAANG-like companies then they direct their engineers to create infrastructure which makes any one engineer not indispensable. Whereas infrastructure at many big finance firms is laughably bad (worked in one for 13 years and heard horror stories at others) so any key personnel leaving can cause disruptions. And of course such firms have star traders/salespeople so retaining personnel is not all about tech either.
As for non-FAANG-like tech companies, though you'd think they ought to build solid tech infrastructure too, I think it's simply that they don't have the scale to make the revenue/compensation math work like the FAANG-like companies do.