I think that it's cause and effect issue. Developers who've proven themselves to be reliable and experienced can 'force' their preferences onto employers. And they happen to cost more as well. I don't believe that going remote magically makes you able command higher salary.
In a world where remote is an option, there really shouldn't be large differences in salary. In negotiations, the party who can most afford to walk away has the advantage. If there were a real dev shortage, devs would be in that position, but they aren't.
SV (and other markets) basically refuse to hire remote (and often refuse to relocate employees). This splits the market up into mini-markets where the slight oversaturation of devs allows the local market to dictate prices (under-saturation would boost salaries even in a small market). This is born out with the fact that those who do work remotely seem to have higher salaries for a given experience level (their market is much bigger and more diverse).
The obvious answer is unions. Joint negotiations would yield immediate effects. No large company could survive even a day or two of IT strikes without extreme losses. Unlike other jobs, you can't simply replace your staff because most of a company's software IP is held in the heads of its employees and is far too complex to decypher before the losses occur.
> Our latest survey shows that full-time remote devs get paid 40% more than never remote devs
Anecdotally, I would suggest the demographic of employees who work remotely plays a part in this. In my experience, employers are more willing to let senior or "better" developers work remotely than less ambitious, less productive ones who need more day-to-day managing. Since quality developers (senior or otherwise) are generally paid more, I would presume this contributes to a higher average salary for remote workers.
> 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 wouldn't get too attached to any theories of causality or why, but as an experienced remote worker, I'll speculate, FWIW:
* Generally (not always, just generally), employers tend to be hesitant and uncomfortable with remote workers. So the people that get and keep those arrangements tend to be those that have proven to be more trusted, capable, and indispensable. (Which all help with higher pay too, of course.)
This, BTW, describes my anecdotal experience at my company. Over the years we've collected a decent sized group of people who work remotely, even though the company doesn't generally allow it. The specifics of various cases have been different, but generally something happens that would force the issue (often an office move -- don't know why we need to do that so much), and some people either need to leave the company or work remotely. In those cases, accommodations were usually eventually made for people seen as indispensable while others were let go (in one way or another). This is across various management regimes. One time there was a hard-line stance, "move or be laid off". There was a months long game of chicken, but in the end it was the management that was replaced. (Not necessarily for that -- they made various counter-productive decisions.)
* I think another reason for the higher pay may be that (IMO) you really do need to be a better communicator as a remote employee. I think most people working remotely become significantly better communicators, over time, and that translates to more senior positions and pay.
I personally find it strange how gleeful lots of US developers have been about remote work. It means our US salaries are going to be untenable and we'll be paid like the rest of the world. Why pay a Silicon Valley salary when it's remote anyway and 1/4 the price to get someone from elsewhere?
As the devils advocate: Why not? The competition for that employee is largely local offers, remote is a small part of the overall market. Plus many other companies hiring for remote do local adjustments too, they just aren't public about it.
This all sounds weird for me to say because I certainly want devs to get paid, but this is the reality of the situation
The premise is that an excellent developer can command a high price, whether remote or not. Some developers place a premium in remote friendliness, and thus allow a slightly lower salary for it, but only up to some amount.
You can't really remove the selection effect of higher paid developers choosing to be remote by adding external controls. You could try using an instrument for remote work or use a Simultaneous Equation Model to remove the selection effect bias.
Counter to your analysis, I'd actually expect the pay premium for remote work would be negative simply because the opportunity to work remote is worth paying for.
According to most employers I've talked to, cheaper salaries is usually not high on the reasons why remote. It's usually more access to more talents, etc.
In the short term, with tons of well-funded or high-revenue companies struggling to hire, remote is a way to make your existing comp more attractive by opening it up to a new set of people and out-bidding their local employers.
In the long term salaries will likely equalize a bit, but maybe not that much. Even in today's tech hubs, the existing range of salaries is VERY wide. Not every dev in SF is making 300k+, and yet the FANG companies have been in an increasing comp arms race for several years.
Agreed, which is why I didn't say,"working remote causes developers to earn 22% more", only that developers who work remote earn 22% more, which is an interesting fact in itself.
Early in the article I adjust this for various controls to better get at causality. This includes observable factors like age, years of experience, hours worked, size of employer, programming languages used, etc.
As I note in the article:
>Much of the apparent premium earned by remote developers is in fact driven by seniority and tenure. These are older, more experienced developers who either prefer to work remote or whose organizations grant them that privilege.
However, controlling for manually selected factors doesn't imply causality, so I use principled covariate selection to select the best set of controls and get closer to something that could be called causal. You can read more about this method, called Double Lasso Selection, in Urminsky, Hansen, and Chernozhukov [0].
This results in an adjusted pay premium of 9.4% for remote developers relative to those that never work remote. Hard to know for sure if this is causal either, but it's likely much closer to whatever the true causal impact is. Unsurprisingly, it's a lower number.
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.
That's not really true. As a remote developer, my employer is evaluating me against all other remote developers and their compensation. I'm evaluating my employer against all other employers offering remote positions.
Sure, the employer has more power in that negotiation, but it's not like there aren't others out there.
Sure, to some extent. However you have to remember the following points:
- Not all employers want remotely based staff
- If the wages are significantly better than local jobs, the developers may compete with each other by offering lower wages
- It may be harder to find remote staff than local staff
- While it's easy to say "pay him more and he'll move to us", it's worth remembering that workers in any industry don't always chose jobs based on salary alone.
- If companies continue raising salaries to poach staff, what happens when the cost becomes equal to that of local workers? They chose local workers. So while the salary may not be as low as it might be, it won't reach the same levels as local staff.
Right. Both sides of this debate have been disingenuous.
The remote-or-bust crowd always seems to assume salaries would stay the same. Most, not all, but most software development jobs don't require specialty skills. If the job can truly be done anywhere, why would we assume the answer will be to pay SF salaries all around the world?
The must-be-in-office crowd tends to ignore that most of the time remote work mostly is fine. Yes, everyone has an anecdote of this going horribly wrong. But they ignore that minimizing costs as first priority is not going to yield optimal results. And a lot of those horror stories involve bottom rate outsourcing operations.
There exists a world in which outsourcing/remote covers most needs but pays less than we're used to in the US software industry. It's neither the penny on the dollar model of traditional outsourcing nor junior devs making 500K TC in theo there extreme.
As someone who is more interested in economics than software, I believe you are 100% right. Once companies figure out how to have employees work remotely, there won’t be as many high priced SV developer jobs. Companies just might decide to higher all (insert Eastern European block country here) developers because they are “local” to each other and are willing to work for a fraction of the cost. It’s not about what you are worth. It’s what companies can replace you for, and if you are remote that replacement value goes down.
I didn't see an important point that I think is relevant for fully-remote devs and correct me if I'm wrong: On-site benefits. If you work remotely, you can't use several of the benefits a company provides so a difference in the salary is common as a compensation for those.
Same for healthcare plans and taxes. A lot of remote workers have to pay those, which in many cases are completely or partially paid by the company, so a bigger salary is needed.
reply