Sourcegraph is an all-remote company, which means:
- All teammates are encouraged to work remotely. Sourcegraph provides a budget for home offices or office spaces to teammates as needed.
- We use our business office address in San Francisco to provide a mailing address, for corporate filings, and on-site workplaces as legally required.
- We work asynchronously across time zones and continents.
- You choose when you want to work. (Most people work the normal working hours for their time zone.)
- You don’t need to ask permission or tell anyone if you need to step out.
- We try to limit the number of synchronous meetings, but there are some company and team meetings that you need to attend which might be outside of your normal working hours. We do our best to optimize meeting times for all involved participants.
Having a shared set of values and trust among teammates is the foundation for a cohesive team, regardless of whether the team is all-remote or all in the same office. We have that here at Sourcegraph.
With an all-remote team, there are a few things to be extra mindful of.
All-remote teams like ours rely heavily on written communication. Nothing else works when you want to communicate and coordinate work across many time zones. Unfortunately written communication lacks some valuable cues that in-person communication provides.
- The speaker’s non-verbal cues (e.g., tone, facial expression, posture) modulate how the listener perceives the words being said.
- Without this context that people are used to, written communication can feel cold and negative by default, unless the writer makes a conscious effort to lead with positivity (e.g., “Great!”, “Thanks!”, “I agree!”). This becomes less of a risk if the speaker and listener already have a good working relationship.
- The speaker can adapt their message based on the listener’s non-verbal cues (e.g., if the listener looks confused then the speaker can ask what is confusing and clarify the confusion before moving on).
- Written communication is most effective when the writer thinks about what questions readers will have and preemptively answers those questions in the original communication.
All-remote teams can’t rely as much on the spontaneous interactions and conversations that might happen in an office (e.g., in a break room, in the hallway, at lunch). These kinds of interactions are valuable for building interpersonal relationships, so all-remote teams need to explicitly make space for these things to happen.
At Sourcegraph, we support these kinds of interactions in many ways. Here are a few:
- We use https://donut.com to schedule 1-1s between random teammates each week.
- In addition to our weekly company meeting, weekly team meetings, and regular 1-1s with your manager, teams schedule regular optional “watercooler” meetings with no agenda where teammates can join and chit-chat. Teammates also frequently hop on a video chat to chat, pair program, or work through an issue together (just like you would in an office).
- We have travel budgets so teammates can meet up with their team to bond.
I’ve always appreciated moments when managers or more senior members stopped by and personally introduced themselves to me, or took a genuine interest in what I was doing. It was a moment that I appreciated them for, and felt that they cared. Similarly, some former managers of mine maintained an “open door policy” where I was able to come to them with any informal concerns of mine.
The fundamentals of supporting teammates (regardless of their experience level) are the same on all-remote teams, it is just that the processes are different. Video chats can be arranged just as easily as stopping by someone’s desk to introduce yourself or showing up at someone’s office to express informal concerns.
Why is there so much activity over the weekend (GitHub, PRs, Slack)? I felt a little bit of pressure not working.
Some people prefer to work in a really flexible way, which can sometimes mean that they want to hack on something on a Saturday instead of a Friday afternoon, for example. Others prefer a set schedule. Both are valid options. Moreover, due to our global team one person’s weekend can be someone else’s weekday.
There is no expectation that people will be responsive over the weekend/vacation/evening/etc except some circumstances that do require this, but generally there will be early/predictable notice—e.g., on-call duty.
Tip: Configure GitHub notifications to send Sourcegraph related ones to your work email. After that it is just a matter of not checking your work email (or Slack) at times that you don’t want to do work. Slack has settings to pause notifications, and you can remove work email from your phone if that would help you not check it during non-work times.
Just because we’re remote, does not mean we don’t have hackathons. Teams, organizations, and departments across Sourcegraph—including product + engineering, business operations, and customer engineering – have held remote hackathons.
- Our journey to all-remote
- Tips for working remotely
- Asynchronous communication at Sourcegraph
- Teammate-recommended productivity hacks
- Social calendar
- GitLab handbook: All-remote
- Sourcegraph is all-remote, asynchronous across time zones, according to GitLab’s taxonomy
- Remote Work Encyclopedia
- Remote-only manifesto
- Zapier’s guide to remote work
- InVision all-remote blog posts 1 2
- Why Buffer became all-remote
- Martin Fowler on remote vs. co-located