My Experience as a Remote Worker
joshwcomeau.com
joshwcomeau.com
Imagine delivering a million dollar feature, working nights and weekends, but somehow it's discounted because of where you live?
Across the river from where I live the cost of living is 5% lower - if I happen to work from there, are the features I'm delivering magically worth 5% less?
According to companies like Buffer, Gitlab, Stichfix, the answer is yes.
Push back on these salary discounts and double down on the value you provide.
P.S. The are more remote opportunities out there than you realize. If there's a job that's a good fit for you, regardless of city, find the CTO or VP of Engineering on Linkedin, find their email on Hunter.io and directly ask if remote is a possibility. Sometimes they will say YES even though it wasn't openly advertised.
In theory, this works the other direction (remote workers have access to more employers), but the reality is that the supply/demand ratio for devs is radically distorted in the Bay Area (and other tech hubs relative to the rest of the US, and the US relative to worldwide), so it isn't symmetric.
To flip it around: if I'm purchasing labor, why should I pay a 200% premium because the employee is located in SF rather than Nebraska?
If you're trying to hire top talent, one has to consider SF salaries (offset by high cost of living) as BATNA. But if you find someone willing to do the job at lower cost (factoring in lower cost of living, and location/schedule flexibility as a form of compensation), what's the problem?
I've been on both sides of the hiring process and to get a solid candidate into advanced stages of the interview process isn't trivial. Time is always an issue - time to screen resumes, engineering time for phone screens, for online interviews, engineering time for onsite interviews all the while continuing to release new features.
While the pool of candidates is virtually infinite, time isn't.
And so for a solid engineering candidate, that works to your advantage. So yes, push back on discounted salary requirements.
Or reach a middle-ground - offer a short term contract up front to ensure "you're a good fit for each other" and so that you can properly demonstrate your skillet. And then kill every task you're assigned.
Protect your value.
(for others like me in the TIL camp)
Even in SV, we could interview 100 candidates but maybe one or two really knew the stack and one of those was a great coder.
That scarcity and high standards pushes the qualified candidate in to a pretty small pool, hence the high salaries.
Purely local scarcity would have had similar effect but I believe it'd be much much much slower and with lower ceiling. Local companies paying 2x average wage seemed fine. You're making good money compared to your neighbours and feels sort of wrong to ask for more than your boss makes. Then foreign money come in and pay 4x average wage light it was nothing. Suddenly all the social stigma is removed.
That's literally what happened when a major bank's back-office was opened. They were willing to pay 1.5x-2x local market salaries and hire lots of people (compared to market size). Pretty much everybody in the industry had to follow, raising salaries effectively overnight.
In fact, it should be the opposite. Companies are saving money by not having to spend money on office space and overhead. Why then should I not be getting a higher salary?
Well, in a lot of cases they likely already have office space that they're already paying for for all the non-remote folks, and the increased cost of having you there too is negligible. It only becomes an opportunity for savings when they have enough remoters that they've actually foregone space -- avoided an expansion or downsized.
What they do for one person doesn't matter, the point is that if everyone were remote they wouldn't need to pay for the space.
The worst cases are the 90%/10% splits. I have seen the one remote join the meeting from his hot tub (fucker). I have been the one remote fighting with the VC while the rest of the team patiently humors me. The one exception drags the rest of the team down.
~40 software/dev folks. Around 18 are 'remote'. There is a primary office, and most of the 'remote' are within driving distance, and we're expected to be onsite (or available to be onsite) 1 day per week - collaboration/f2f/etc. And it works for most of those 18 - they work together on some teams, and most of their colleagues are also at the main office. My 'team' is me and another guy, but we work on independent projects, and everyone we deal with is in other states - not drivable. It's hard to get support from anyone internal - they're mostly on a couple of large teams. Even when we get together f2f, no one understands the particulars of the projects we're on, so there's not as much value as for most of the rest of the teams.
I enjoy most of the setup, but it's still a bit challenging being the 'exception' at times.
> Push back on these salary discounts and double down on the value you provide.
Another way to deal with this is to take advantage of the arbitrage and move to higher COL cities, yourself. You will be relieved of carrying the cost, while reaping the rewards that apparently make this place worth paying so much for. Whatever that is.
Doesn’t work for everyone, but it’s far less frustrating to deal with injustice when you can take advantage of it.
If enough people do it, companies will wise up, or get outcompeted by those who do. Until then, happy arbitrage!
Offer up an initial short term contract to mitigate risk. Make it a liberal termination clause for both parties - if either is unhappy you just walk away.
It'll put your client/employer's mind at ease.
And it allows you to demonstrate your value without having to discount upfront.
I have been working and hiring remotely for years, and that is generally false.
First, if I have a perk, I will list it. It is a competitive market for talent. This is just another tool at my disposal. Would you say that about "unlimited time off" or "generous benefits" being advertised in job posting? The same pool of money pays salaries as team outings and office beer taps, catered lunches, and other perks. On a basic level everything is zero sum.
Second, as for your "across the river" example, to the extent that actually happens, that view is a bit SV-centric. For talent that wants to avoid overpriced homes and soul destroying commutes, their frame of reference is local salaries that are guided by local costs of living. As a prospective remote, I don't care if you pay +20% in SFC. I am in another place, and if you can outbid my next best offer by 10% I win.
Definitely everyone should negotiate and be aware of salaries in NYC, SFC, Seattle, and DC.
A guaranteed amount of time off means the company has to pay me for unused vacation if and when I depart. So for those of you who are offered unlimited time off, get a guaranteed and generous minimum, in writing.
After all, if it's unlimited, they shouldn't mind putting "a minimum of four weeks a year" in writing, should they? If they won't, they're probably going to shame you into working all the time and then won't pay you for the vacation you didn't take.
It's nice not to stress about PTO balances, though.
> You obviously can't take 100% vacation time, so it's not unlimited.
This is the part that gets me. Everyone knows that it is limited, you just don't know what the limit is until you hit it.
If vacation were truly unlimited, sure, it would be a perk. Absent that, knowing what the limit is is a perk.
This must be a California thing. It's not generally true in most states.
And in a lot of companies, even when they specify an amount, it is a "recommended" amount. My company, for example, says 3 weeks, and many managers follow this religiously. But when you read the actual rules, it says that 3 weeks is the guideline, and not a promise. This is also used as an argument against giving 4 weeks: "3 weeks is just a guideline. You can work out more if the manager agrees."
Thankfully the way my current company handles this is about as good as you can get - they cash out balances that are too high a couple times a year at prespecified dates.
Compare that to the startup I used to work which had an "unlimited time off" perk, it was always a struggle to get actual time off, we were always rushing to get things done, or it was a difficult time, or another engineer was already on leave, it caused more stress than anything else.
I'm all for just giving a generous amount of annual leave, in my contract, with remaining days paid out.
No you don't win. If you leave 100K on table, you lose.
I don't want "a good salary for my area". If I'm entrusted to deliver a million dollar feature for a Bay Area company, I want the max payout for that responsibility regardless of whether I delivered it from Iowa or Vietnam.
I want to have options for my family, for myself. We want to travel the world, own a home in a great neighborhood with great schools, have experiences that few others get. And you don't get those options in life with being content with "a good salary for my area" and then denying yourself coffee from Starbucks because you're still living on a budget.
But in a very fundamental way, I disagree with you. The reality is that you as a job-seeker have options and constraints when you are looking for a job. If a company isn't willing to pay you what you'd get if you were in Boston, but you aren't willing to move, then you have an impasse. If another company is will to pay that, then you take that offer. You have a set of offers and you take the best one available - not one that measures up to a hypothetical ideal.
You may want things, but that is totally immaterial to an employer. It depends on how valuable your skills are and how rare they are, regardless of location.
https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr...
If you are calling yourself and marketing yourself as "labor", you have already lost the game.
If you don't mind me asking, how did you learn to negotiate?
Any resources you could recommend?
You might be thinking "hey, wait a minute, that sounds like negotiating!". Well... You have to have something to negotiate with.
So the question is how can you generate leverage?
Also, FWIW: of the vast multitude of ways in which programming creates value for companies, probably only a tiny minority of them lend themselves to the kind of contracting arrangement that he describes. All other programming gets done by labor. Which means that most programmers are labor. How you decide to describe yourself doesn't change that.
the idea that "woke labor" is non-labor is hilarious. first, this isn't possible for the vast majority of people who actually provide value to capital - you know, the people pouring coffee, or stocking shelves, etc. try being "woke" about your value at a grocery store and let me know how it goes.
second, once enough of your class is "woke" you're back at square 1, trying to beat up people below you to pander to capital. (aside: this sort of "get yours and get out" is emblematic of america generally, and not flattering imo)
that the game is stacked against those who labor is more of a pathological outcome of labor not being very powerful. this is a feature of capitalism, not a bug. it's a bandaid over cancer.
fix the system: organize.
Source: remote worker for over a decade residing in a relatively cheap country
I would deliver the same value whether I'm sitting in SF or Cambodia.
Their salary formula's are flawed. And insulting.
?? Not sure what you're talking about. My company has a flat structure and you're free to live wherever ( within the US, for now). We're remote by default as well, meaning there's no office.
But sure, if people try to pay you less work that out with them. Don't get angry about nothing though.
Even if that was true, the employee is saving on fuel, time wasted sitting in traffic, vehicle wear and tear, the dangers and liabilities involved with driving, etc.
This is partially balanced by not having to commute. The time your colleagues spend in a car every day, you can spend exercising or with your friends. Also, you could set up a timer, and take each hour a 5-minute break to exercise, while your colleagues at work are taking breaks to smoke or drink coffee.
I know a guy who works from home, and he codes while walking on a treadmill. Has more exercise during his 8 hours of coding than many employed people get during their entire day.
It depends. As a software engineer, all I need is my kitchen table, or the couch, or the cafe down the street.
> more utility usage (internet, electricity, heating)
Totally worth it for thermostat control and to not freeze my ass off in November.
> reduced potential for socializing
If you're dependent on work for socializing, well, that's rather sad. I get that because I used to be that way until I realized that 99% of coworkers go along to get along and aren't good friends. They're out of your life as soon as they change jobs. But with extra time from not commuting, it becomes easier to find real friends IRL outside of work.
> and exercising
Uh, did you mean to type that? Because there can only be more time and opportunities to exercise when working remote.
Imagine delivering that feature and expecting to get a larger salary because of where you live? COL is either a thing or it isn't. Job markets are localized because of physical presence. Once you take that limitation away, the artificial inflation of Bay area salaries fades a bit.
OTOH this acts as a market valuation of the increased value that that location's workers provide. Of course, if down the road the worker doesn't prove to hold up to this standard, i see a massive wave of SF remote workers being fired (there is plenty of remote talent online). I don't see job hubs like SF surviving a tech world where > 50% of jobs are remote.
It also acts as an indirect measure of the value dumped from VCs to landlords.
There is a flaw in going down this path of logic.
For a number of years after I started working, I tried to make sense of two things?
1. How is the value of what I provide to my employer correlated with my salary?
2. What exactly am I getting paid for? Presumably if I do this better/more I can get paid even more (e.g. working hard? delivering something? You can come up with many ideas here).
And the more I observed, the more I realized something:
In a decently sized company, it is very hard to figure out how much value (in $) your work contributes to the company's revenue. There are always exceptions (e.g. sales, etc). But generally your work is so intertwined with others that it's a lost cause trying to figure this out. You could do everything perfect and some other department down the road completely screws up thus negating all your contributions (not unusual).[1]
Because of this, almost no employer tries to determine your value to the company. They may have vague ideas that you're a critical employee, etc and give you nice bonuses/salary increases, but they're not going to even try to see if someone in another unrelated department's contributions are more or less than yours, and adjust salaries because of it.
So the answers to my questions above:
1. Fairly uncorrelated. A lot closer to 0 than to 1.
2. No one knows what you're getting paid for. Almost every company/boss will list some items, but they are either lying or deluding themselves: No matter what they tell you, you'll find no shortage of counterexamples in the company that proves them wrong. They say role X pays more because it deals with more complexity than your job? Likely it won't be hard for you to find jobs in the company with less complexity than your role (or role X) that pays more. Person is paid more because he puts in nights and weekends? Same thing - easy to find someone who puts in less and gets paid more. Role X gets paid more because it requires specialized knowledge and an advanced degree? Trivial to find counterexamples. Role X is critical for the company and if the person screws up it would be very expensive? To be frank, in every case of this being invoked I've noticed that people fulfilling role X get paid less. I happily moved from a role where my screwup would be very expensive to one where it wasn't, had fewer hours, a heck of a lot less complexity involved, and required almost no specialized knowledge, and quickly got a promotion with higher pay that way.
Because of all this, the reality of salaries are simple: They'll just invoke the market. It doesn't matter whether you made the company a million dollars or something close to your salary. If you happen to have special skills that are hard to find and that are in demand, that's your bargaining advantage.
There is almost no reason for a company not to save the effort and just go with the market. To the point that it's not even immoral to behave this way unless taken to some extreme.
Getting back to:
> Imagine delivering a million dollar feature
You'll almost never show that you did this. And if you did, you'll rarely be able to show that they needed you to do this vs the guy who'll take 10% less pay.
If you want higher pay, don't appeal to moral/ethical arguments - they will simply demonstrate your admission of a disadvantage. Instead, demonstrate you have skills they need that they won't find easily. Until you can find a way to differentiate yourself, you are not worth more than a remote worker in a low COL area (including those in other countries).
[1] As an aside, one of the perks of having a salary is that you are immune from these events - you'll still get paid even if your contributions amounted to nothing for the company. As such, there's also a reason your salary will be lower than investors - you're not taking on the risk they are. But this is a separate topic.
>Imagine delivering a million dollar feature, working nights and weekends, but somehow it's discounted because of where you live?
>Push back on these salary discounts and double down on the value you provide.
Companies have been outsourcing development labour across the world for quite some time now, specifically to reduce costs and amplify margins, but I haven't see many taking issue with it until it's now affecting Westerners?
If we accept that Bay Area salaries are provided in part because of Bay Area costs of living, why wouldn't it be discounted for those who aren't affected by costs of living pressure to the same extent?
If we accept that Bay Area salaries are also provided in part because of demand exceeding supply, why wouldn't the price drop when supply is increased significantly?
I understand the recent demand for remote work - offices are really becoming a toil to be in 40+ hours a week, commutes are worsening, the modern trend to discuss politics at work is ostracizing people, etc. That said, those demanding more remote availability should be aware that in doing so, in making companies more remote-friendly or remote-first, they are opening up the talent pool significantly more widely, and will be competing with people with lower costs of living who will happily accept less money for the same output.
Iterating on and improving remote collaboration processes, tools, asynchronous work, performance measurement, management and more will lead to remote being favoured as a means to reducing costs. It's simply good business. Why would a Bay Area company pay someone on the East Coast a Bay Area salary, when they could pay an excellent Polish dev dramatically less for the same work?
I'm all for remote personally. I adore the idea of being free to not live in a metropolis, to work on somewhat my own schedule, have more time for my friends and family, etc. but I'm not going to delude myself that a dramatic increase in work that offers this will not be met with downward pressure on financial remuneration for that work.
Whether that's a trade-off one is personally happy to make is up to the individual. Or, if one wants to "have ones cake and eat it too", to to speak, they could attempt to unionize across the new geographically displaced market - counties, states, countries, etc. - for collective bargaining to protect said salaries. All the best to whoever attempts that endeavour.
In order for remote to be attractive to employers, remote employees simply have to charge less than the local alternative.
Yes, ultimately you're paid for the value you provide. If you want to work from the beach in Thailand from your laptop, fine, but I'm not going to pay as much, because I have to deal with you not being available on the same schedule as me, that you have a crappy internet connection that makes video calls more difficult, that it's harder to pay you, and that it costs more to fly you to the office periodically.
Anyone can pay as much/little as they want, and get paid as much/little as they are willing to accept, obviously. But IMO it is worth remembering that ultimately what matters is the value added. If you live in a cheap location, negotiate hard, because you're adding as much value as someone that lives in an expensive location.
Companies pay the least they can get away with on salaries. The real question is not why they "discount" work done in less expensive areas. The question is why are they paying a premium for work done in an expensive area? At some level they must believe that programmers in expensive areas provide greater value. Either that or they are just throwing away money buy hiring programmers at a cost higher than they could get away with.
That’s one of the biggest improvements in quality of life when I work remotely. I find working in an office (especially open space or cubes) very exhausting due to noise and lack of privacy. So I come home at night totally exhausted and do nothing. When I work from home I naturally feel motivated to do something after work which I find very positive.
But, and this can be hard for people, you have to make an effort to be social. The default that someone works with you they will likely have to talk to you is no longer an option.
Becoming remote didn't change that. But traveling while being remote did. It's hard not to walk into great wall of socializing to balance out all the abstract work we do day today.
Personally, I kicked started it by putting all my stuff in storage. I also started slowly by traveling within the US and moving month to month. My boss does it cool, important to note that not all remote work environments will be okay with you traveling.
I'm into music, so I joined our local community choir. It's not necessarily the style of music I listen to on my own or like to play/perform (I'm more into guitar and folk music), but its a very social activity that gets me out of the house once a week, with people that I have some things in common. I've made some great friends and got to know a lot of people in my community that I would not have otherwise.
I really start to miss it when we're off-season (long summer break), because of that feeling you get when you haven't left the house for a week or so. :)
I need socialization at least once/week or I start getting depressed.
Wow, this is literally the exact reason I loathe remote working! I've been working remotely for almost 5 years now and I'm about to jump ship at my current job specifically so I can find a job that has a physical office to go to. I find that the lack of a routine causes a significant increase in stress in my life. It's an actual dream of mine to go back to a 'normal' job where I go into an office and sit at a normal desk with a normal work schedule, and then can just go home or to the gym at 6pm and enjoy my non-work life.
Having that separation helps me "leave work" when it is technically at the same location. It does also require a good bit of discipline because it is easy to slip back into work at any point in the day.
Many argue that you should "work when you feel like it" but I personally find that leads to burn out. If I can keep a regiment that I don't deviate much/at all from, I am mentally healthier.
yes because most of us don't know how to turn that off!
Mental health must become a priority when working remote. Separation is a key way to stay ahead of the degradation. Even if you're not a person who tends to go outside, you HAVE TO when you work remote. Lack of face to face interaction will eat you very slowly over the years.
It can't just be with your usual people either. You need to have a level of unexpected interactions with other humans to stay a happy person. I'm not a psychologist, but I've had this happen to me and any other colleague I know who worked remote. It's a very real thing – respect it.
All the work code, emails, tickets etc. are on it and once it's closed for the day I it needs to fired up again to do any additional work, which surprisingly serves enough as a barrier.
Working whenever you feel like it is hell, I agree.
My experience working remotely is almost the same as working in an office. My only added benefits are a lack of commute and job opportunities that aren't available to me in the small remote town I'm in. If it wasn't for remote work I wouldn't even be a software developer. This allows me to be a software developer and raise my kids in the same town as their grandparents. In fact living in the same town I was raised in may aid in the social isolation a lot of people feel. I could see working remotely in a town you have no/small amount of friends being very isolating.
I've been remote working for years and I now find that my most productive times are "in-the-zone bursts" of work. What used to take a whole day I can now get done in a couple of hours.
So, now I find less of an imperative to keep a structure. My new rule is to just be very vigilant about when my brain wants to do the work... and when I get the feeling jump right in.
It's weird but it seems to work well in my case!
When I leave my office (a dedicated space), I'm done for the day, but that's also due to the culture at my workplace. It's possible to have both, is all I'm saying. Remote doesn't mean no routine.
It also makes me appreciate time with my family more.
Balance is the key.
It's very subjective and varies but I find it not too hard to attain.
P.s. I've been working remotely for 18 years now.
Some parts of the world can be isolating. You may want to talk to your wife about moving back to a more civilized place.
OP, talk to your spouse and try to go back there!
First, I believe some remote companies like to see some remote experience to know that you can be successful on a distributed team. This is a tough catch-22! I have asked my manager at my normal office job for opportunities to work remotely 1/5 days but I am not sure if this is adequate experience.
Second, it is much harder to find remote work for embedded/hardware engineering (my background). Obviously it is different when actual hardware is involved as it is more convenient to be in the same physical location, but the advantages of a remote hardware team should be the same as a remote software team!
If anyone knows of remote friendly hardware companies I would love to know!
Software is much easier that way. I am lucky that most of my work always has been pure software so I will probably try to minimize tasks that need special hardware.
I do think it may be necessary to switch over to software development but that would be a tough transition!
I work a 9-5 with a 40 minute commute each way. That 40 minutes includes 20 minutes of walking which lessens my need for other exercise. I get plenty of time with my 17-month old. 6-8 in the morning and 5:30-7:30 at night.
On the flip side, my wife works from home and loves her breaks when she can spend time with our child. She is also often lamenting a lack of time for exercise and social activities.
As for your wife, I may be misunderstanding if she works from home as a Mom or remotely, but my wife works from home as a stay-at-home-mom and exercises almost every day with two young ones. She takes long walks with the children, one in a stroller and the other in a front pack.
The other thing she does is a variety of workout videos. Our oldest actually does some of the workout with her and encourages her with the same phrases the people on the workout video use. (ex. "train your body!") It's cute.
Kids vary a lot in how much sleep they need. Sleeping 7:30pm to 6:00am is 10.5hr, while many 17-month olds need more like 12hr at night.
That said, imagine if you could do 40 minutes of walking with your child instead (or do the walk / ride / sport you wanted during that time), lose nothing, and still work the same hours?
Lamenting the lack of time for exercise and social activities is a problem of having children, not remote work. Working at an office, however, means you'll likely get first crack at that stuff because it's "on your way home" or "just a thing after work" but if you were working from home you could easily trade this time back and forth with your partner and they could do the same thing. That said, those interactions definitely require a bit more work than the social scene that's "built-in" at the office.
When I had an hour+ commute we ended up pushing our kid's bedtime to 11 which was nice to spend more time with him but then made it harder for me to get enough sleep! Now he is in school so 11pm bedtime obviously is too late.
Alternatively, if you're set up to work remotely every day, you come to work the same way you would in an office and you don't "wait until so-and-so is back in person" to get stuff done. One day a week might be a good experiment, but it's definitely not an indication of the way you would be working if it were full time and it's definitely not the same thing as remote work in my experience.
Until everyone you work with works remotely (or "like they are remote") it is difficult to simulate what that work can look like when it gets going well.
I just started a new role where video calling is engrained in communication. If you're going to be hashing things out on Slack for 10+ minutes, you might as well get on a video call for half the time.
I guess I kind of understand single people who like being at the office all day but at the same time many of them seem to act like work is most of their social life. That seems bad to me, So your whole social life is at the mercy of your employer? What happens when you get laid off?
In any case just like that guy I have options if I want to be more social. I got a house a short bike ride away from some co working spaces so it's an option.
Totally agree about it being about choice which is a breath of fresh air. Companies in big cities like SF seem like they are run with single college grads in mind.
Single people spend time alone for most of the day by default, so I don't think it's surprising at all that they would prefer to be around people most of the day before going back to an empty home. Most of us crave social interaction. All of the suggested alternatives to the office for socializing (coffee shops, coworking spaces, bars) are in general just worse, more expensive versions of a company-provided office.
I need to find my friends elsewhere. Simply working at a place where I'm surrounded by people is no solution to loneliness.
I do not get it.
Is the geographic location of making a software sooo much important? It is that very allocated desk and chair that will ensure a good product delivery so relocation of family, searching for accommodation and accepting a specific allocated city to live in and daily commuting in the overcrowded transportation systems must be mandated for a new workforce?
I am ok that managers have own style and some can only function face to face but to find zero number of those willing to accept remote workers because they are agile or what not is very strange to me.
Oh, btw, I worked remotely for many years earlier in total, successfully, was that just a one of experience then?
"If you're providing Bay Area value, you deserve Bay Area dollars!"
Every other kind of corporate propaganda (cost of living adjustment or whatever) is BS.
Mind if I ask: Is it completely homebrewed or based on some theme out there?
It's open-source if you're curious about anything! Though it's quite messy. https://github.com/joshwcomeau/blog
For example this is the author speaking at ReactEurope over a year ago. https://www.youtube.com/watch?v=Z2d9rw9RwyE
I would argue he's probably more "senior" then a lot of people with twice the "years" he has.
Unsolicited collection shot: https://i.imgur.com/H1x5k9Y.jpg
A few of them are OneDrop, including a Kuntosh near the front, and a Summit a bit further back :D
I do have a couple of "serious" Yoyos, including a OneDrop, that I pick up once in a while, maybe one day I'll get back into it for real.