Things to note:
- About half Google's staff were technical
- There are ~80k employees?
- So assume 40k engineers
- Most engineers are ICs
- ICs are given levels from T3 (college grad) to T9 (can walk on water) with there being like a handful of Google Fellows beyond that (your Jeff Deans).
- Managers are M1s through M3s with M1s being baby managers. Most are M2s (equivalent to T6) who are managers of ICs and M3s (T7s) who are managers of managers (and higher level ICs).
- Higher level ICs (T7+) may well directly report to M2s or even directors or VPs but there's so few of those (~1%?) that they don't really change the math.
- In terms of rolled up head count you're looking at 5-20 for an M1/M2, 20-50 for an M3, 50-200 for a director, 150-1000+ for a VP.
- Directors have levels, D1 (T8) and D2 (T9). Sometimes you end up with 2 or even 3 directors within a management chain.
- The archetypal management chain is: CEO -> SVP -> VP -> Director -> M3 -> M1/M2 -> IC
So my opinion is the structure should ideally look something like this:
- M1/M2 average 10 ICs
- M3s average 5 M1/M2s
- Directors average 5 M3s
- VPs average 4 directors
with the following constraints:
- There is only 1 VP in a chain
- There is only 1 SVP in a chain
- There is only 1 director in a chain
- There are at most 2 managers in a chain
So 40K ICs need:
- 4K M1/M2s
- 800 M3s
- 160 directors
- 40 VPs
Now this "ideal" scenario obviously ignores some realities like a management structure built around products and infrastructure may not fit these numbers so neatly but then again some M1s could have 12 ICs while others have 8 and it all sort of works out.
I don't know what Google's numbers are here but I suspect it is MUCH MUCH higher than this.
Suppose we say that an organization has n employees and that everyone in a position of leadership leads m people. The result would be a m-ary tree whose height is roughly:
h = log_m ((m - 1) * n))
If we say that there are l levels of seniority before one becomes a VP, then anyone not in the bottom l levels of the tree is a VP.
h_vp = # of levels of VPs = h - l
The number of VPs would then equal the number of nodes in a complete m-ary tree of height h_vp:
n = (m^h_vp) / (m - 1)
(Forgive me if I made any mistakes in my math, it's been a long time since I took algebra.)
CEO: 1
CXO: 10
SVP: 100
VP: 1000
Director: 10000
Employees: 88889
I think line manager is a generic term for the person you explicitly report to though (e.g. the one who approves your time off), not a role in specific.
every 8 ICs + 1 manager = 9
every 8 managers = 1 director = 8 * 9 + 1 = 73
every 8 directors = 1 sr director = 8 * 73 + 1= 585
every 8 sr directors = 1 VP = 8 * 585 + 1 = 4681
every 8 VPs = 1 SVP = 8 * 4681 + 1 = 37449
every 8 SVPs = 1 EVP (c level exec) = 8 * 37449 + 1 = 299593
Clearly the problem is one of the large distribution of team sizes, rather than just "have less VPs".