That was my impression of one of the major problems when I worked there 2008-2011. But I don't think it's just one problem.
That was my impression of one of the major problems when I worked there 2008-2011. But I don't think it's just one problem.
Besides, because it's an older company, it might have more organizational entropy, i.e. dysfunctional middle-management. As you say it's probably several other causes too. But still, hard to understand how they can create F#, F*, and Dafny, just to name a few, and fail with their mainstream products.
I think a few years after I left when more Big Tech opened offices in Seattle, competing companies started paying Bay Area salaries for Seattle living, removing this argument. I haven't watched this closely in recent years.
But fwiw, I was able to save and invest a lot in my Seattle days, despite a salary that was lower than in the bay.
Amazon also isn't a restaurant, and while they do sort of sell groceries through Whole Foods and Amazon Fresh, those are again priced locally.
Basically the housing price difference can mean buying a nice house close to your job vs renting a room in a share-apartment.
Best of both worlds is to save in a high-cost area then move to a cheaper area.
All different business units.
I don't know. I know there are a lot of people who want to work on the OS source code, given the chance, but need some hand holding in the beginning. Companies in general are not willing to give them the chance, because they don't want to hand hold them.
It is my opinion that developer ability is on a Pareto distribution, like the 80 20 rule when 80% of the work is done by 20% of the people. The job market is more liquid for those that are extremely productive so it’s pretty easy to for them to get a pay rise of 30% by switching companies. In the worst case you can often come back with a promotion because, like many companies, Microsoft is more likely to promote you when trying to poach you back. Doing a 2 year stint at Amazon was quite common. The other problem is that when your best people leave is that the process is iterative, not only are you getting paid less but you are now working with people who couldn’t easily switch jobs. You start being surrounded by incompetence. Stack ranking, which I hear is still being done unofficially, also means that you put your promotion and career in danger by joining a highly productive team. So it is rather difficult to get highly productive people to work on the same team.
Being paid less, being surrounded by incompetence, and being forced to engage in constant high stakes politicking really sucks.
Otherwise as you said the only way is to offer the best compensation so that people don't leave. But again those people probably would leave for different reasons (culture e.g.).
Also compensation is a sign of respect and influences motivation. If you position yourself lower in the market, there is no reason to deliver top results for less money, correct? This attracts mediocrity, especially in management, and slowly kills companies. Usually there is no way back, no large company can replace the entire management and once and the mediocre ones will reject new, better ones.
But the actual issue is that if you underpay people they will not feel respected and valued so they will either not be motivated or leave. So you cannot pay below market, but you do not need to pay FB salaries either.
And the fact that it's impossible to poach people from companies offering a higher salary than you do. Unless you give them something more, like better conditions, or "mission", or the idea to work on something cool, but I don't think any of those apply to Microsoft.
I thought about this a lot while working at a high-growth company recently.
Decided that regular (quarterly) manager rankings (HR-supported, anonymous) by 2-3 levels of subordinates is the only way to solve this at scale.
The central problem is: assuming a CEO accidentally promoted a bad middle manager, then how do they ever find out?
Most companies (top-down rankings-only) use project success as their primary manager performance signal.
Unfortunately, this has 3 problems: (1) project success doesn't prove a manager isn't bad, (2) above-managers only hear from managers, and (3) it incentivizes managers to hack project success metrics / definitions.
Adding a servant/leader skip-level metric is a critical piece of information on "On, this person is toxic and everyone thinks poorly of them, despite the fact that they say everyone loves them."
Certainly, few companies have managed to avoid this trap. It's largely an unsolved problem.
I've often met managers and execs two levels above me that had a completely delusional view of what was going on below them due to lies spread by middle-management.
Corporate dysfunction made more sense to me when I realized higher execs, because of span of control, are too busy to dig into any issue themselves.
Consequently, it's trivial in most orgs for the only information path to be through managers.
Also why I think more effective execs tend to have parallel investigation resources. E.g. their do-anything assistant who they task with fact finding
Just go watch a few recordings on their YouTube channel.