Recently, I saw some heated arguments about the optimal ratio of senior to junior developers on teams. There was much mashing of teeth about how companies are hurting themselves by having many seniors and few, if any, junior developers. Long threads about proper ratios, code complexity, code quality, and management oversight followed.
That’s all nice in theory, but the reason is that Senior Developers are overrepresented on development teams, is that they are *relatively* cheap compared to junior developers.
Let’s look at some numbers from glassdoor.com:
- Junior Java Developer – $75,697/year
- Java Developer – $88,116/year
- Senior Java Developer – $106,542
- Principal Java Developer – $131,235/year
A senior developer costs about $31,000/year more than a junior developer, implying that a senior developer is 41% more productive and useful than a junior developer (or that a junior is 71% as effective as a senior developer).
We are taking a very generic view of things, but if you expect a senior developer to be twice as effective and productive as a junior developer, then the value of a senior developer would be 2x a junior, or $154,000/year.
Relative to junior developers, the average senior developer is 30% cheaper.
My personal experience in Chicago looks even worse, with 1x junior devs getting paid around $100,000/year and 5x seniors getting paid $175,000. This is effectively a 65% discount over junior devs.
As a result of these huge discounts companies do the logical thing and only hire junior devs when they can’t hire enough senior devs. The economically optimal number of junior developers on a team is always 0.
But wait you say, what about non-salary costs? Does that have an impact?
Yes, but it makes the relative value of seniors worse:
- The average employee receives about $30,000 in non-salary benefits (mostly healthcare). Hiring 2 juniors instead of 1 senior costs an extra $30,000/year
- Managers can only manage so many people, adding more juniors means adding more managers, scrum masters, and other process people.
Why senior developers are relatively cheap is a good question, but not one I feel qualified to answer.