The stressful period for most doctors is getting into medical school, getting through medical school, and getting into and through internships and residencies. That is roughly 10 years or so, and during that time it is absolutely at the pace and pressure I see in software development..but once they finish, for most of them, it is pretty smooth sailing. Those at the top of the game are a different story, but that's true anywhere.
The real difference is that doctors have a powerful lobby that artificially limits their numbers, essentially providing a benefit similar to unionization. You can't massively up the numbers of doctors being trained in the U.S., and you can't import massive numbers of foreign workers to increase supply. No matter how many capable people there are, the numbers will remain artificially constrained.
Software development doesn't have this protection. The only lobby in software development is regularly pushing for massive increases in supply through various channels. Doctors' salaries have continued to rise year after year..not so sure software development salaries will fare as well in the coming years..especially after we convince software devs they are already overpaid ;)
- Many doctors earn 100k or 3-400k depending on their field.
- Many small business owners earn <100k or make a killing, depending on their field, goals, and success/luck.
- 9 out of 10 startups outright fail or aren't successful enough to compensate founders & employees for the opportunity cost.
The log-normal also applies somewhat for lawyers. The partners of big firms make millions annually.
As long as we're getting into nuance, I should add that the two-peak distribution is most clear for lawyer starting salary, not long-time professional. You either go top firm or not.
There are strong network effects in many digital markets. In these cases, given enough time, it leads to a monopolist employer in that market. Even in cases where there are a few firms competing (e.g. Google and Apple), they have incentive to form a cartel through 'agreements' on hiring practices (and there have been documented instances of this). The natural way for software developers to avoid being exploited, in either scenario, is to form a labour monopsony...
Well, the real nuance is that the AMA is not so much a union as a guild. It's not _legal_ to perform medical services without an AMA-blessed licence to practice.
If one could concoct a scheme by which it would be illegal to perform "unlicenced" software engineering work, I suppose there would be the same effect.
You'd need a common sense of injustice. It's a lot easier to do this for, say, graduate students who really are underpaid.
--When I got my first job as a software engineer, my dad, who's a civil engineer PE said, "I thought you were going to be an engineer, but it sounds like you're just a computer programmer." :-)
Coders? Never.
Interview for medical job: Normal
Coders?: Often humiliating
And no we aren't all coding in Cobol or Fortran 4.
I do agree though that it would be difficult for most of us to get new jobs in another company as developers because of the age-ist behaviour of many of our younger colleagues.
I guess your 22 year old founder of a trendy Bay Area startup would have a problem hiring a 60 year old but that's both silly and illegal. I'm not sure trendy Bay Area startups attract the 60+ crowd anyway.
Anecdotally, three very different examples:
my mother (71) stopped coding in 1969
Guido van Rossum (60) is still coding
Darryl Havens (61) is Distinguished Engineer at Amazon - not per se a coding role, but definitely an engineering role
Personally, I feel like I sold my teenage years as a price for my edge in tech. I'm not always sure it was worth it.
Yes, this. That's how I got here, too. And have the same ruminations from time to time.
Short of becoming a professional sportsman, which was never on the table for me, I don't see anything that I could have now if I had acted differently.
It's all about ratios, of course. If the owners/management of a company are grossly overpaid in comparison to the workers who produce - especially if physical overhead is nearly eliminated - then yes, developers are indeed underpaid. And I would posit this is true in many areas of software development. Perhaps not your situation, but overall? I buy it.
I have not had the sense at my own jobs that the upper management was overcompensated. I can't prove this of course as I didn't and don't have access to the company's financial statements and bank accounts, but the norm has seemed to be to reinvest profits in the company in order to remain competitive. It's worth pointing out that I've only (so far) worked at companies that have been self-sustained, not requiring any VC funding. My impression is that many bootstrapped software companies are not actually making that much money; revenue figures in the $10M-$20M range are not uncommon. This money is easily spent on a staff of 50+, office space, etc.
Now let's assume it was a $10 million a year business. That means it's now making $11.5 million dollars a year because a software engineer optimized the loading time. That engineer probably makes $100k or so, and he might get a 10% raise since he did such a good job. The remaining $1.49 million gets distributed amongst execs and investors.
Hardly seems fair, when most executives have no idea what's going on, and provide zero value add for that case.
If you think most executives have no idea what is going on and add zero value then I am guessing you haven't spent much time around executives. The whole reason your typical developer got their job and is able to keep it in the first place is because executives figured out how to run the business well enough to grow and continue to hire developers and then allocate them to projects where they can increase revenue. If you think it's easy I recommend you give it a try sometimes.
However, from my empirical observation of many executives, there are two broad groups.
The ones you described, those that are worth their salt and have carved out their position through helping the business.
Then there is a large group of executives who exist mainly because similar companies have similar structures and they have expectations of roles for say CFO , COO. Then there are roles required by the industry or market: Head of Compliance, Head of Risk, Head of Auditing.
Those executives have not earned their place, they are appointments by pattern matching corporate structures
The issue in this example is ownership. Executives add value and they are granted large ownership stakes in the business. Workers are not. You use the example of the executive who figures out how to grow the business to prove that he is entitled to appropriate some of the other employees' added value -- since otherwise that value wouldn't exist in the first place. But our developer can't take his yearly salary out of the 15% increased revenue he enabled back in 2012, on top of compensation for whatever value he creates this year.
In any event, the example is very contrived. $10M in sales is as arbitrary as 20% profit margins. Margins could be any amount less or a great deal more. Revenues could be sky high or non-existent. You might expect to find a developer making $100k regardless.
Compensation is set by the market: what is the next person who can do this same job willing to be paid?
If we go out into the market to find all the people that can decrease page loading time by 50% and have them bid against each other, we will probably end up paying the lowest bidder who is capable of the job about the median salary of the profession.
And another point on >the remaining $1.49 million gets distributed amongst execs and investors. People who own equity in the company have legal claim on the cash flows of the business. They balance free cash flows with reinvested capital (assets,, SGA) to sustain free cash flows into the future.
Of course, our market is far from rational, etc, etc.
FWIW, I don't think that software developers are overpaid, at all. It's a difficult career, requiring years of intense study to do well. Sure, maybe not as much as Doctors, at least not formally, but a lot of that has to do with the structure of medical education in the United States (in particular, the requirement to complete an undergrad degree prior to admission to medical school). The job of a surgeon is certainly more difficult than the average software developer, but compared to a SRE at Google, say, who is working with real, "living" distributed systems that interact in complex ways, I would say they are comparable. If anything, I'd expect, in a rational market, for the SRE to be paid more, because their services are providing for millions or billions of customers, while the surgeon is only providing for one at a time (and maybe a few thousand over their carrer).
If I introduce a bug it will hurt revenue in some way, possibly affecting the company's operations. If most doctors mishandle a patient it could have significant, immediate effect on that person's life.
I deal with the responsibility weighing on me, but they've had to get used to dealing with a much heavier responsibility.
Think of Amazon, Walmart, or any firm with significant COGS [cost of goods sold]. It's clear that they can't hire employees inline with marginal revenue.
And what if the companies were to bid on the employee? That would likely drive wages higher and compensate for the natural information asymmetry in the tech labor market.
Additionally, I don't really agree with this underlying notion that you're entitled to 100% of the extra revenue generated by the speed increase. Imagine how bizarre it would be if you actually applied this thinking consistently over the lifetime of the company to every employee. This approach spectacularly and disproportionately over-rewards people who join the company later, as it becomes increasingly easy to create large increases in revenue because on absolute terms a 1% increase keeps getting bigger and bigger. This would lead to a complete inversion of risk, where it would be more profitable to never take risk and only take stable jobs at long-running companies that have already developed a large market share. I'm not convinced this is a sensible distribution of income to employees.
A lot of it also goes to essential business expenses: HR, legal, the AWS bill, the new feature that's currently losing money but will pay off in the long term.
And the person who made the $1.5mm code fix didn't do it on their own. They wouldn't have been able to improve the code if somebody else hadn't already written the first version. And neither of them would have been able to get their code into production if somebody hadn't set up the build and release process for the company. And they never would have been in the position to make the $1.5mm fix if their manager hadn't identified the need for an additional engineer on the team and recruited them. And the company wouldn't exist if the founder hadn't had the idea in the first place. And the company would have blown up last year if the lawyers hadn't made sure the company was protected from a frivolous lawsuit. Et cetera, et cetera.
(As text is a poor medium to communicate tone, I'm positing that it's not nearly as easy as it seems, therefore nor are the profits for the successful as undeserved as they seem.)
The founder controls the legal business entity and contributes capital assets and real or intellectual property. The financier purchases ownership directly. This is why they "deserve" to appropriate the value created by the company in perpetuity.
The founder may have done a lot of hard work in creating that intellectual property (including brand) in the first place, but it is the legal ownership of it that he trades for ownership in the company, not his hard work. In other instances it's possible to simply purchase IP or brand outright in the formation of a business. The commonality in these cases is legal ownership and the trade of capital assets, not hard work, whether their job is one I could not do personally, etc.
The argument about the "risk-tasking investors" rightfully owning the work of the "risk-free employees" is an appeal to fairness (the investors could lose their investment while the employees still gain their salaries), so by the way it does seem that you are interested in that.
Early efforts in organizing the company and navigating difficult waters are work and those employees should be compensated with ownership. I don't think that subsequent work by subsequent employees should not be compensated in this same way. Mark Zuckerberg and half a dozen friends created a company valued at $98M by Accel in 2005 and enjoyed ownership of that. Today he and 15,000 others create a company valued at $360 billion, of which he enjoys 25% ownership while the combined ownership of the rest is miniscule.
Founders and early employees contribute work and are hopefully rewarded for that work with ownership stakes in the company. Rightly so. But as the company grows, and to the degree that it necessarily hires additional employees, the proportion of ownership held by these early employees becomes undeserved (in the simple above sense of the word). Their large ownership positions remain, even as it becomes clearer and clearer that the value of the company is created by its hundreds/tens of thousands of employees.
So if you start a business and make a profit (a hard thing to do!), that is not undeserved. But if business grows and eventually the value is created by 15,000 people all together, you don't deserve 25% of it.
There's a genuine argument that the investors and risk-takers "created" a portion of the wealth by virtue of bankrolling and hiring those 15K employees and paying them a risk-free salary.
I'm not especially interested in whether or not it's cosmically fair when deciding whether or not it's deserved. Warren Buffett "deserves" every bit of Berkshire Hathaway that he owns; Bill Gates every bit of Microsoft, Mark Z every bit of Facebook, etc. (Again, all in my opinion. I'm sure there are others who disagree, but even among them probably differ on how [or whether] to correct the "undeserved" ownership.)
Also, why shouldn't the investors get their cut? They were forking over their money to pay you before a line of your code ever hit production; going by your math, developers should be paid on contigency of the code they write getting into production, and penalised if there's a regression.
You're overvaluing the engineer in your argument; they were only one piece that enabled that extra value.
That money covered the bonuses of just 2 executives, I think I might have got a 2 or 3% raise myself that year...
But many many software engineers do. Many of us go to uni and study a traditional degree and therefore, have a lot of loans etc as well as spend 3 to 4 years in University.
Also, learning for a software engineer is pretty much forever since the moment you stop learning is your downfall in software development.
I know people many people who learnt to code in their own time for ~6 months and landed a decent first job. Over the next couple of years they learnt a lot more and now have great jobs earning within 20% of what a doctor usually earns however they don't have the debt and saved a few years of their lives as well.
Not saying everyone can do this and become a software developer but it is very possible. I don't have a degree, I had to leave school at 16 (I am now 32) and worked in a shop to get by. I self-taught and now I earn a few £ under £100k making software. I have a super comfy life. I have zero debt (well a mortgage but no other debt), a nice house, family, a fair amount in savings, etc. Honestly I couldn't ask for more especially considering the rather small investment I put into getting this lifestyle.
If anything there is an argument that labor in the overall economy is undervalued, and it is destabilizing the long term strength of the economy.
A side note: when you said "I didn't have to pass a single licensing exam" I immediately thought of the way our profession tends to have that kind of exam every time we interview each other. A big part of interview for a software developer is based on the exam-type material; this is very different from the way other professionals, even engineers, have their interviews. (Does not contradict your message, just a note.)
For less used software this might not seem like a big deal, but targeted software can have a larger indicidual impact even if it's only making 50+ people redundant.
Hardly ever you'll find anybody saying that earns too much or works too little. Be humble and enjoy.
"Maybe I feel differently about this because I'm not in a major tech hub"
Read: "I can afford to live in a comfortable place and not a closet, so let me generalize such that no dev can afford to live in historically relevant software hubs either."
Next, lest this selfish hot take get too tonedeaf, time to write off our 6 figure privilege! Since this is a recent accomplishment, let's ditch any sort of humility toward the the talented software minds who came before who made the efficiencies of our day jobs possible. Instead, we'll roll with some terrible analogies to completely non-sequitur professional industries!
• I'm not performing life-altering surgery, because emotional hyperbolic appeals will distract from the fact I base my insight into the most valuable industry in the world on 7 paragraphs of anecdotes. Forget that the fundamentals of medicine and the practice thereof bear almost no relation to that of computer science and software development.
• Wheee! I love talking about dentists with mansions. I got my teeth cleaned last Saturday, and I've never had to be on call for any sort of systems admin role. Speaking of things I've never had to do, thank god I come from an ever increasing minority of people who can afford to live a comfortable lifestyle without taking on student loan debt early in life.
• I don't need a graduate degree to get precious time in a lab with equipment I absolutely must have to do my job. Unclear if I've ever met anyone who's tried to further themselves with a IT licensure, but since those aren't in vogue any more, I'll just make dreamy comparisons to one of the most antiquated, regulated industries out there. I've worked less, but people I know are stuck in debt forever working 80+ hour weeks in BigLaw!
Despite the option of a meaningful career alternative to the above, developers shouldn't try to build on their gains. Let's just foreclose even the notion that there are people working out there who are underpaid because they don't have coworker peers, or they are just the "IT guy", or are a woman or minority, or because some doctor, dentist, or lawyer has an idea.
"My lifetime earnings won't be that different because I got such a tremendous head start" ...so why should I try to build others up?
In these kind of discussions, I often point out how software is pretty unique in that due to supply/demand, there's no labor unions or collective bargaining. But maybe it's a good thing, because I'd never want you speaking for me when it comes to how much any of us are being paid.
I'm not the highest paid person I know, of course. My low six-figure income can't compete with $300k+ salaries that many surgeons get. I couldn't afford the $1.2M Mediterranean mansion that my dentist lives in. And I'll never get the sort of pay package that big law firm partners can command.
But I'm not performing life-altering surgery. I didn't even have to go to medical school, let alone complete a residency.
I didn't have to start up my own dental practice. And I'm not in my hypothetical dental practice every Saturday morning at 8AM taking care of patients who couldn't make it during the week or couldn't afford to take off work.
I never had to go to law school. I didn't have to pass a single licensing exam. I took out no loans to get to where I am. And I was never worked 80+ hours a week as a young associate.
I worked less than these people to get to where I am, and I continue to work less than them. My work is easier than theirs too. It's less stressful. Even if a problem does consume me for days, including outside of work, it's just not that big of a deal. I started making this income when these other folks were doing nothing but accruing debt. My lifetime earnings won't be all that different from theirs because I got such a tremendous head start.
If I look at friends who are not in any of the above three professions, not a single person comes to mind who makes as much money as I do. Many make half as much as I do but have much more stressful jobs, fewer perks, etc.
And yet apparently I'm underpaid. I don't buy it.