I live in Montreal. 4 years ago, I decided to take a job working remotely for a company based in San Francisco. At the time, I was worried that it wouldn’t work out – I’d never worked remotely before, so it was a pretty big unknown for me. You can see me struggling with it on this blog after 3 months and 8 months. But Avi (one of the people who interviewed me, who works remotely) convinced me that it was a reasonable thing to try, and I could see that it was working for him, and I really liked all the people who interviewed me, so I decided to give it a shot.

It worked out. It obviously hasn’t always been 100% perfect in every way, but working remotely has been a great career move for me. I’ve learned a ton from my coworkers and have been able to do some really cool projects that I’m proud of. So here are some thoughts about what I think has made it work for me.

As usual this isn’t advice, and I’m not saying that you should work remotely. I’ve only done remote work at one company (Stripe) and I am only one person (even other remotes at Stripe will have different experiences than me!).

What’s scary about working remote?

When I started writing this post, I tweeted:

been working remote for almost 4 years now and was thinking about writing a post about it. what would be useful to say?

I got a really overwhelming response – more than a hundred people replied to that tweet with questions! In this post I’m going to try to answer some of those questions.

I’d venture that the reason people are so curious is that working remote is a big, scary leap, and one that a lot of people are interested in potentially making. I think the questions I got can roughly be broken down into 3 kinds of concerns about working remote:

Personal mental health/productivity concerns: Will I get lonely? Will I be too distracted when working from home? Can I maintain good work/life balance? Will the travel impact my personal life? Basic ability to do one’s job: Will I miss out on conversations in the office? How will communication work? Will people forget I exist? Career growth: Can I take responsibility for really important projects? Can I get promoted? Can I be a leader?

I’m going to talk about these in reverse order – I have the least to say about “will I get lonely” because although I think it’s a really important issue and it’s been a struggle for me sometimes, it’s varies a lot from person to person and I’m not sure what to say about it other than “leaving your house is generally a good idea” :)

What’s good about working remote?

Before we get into the struggles of working remote, let’s talk about some of the benefits!

The two main benefits are the obvious ones – I get to live where I want (Montreal) and have the job that I want. And San Francisco tech companies in general pay a lot more than Montreal tech companies, so working for a SF tech company while living outside SF is great.

A few other benefits:

I have a lot of control over my working environment. It’s relatively easy to close Slack and focus.

I basically haven’t had to set an alarm for 4 years.

There’s a nice community of remotes across the company. I’ve gotten to know a lot of wonderful people.

I can work from another city/country if I want (like I went to Berlin for 6 weeks in 2016 and it wasn’t disruptive, especially since my 2 teammates at the time lived in Europe).

I live in a slightly shifted timezone (3 hours ahead of many people I work with), so I can get stuff done before anybody gets to work.

Let’s talk about career development

Here’s a question from Twitter!

I think it’d be great to read about your experiences around career development (promotions, mentoring). I hear from a lot of remote devs that they mostly accept it’s not possible. And I’d also be interested to know about your experiences being mentored.

While working remote, I’ve been promoted more than once, mentored an intern, led large projects, made major organizational changes (I redid our engineering ladders last year), taught onboarding classes for new developers, and learned a lot from a lot of fantastic people. I am not a manager, but my current manager is remote and I think he does a fantastic job.

I think the main reason that this has worked for me is that I work in an organization which has a lot of remotes and very good support for remotes. A few other things that have helped me:

Communicate a lot. (write lots of emails! Have lots of 1:1 conversations! Maybe overcommunicate!)

Maintain a good network of people on various teams

Have great remote role models that inspire me & show me that I can also be successful while working remote

Have a lot of people who have invested a lot in helping me be successful ❤ (which i try to pay forward when I can)

How do you learn from your colleagues remotely?

I work at a company with a huge number of really talented people. I was worried that I wouldn’t be able to learn from them because I work remotely. I don’t think this has been true (I learned a lot!).

However! When working remotely I do think you have to be much more intentional about how you construct your relationships with your coworkers. If I don’t explicitly decide to talk to someone, it’s very possible that I’ll literally never talk to them. (like there’s no chance I’ll run into them serendipitously in the office).

Here are 3 different ways I’ve learned from more experienced people.

Way 1: Meet 1:1 with the person every week.

One pattern that has been incredibly valuable is – meet with $person (on my team) 1:1 every week for months/years and get advice from them about whatever I’m currently working on. One important thing to me in this kind of relationship is that the person be continuously invested/engaged in my work – it’s way more useful to get advice from someone who’s familiar with everything I’ve been doing for the last year than from someone just swooping in with their thoughts.

Way 2: Work with the person on a specific project.

Earlier this year, I wanted to improve our engineering levels. I don’t think I could have done this on my own, but I partnered with someone more experienced to do it! I did all the legwork (writing the initial level definitions, interviewing, getting feedback, incorporating that feedback, writing the final document), and he helped me make sure I was approaching the project in the right way and getting feedback from the right people. I learned a lot from this!

Way 3: Ask the person a question every few months.

There are a few people who I talk to pretty infrequently (maybe once every few months) but when I talk to them it’s very helpful! I usually try to go to them with really specific questions about things I know that they know a lot about. For example, I had a very useful conversation about what it means to be a tech lead with a tech lead on another team recently!

Remote communication

A ton of people asked me questions about what I think of as sort of basic job health – how do you make sure your coworkers don’t ignore you / leave you out of discussions, how do you communicate, etc.

My current theory about this is – as long as I work on a team with a lot of other remotes, everything will be fine. Working as the only remote on a team of people who are all in person seems like hard mode – I have never done it and I’m not that interested in trying that. That said, I’ve tried to answer a few specific questions here. Here they are!

How do you stay plugged into spontaneous conversations around the office?

I don’t. My team (if I’m counting right) is 50% remote (6 remotes, 6 people in the office). I think engineering overall is maybe 20-25% remote but I’m not sure.

I think this is actually a really important point to understand about remote work – on the remote teams I’ve been on, the the whole team has adopted a working style where all important team communication happens over Slack / video calls / email. IMO if your team is mostly remote, you’re forced to adopt a remote-first working style.

How do you have idle/watercooler discussions?

Spontaneous conversations with coworkers are really important though! I have 2 things I do to make sure I’m talking to people in an unstructured way from time to time.

First, I have 5-6 weekly 1:1s with different people with no agenda. Most of them are with people on my team, and I talk to 1 person not on my team. I find these really helpful for talking through things we’re working on and what’s going on in the company. The other thing I do is – when I visit San Francisco where the main office is, I schedule lots of 30-minute chats with people just to catch up. These are a huge part of staying connected for me!

One weird thing about the pattern of having weekly 1:1s with the same 5-6 people is – it means the number of people at work who I regularly talk to face-to-face is pretty small. This seems to be work okay but it’s definitely different from how my work relationships would look if I worked in an office.

https://donut.ai is a cool system for pairing people up at random to talk and I’ve liked it when I’ve used it.

What happens if you spend a week stuck on a problem?

One concern I hear sometimes is – if you’re struggling for a week to fix a bug, will people notice? Or will people just think you’re not doing anything that week?

I haven’t found this to be a big problem – sometimes I’ll spend 1 week trying to debug the same issue. I just make sure I communicate to my team that’s what I’m doing! Once I realize it’s going to take a while to fix, I try to tell people I’m planning to spend a long time working on the bug because I think it’s serious and worth spending time on (which is good, because if someone disagrees, we can talk about it!), document my progress, and I’ll generally talk about what I’m struggling with in Slack or in my 1:1 meetings with people throughout the week. Sometimes they’ll have ideas that help get me unstuck!

So if I spend a week working on a tricky bug, the result is people usually understand why I spent so long working on it, and once it’s fixed we can celebrate!

Calendar management

One challenging thing about all these weekly meetings I use to communicate is making sure I don’t fragment my calendar too much – it’s important to have enough time to focus! The meetings are all important – if I didn’t have the meetings, I’d be out of touch and couldn’t make decisions about what I should be doing with my focus time – but it’s important not to let them take over :)

here are things I do to keep my calendar under control so I have time to focus and can leave work on time:

try to cluster meetings together (have a 1.5 hour meeting block so I only get interrupted once)

block off 4-hour chunks of “focus time” in my calendar. People are good at respecting that.

add an “end of day” block on my calendar at 5:30pm EST every day. This means that people know not to schedule things with me after I’m done for the day. Sometimes it’s unavoidable because 5:30 EST is 2:30 in the home office, but people are really respectful and always ask if it’s okay first.

I’m not an introvert, and I like working remotely

One stereotype about remote workers is that we’re all introverts! I’m not sure if I’m really an introvert – I really like having people around me and talking to people helps me think. I think it can actually be really useful to be somewhat extroverted when working remotely, for a few reasons.

When I started out, I needed to learn a lot of things pretty quickly to get started – at the time I was working with Hadoop and doing a bunch of data engineering, and I had literally never heard of Hadoop. It was really important for me then (and now!) not to be too self-conscious about asking questions when I didn’t know what something was or was stuck.

It’s also important to actively cultivate relationships with the people who I work with, so when in San Francisco I spend a ton of time talking to people (like I’ll often have nonstop meetings for several hours). I think if I was more of an introvert it would be really exhausting to do that.

Also I think it can be a little easier for your work to get kind of lost / unrecognized when working remote. So it’s been useful for me to err on the side of overcommunicating about what I’m up to and what I’m planning.

What’s the setup like for meetings with people in the office, does it work well?

There are basically 2 possibilities either I’m having a 1:1 meeting with someone (where we just use their webcam / laptop microphone), or I’m in a group meeting and we use a conference room’s A/V setup.

Meeting rooms have a really good A/V setup I can always hear people well and they can hear me well and see me. This is a huge deal – it can be really alienating to be in a meeting where people can’t hear you well and you have to keep repeating yourself. I can’t imagine working remotely without good videoconferencing technology.

How do you stay productive and also separate work/life at home?

I try to stop working by 6pm or so. I usually work from my couch but have a coworking space I go to sometimes and sometimes work from cafes. A lot of people have written a lot about how it’s important to maintain a really clear work/life separation at home (have an office, use a coworking space). I won’t argue with them but I don’t really do that.

I’m used to working at home and now I find being at the main office a lot more distracting than working from home.

Working remote is a huge change

This is a pretty positive post because I enjoy working remotely now and I think it’s worked out well, but I think it’s important to understand that it’s a huge change in working style. I’ve had to be a lot more careful and intentional about how I communicate with people at work. I really struggled with feeling lonely/disconnected for at least a year after I started – it was a big adjustment and I think even a year or so after I started it wasn’t totally clear to me if it was something that was going to work for me long term.

These days I have a good grasp of how to communicate with folks, I know what to do if I start to feel a little disconnected, and I’ve been able to do work I’m proud of and I think even change the engineering culture at work a little bit :). I don’t feel like working remote ever gets in the way of anything I want to accomplish.

I’m really glad that the folks who hired me took a chance and hired me to work remotely for them even though I’d never done it before!