top | item 22935476

Remote software developers earn more than non-remote developers

377 points| ashitlerferad | 5 years ago |whoisnnamdi.com | reply

157 comments

order
[+] JackPoach|5 years ago|reply
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.
[+] whoisnnamdi|5 years ago|reply
Author here

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.

Thanks for reading!

[0] http://home.uchicago.edu/ourminsky/Variable_Selection.pdf

[+] zbobet2012|5 years ago|reply
As a manager and software engineer,

Seniority is also implicitly more about _independence_ than _capability_. This is something Junior engineers are often confused about.

Its easier to hire, or let a senior work at home, because generally, they have a much stronger track record of "not becoming blocked" and "not needing someone to prioritize tasks" etc.

In short, its less about "forcing" preferences, and more about managements have seen this person execute with less oversite. Which is almost definitionally seniority.

A lot of you will respond to this "I don't need oversite to get things done" and a lot of you will be wrong. Because a lot of engineers need oversite to get _the right things_ done.

[+] ikeyany|5 years ago|reply
Yes, but if the headline said "Experienced developers tend to have more freedom, like the ability to work remotely", we wouldn't click on this thread and talk about it.
[+] duxup|5 years ago|reply
Even as a noob it plays out that way, I've only been coding for a couple years.

First I was in the office all the time, then I started working from home maybe one day a week....

After everyone got comfortable with me and I proved I could produce my pay increased dramatically, and at the same time work from home turned into 3-5 days a week.

Trust, pay, and working from home and / or remote all are generally related I think.

[+] yibg|5 years ago|reply
Don’t we also expect to see this result just by the fact the remote employees working for say Bay Area companies get closer to Bay Area comp then low cost of living level comp? On average then you’ll get a higher average salary for remote employees because non remote employees includes a large number of people outside of Seattle, Bay Area, New York etc.
[+] johnlbevan2|5 years ago|reply
Another factor may be subjective vs absolute data points in the source.

"Do you work from home more than 50% of your working hours?" has a simple yes/no answer. "What is your salary, including average annual bonus, after tax?" has a single numeric answer.

"How many years have you been a developer?" sounds simple; but has interpretation issues. Do I count from my first line of code when playing as a kid, my first computer science class, my first paying job as a developer, or some other time? If this is a measure of seniority (e.g. we define senior as anyone who's been coding for 10+ years) there will be a mixed bag.

This may mean that despite trying to factor out variables they're hiding in the noise of bad data; so may still have a hand in the result. i.e. Those developers who've counted 9 years developing from their first salaried job and now earn more and work from home are in the same group as those who've just graduated but counted their time coding from their 8-year-old-self's first foray who are in their first year of the job, and thus on lower salary and less perks.

[+] zerr|5 years ago|reply
It lets me escape the local (underpaid) market. That's why I won't work for Gitlab, Mozilla or similar company which pays based on the location, not contribution.
[+] jdxcode|5 years ago|reply
I don't even think it's that complicated. Organizations that offer remote usually won't do it for interns and junior engineers and it probably isn't great for those engineers anyways.

If you just took out all these engineers I wouldn't be surprised if the average jumps by 22%.

[+] A4ET8a8uTh0|5 years ago|reply
You may be onto something. Before Covid managers at my place considered remote work a reward for good behavior and delivering results. Needless to say, those people also tended to get better reviews and salaries.
[+] k__|5 years ago|reply
Multiple reasons.

Choosing the best offer world wide may end up in better pay that choosing the best offer in town.

[+] baybal2|5 years ago|reply
I also see that as a much simpler explanation, you don't hire unproven people on remote.

A higher portion of remotes are temps, and/or having to incorporate in their countries, and carry the burden of doing paperwork.

[+] ccktlmazeltov|5 years ago|reply
Or what about location? I know a lot of remote workers who go live in countries that are much cheaper where they couldn't find a job that would pay like this.
[+] netcan|5 years ago|reply
...and other nonlinear cause-effect things.

Working from home is a "benefit," and it can be demanded by developers with more leverage. They can also demand more money.

[+] FpUser|5 years ago|reply
Myself being remote and developing mostly products from scratch I completely agree with your conclusion based on my own experience.
[+] ahallock|5 years ago|reply
Exactly. Working remotely by itself doesn't lead to higher pay; it's only a perk of an employee with leverage.
[+] PragmaticPulp|5 years ago|reply
Every time I've posted a remote job listing, I've been buried by a flood of low-effort applications. Remote work has been a hot topic for a long time now. To be blunt, there are a lot of people out there looking for cushy remote jobs where they can fade into the background and do as little work as possible. I've had a lot of negative experiences with digital nomads and "4 hour workweek" followers. One person even tried to keep their old job and the new remote position so they could get two paychecks (He couldn't keep up, didn't last long).

Instead, our remote hiring has been via outbound recruiting only. The bar for selecting these candidates is much higher, and we're also prepared to offer higher compensation to secure those candidates.

Candidates who have a proven track record of delivering quality work in a remote working positions are (or were) hard to come by. They definitely command a premium in the market.

[+] mabbo|5 years ago|reply
A friend of mine works/worked for <large company> in Seattle. He's a really talented guy, probably on his way to Principle Engineer in the near future. He's also pretty critical to some major work they're doing. I'm certain he's paid well for it.

He told his boss he was moving to Montreal. Most other developers, if they said that the boss would probably have said "well, it's been great working with you". But my friend was a critical employee. Can't lose that guy.

Somehow, they found a way to let him be a remote developer from Montreal. Still doing great work. Still being paid well, I imagine. And this is all pre-pandemic.

Correlation does not imply causation. Being allowed to be a remote developer and being paid well are both signs that you might just be critical to your organization.

[+] whoisnnamdi|5 years ago|reply
Author here

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.

[+] ckdarby|5 years ago|reply
If they didn't adjust his salary then he's making ~50-60% more because of the cost of living difference and USD currency.
[+] dehrmann|5 years ago|reply
Even for that guy, this is probably a terminal role at the company. Granted, pushing principal engineer is a pretty good place to settle, but he can't expect much advancement.
[+] eloff|5 years ago|reply
If you work as a software engineer outside of a handful of cities, you earn much less. E.g. a software engineer working in Tulsa makes a lot less than one working in San Francisco. But if you work remote from Tulsa, you can work for a company in one of the top cities and will make a higher salary, on average than your local peers. I don't think remote workers in the valley make more than their peers - maybe less.

I've worked remote my whole career, and the main reason I do that is I get a substantially higher salary than my local peers because I don't live in the USA.

[+] cgh|5 years ago|reply
Yes, I've said exactly this a bunch of times. My advice to young programmers is always this: work for a while in a city with high salaries and lots of demand, then after some years when you are experienced and high value (genuinely so), make the jump to remote, move to a smaller, less expensive place and buy a house. I honestly think this is the best life advice I can give and I wish I'd done it a decade sooner than I did.
[+] Consultant32452|5 years ago|reply
This is similar to my anecdote. I hit the local salary ceiling but was unable to move due to family obligations. That's how I became a remote worker.
[+] JMTQp8lwXL|5 years ago|reply
If anybody living in Tulsa can do this, the arbitrage opportunity will at some point end and Tusla will get more expensive and SF less expensive.
[+] alexpetralia|5 years ago|reply
Does the author control for geography?

Surely remote workers in Europe working for American employers will earn more than their non-remote counterparts, but not the reverse.

(EDIT) I see the author in the original post subset only for US-based workers: "The survey is global, but here I focus on 10,355 U.S. based individuals employed as software engineers on either a part-time, full-time, or independent basis"

[+] tinyhouse|5 years ago|reply
Wouldn't US present the same problem? Remote worker in Montana for a SF based company is likely to make more than its peers working in Montana.
[+] whoisnnamdi|5 years ago|reply
Author here

Yes the results include only the U.S. but do not include more granular controls for regions within the U.S. So it's possible that this is biasing the results.

That said, I do control for size of company, which often correlates strongly with region (both big tech companies and startups tend to employ most of their workforce from a certain region, i.e. west coast). I acknowledge this is imperfect though

[+] efficax|5 years ago|reply
I earn remarkably more as a remote developer than I would for my area because I work remotely for a company based in a high income area (NYC) but live in the midwest. I probably make 20-30% more, at least, than a Senior Engineer at a local company would at the top of their payscale.

It has nothing to do with experience levels or anything like that, just companies based in high income areas pay more. My salary is even scaled down a bit based on regional cost of living (I'd likely earn 10% more if I relocated to NYC, which would not make up for the cost of living in new york)

[+] sacks2k|5 years ago|reply
I've been working remotely for almost a decade. I'm a senior developer and make a very good living.

It's generally much more difficult for junior developers. At my last job, our team comprised of all senior developers. We hired a few juniors and it was very difficult due to roadblocks/communication. I think this is one reason remote developers earn more: you need to be pretty independent and skilled for it to work out well.

[+] jmull|5 years ago|reply
This is a more useful summary than the headline:

> 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.

[+] k__|5 years ago|reply
When I see payment for devs here in Germany, it's no surprise.

I had the feeling, that US devs make about double of what German companies are paying.

So now I make more money and add to the exports that everyone in Germany seems to be so happy about :D

[+] jillesvangurp|5 years ago|reply
For some people it is a bit of a revelation that this can work, at all. Because they are so used to the status quo of some dude in suit micromanaging what they do in a waterfall like process that people insist is agile (usually anything but). This is not the only way to develop software.

If you think about it, there are a lot of developers world wide, which makes any perceived scarcity locally a non issue once you change your mind set and stop insisting that they live within easy commute of wherever your office is.

Also, a lot of OSS software that we love and depend on every day defaults to fully remote people organized in collectives that are vastly larger than most corporate software teams producing software at a pace that these teams can only dream off. Good software gets developed by an army of remote developers and you probably use a lot of it every day and maybe even contribute to it once in a while.

Another thing to consider is that lots of large corporations are so large that most of their people might as well be remote even if they share the same building (if they still fit in just one). Being in the same building doesn't mean people talk to each other.

I used to work in Nokia when that was still a multinational making phones and employing around 30K developers & engineers spread over multiple countries and continents. Think lots of telcos, traveling and miscommunication.

[+] mywittyname|5 years ago|reply
Could this be selection bias?

Better developers have their choice of companies, and it makes sense that they would prefer WFH over working in an office.

[+] chadash|5 years ago|reply
Of course. Remote developers tend to be more senior. Once you control for that, I'd be surprised if this still holds true, given that the FAANGs tend to pay a high share of the highest salaries and they tend to not allow remote work.
[+] whoisnnamdi|5 years ago|reply
Author here

Thanks, yes this is an important point which I cover later in 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."

[+] buckminster|5 years ago|reply
You're probably right, but consider the other side. If you remove the FAANGs from consideration (a heavy weight on the non-remote side of the scales) then the remote work premium would look even better.
[+] NovemberWhiskey|5 years ago|reply
Has anyone taken a look at the underlying data set, specifically for the compensation aspect? https://drive.google.com/file/d/1QOmVDpd8hcVYqqUXDXf68UMDWQZ...

Each record has a currency, a "CompTotal" (number of units of pay currency), a "CompFreq" (periodicity of pay; yearly/monthly/weekly) and a "ConvertedComp".

ConvertedComp is CompTotal multiplied by the number of CompFreq periods in a year, converted to USD based on the specified currency and then clipped at the 98th percentile which seems to be $2M.

It seems ConvertedComp is what analysts are intended to use.

Of the United States-based, developer-by-profession responses who gave a salary (~13,500), about 14% specified their CompFreq as something other than annually. That subset has a mean ConvertedComp of >$1M.

On the other hand, there are a grand total of 17 responses for ConvertedComp of >$1M for those who specified their CompFreq as annually.

Color me suspicious, but I suspect a large fraction of the responses in that subset gave annual compensation rather compensation-per-period; undermining the calculation of ConvertedComp quite considerably.

I don't know which fields the author actually used, but I have a lot of questions about the usefulness of this data.

[+] nostrademons|5 years ago|reply
Much of this may be the effect of averaging a power law.

Whenever you remove barriers to entry (whether geographic, skill-based, or social), you get regression to the mean: if workers are actually identical, they should be paid the same. The mean of a power law distribution is always higher than the media. Hence, if you remove geographic barriers to software development work, the majority of software developers will see their salaries increase. This comes at the expense of a few developers in high-paying areas (Silicon Valley, SF, NYC), who will see their salaries dramatically decreased. We already see this - as someone living in Silicon Valley, I can't take the vast majority of remote jobs because they don't pay enough to live on here.

Someone's inevitably going to ask "If salaries are so unsustainably high in Silicon Valley, why do companies keep hiring there and paying those unsustainable salaries?"

And the answer to that is that opportunities are not normally distributed. In today's consumer markets, consumers don't split their dollars evenly between all firms providing a good, they tend to overwhelmingly go for the best product available in that market, particularly if that product gets on the market early. And that means going for a location where you have deep talent pools in the many subspecialties needed to build that best product, and putting them all in one cube farm so that communication costs between them are at an absolute minimum. Silicon Valley's wage premium is a consequence of growth and of consumer herd behavior: if everybody either thought entirely for themselves or bought solely based on price without regards to features, distributed teams would have an advantage.

It's a very similar phenomena as globalization. In the 80s all of America enjoyed a large wage premium over all of the rest of the world. As globalization broke down labor & trade barriers and innovation slowed, the trend has been toward "equal pay for equal work", which means that the factory worker in America will make something close to what the factory maker in China makes. Global median wages rise (which they have done, substantially), but the gains are at the cost of the majority of American wages, with the exception of a few professions (tech, finance, some marketing) that have substantial skill-based barriers to entry. Those professions have seen their wages increase dramatically as markets get bigger.

[+] sbacic|5 years ago|reply
> We already see this - as someone living in Silicon Valley, I can't take the vast majority of remote jobs because they don't pay enough to live on here.

You also can't afford _not_ to take them since the high cost of living limits how much you can save each month.

This is one of those things that isn't mentioned often - somebody with cheaper costs of living can play hardball for months in search of a good gig. Somebody in NYC or San Fran, not so much.

[+] whoisnnamdi|5 years ago|reply
Author here

I agree with everything in your comment except the first line.

I don't think software developer pay follows a power law, or at least not in this dataset. Ignoring equity (which can cause power law type behavior if enough folks strike it rich), the distribution of pay is probably closer to a lognormal distribution. It's just not skewed enough to constitute a power law — that would imply serious skew.

Additionally, this dataset excludes outliers making multiple millions of dollars, so that also reduces the likelihood of a power law-style distribution.

Lastly, this dataset is only U.S. developers, so there isn't skew across meaningfully different geographies.

With a lognormal distribution, your point remains valid, but the effect is not nearly so dramatic.

[+] bitwize|5 years ago|reply
Yes, because you have to have a proven track record of being damn good, hence too valuable to let go, in order to get the leverage to ask your boss to work remotely full time.

Most of us coding schlubs will still be expected to show up at the office at 9 a.m. sharp. That won't change, barring something like coronavirus.

[+] 0x202020|5 years ago|reply
The reason I started as a remote employee was that I could get a local internship in college at $15/hr and have to live in the city or live at home and drive further. On the other hand I applied for remote internships that I could do from home and not have increased expenses while making $25/hr.

Ever since then I have occasionally interviewed for in person roles only to be almost depressed by the offers received. You’re telling me you are offering a Senior/Lead position ~72-80k without providing a laptop, paying healthcare premiums and expecting them to commute 5 days a week? Sure maybe I’ve been had above average positions/compensation but I’ve had better benefits as an intern.

[+] dep_b|5 years ago|reply
In 2nd / 3rd world countries a developer earns a good salary when they're paid (depending on the country) something like US$1500 per month. If you can charge US$25 per hour remote freelance to US clients instead you're earning 2,5 times as much and then you're still dirt cheap.

Also most employment is in NY or SF, people that work remotely for companies in those cities usually don't say "oh just pay me less because I'm dialing in from Nebraska" unless their CV's are weak.

Working remote means having access to the best paid jobs while the local market is only interesting if you're living in a select group of cities.

[+] lucjac|5 years ago|reply
have you considered the actual employment status? A lot of remote workers are employed as freelancers and therefor need to take care of health care / pension themselves with could increase their gross salary
[+] lazyant|5 years ago|reply
Makes sense to me, in my company we allow for senior developers to be remote but not for junior ones, since they need more hand-holding, so there's a correlation between experience and being remote.
[+] Insanity|5 years ago|reply
Same at my company. We actively looked for senior developers for this reason.
[+] globular-toast|5 years ago|reply
Who holds their hands if the seniors are remote?