I think this is a quite common story, or at least I've heard it a few times now so it feels that way:
(1) Senior, important developer decides they want to change locations.
(2) Boss can't afford to lose them.
(3) So boss let's them work from wherever they want.
This of course leads to natural correlation between working remote and skill, which would further correlate to earnings.
Replacing a good software developers is non-trivial.
That said, to quote from the analysis:
Even once I control for various observable factors (including age, experience, hours worked, size of employer, programming languages, and more), fully-remote software developers earn 9.4% more than developers who never or only rarely work remotely.
I guess the problem is that the analysis can't find a variable for "is critical". I know lots of people with age, experience, hours worked, etc, that are not critical. I can think of a few that are exactly the opposite of critical.
The only decent variable to measure whether someone is critical is their salary. But your anlaysis makes it sound as though [remote -> high salary], when really [high salary -> critical] and [remote -> critical].
I'd go so far as to say that critical and valuable are not necessarily the same thing. I'd like to think I'm valuable; I go out of my way to not be critical. Intentional knowledge shares, documentation, mentoring, etc, plus focusing on writing systems that are fault tolerant, means that I could leave and it -should- be a minor hiccup. Heck, almost an entire team left along with me at one point in my career, and the projects we left behind just...kept working, no issues. Doubt that company is actually looking to figure them out so they can extend/support them should something need changing, but that's on them.
If I stayed at companies that fall under #2, I'd be eternally miserable.
I hate working with people who cannot be fired because the company would fold.
We, developers, should be the people who the bosses actively want to be there... not "we can't fire him". It makes people less complacent towards other people.
I would say every company that has been around the block for a long time falls somewhat under #2.
Some companies have millions and millions of LoC to run their business and it takes months for someone to wrap their head around some of the systems and be productive...
You end up having people in departments that you would rather not lose and will go through great lengths to keep them because the cost of losing the institutional knowledge is just too big.
The hazard there is that a new boss may come in and either not see this person as critical and let him/her go or see this person as critical and go to the effort to find an equivalently senior onsite person to replace him.
I think this is a quite common story, or at least I've heard it a few times now so it feels that way:
(1) Senior, important developer decides they want to change locations.
(2) Boss can't afford to lose them.
(3) So boss let's them work from wherever they want.
This of course leads to natural correlation between working remote and skill, which would further correlate to earnings.
Replacing a good software developers is non-trivial.
That said, to quote from the analysis: Even once I control for various observable factors (including age, experience, hours worked, size of employer, programming languages, and more), fully-remote software developers earn 9.4% more than developers who never or only rarely work remotely.