I spoke recently with Sid Sijbrandij, co-founder and CEO of GitLab on how GitLab members use video for remote work. GitLab develops software for software development and their software is used by over 100,000 organizations worldwide. They’re growing very fast, in 2018 they ranked 4th on the Inc. 5000 list of fastest growing private companies.
GitLab is unique in that it's an all-remote company, all of their 500+ team members work remotely, spread across 50+ countries. How can company this size operate 100% remotely? GitLab members rely heavily on video conferencing and asynchronous video to collaborate with each other, to the extent that they even live-stream meetings on YouTube. Watch the conversation or read the transcript below for insights on how GitLab uses video for remote work.
Watch the recorded conversation
Read the full transcript
Note: The transcript has been edited for clarity.
SID SIJBRANDIJ: Thanks for joining. Today we’re going to talk about using video for effective communication for remote teams. I’m Sid, cofounder and CEO at GitLab, and I’m joined by Sunil. Sunil, do you want to introduce yourself?
SUNIL KOWLGI: Hi, I’m Sunil Kowlgi, founder and CEO of Outklip. Outklip is a modern platform for creating and sharing screen recordings. It’s used a lot by remote teams for things like bug reporting, sharing feedback as well as making short demos for customers so they can learn faster. So, it’s helping reduce meetings. Broadly we’re working on asynchronous video solutions for remote teams to help them collaborate more effectively.
SIJBRANDIJ: Awesome. I’d say fire away.
Running an all-remote company
KOWLGI: To prepare questions for the interview I browsed the GitLab handbook, where you document everything employees need to know about working at GitLab. It’s an exhaustive document, and also a great resource for the remote work community. But it also posed a challenge for me to come up with something new to ask. But I’m going to try my best to not overlap much with the handbook.
How distributed is GitLab — how many employees work at GitLab and where are they located?
SIJBRANDIJ: If you google GitLab team you’ll see a map and there’s now 470 people in over 50 countries. The majority of people are in the US and Europe.
KOWLGI: These employees are divided across different departments, like engineering, marketing, etc.? So, how big are these different department?
SIJBRANDIJ: If you look at that page I just talked about, there’s a dropdown. If you click that, you can see all the different departments. Approximately, half the company is in engineering and then sales and marketing are the other big departments.
KOWLGI: What is the best part of running a remote company?
SIJBRANDIJ: I like that I’m very effective with my time. I don’t spend a lot of time on airplanes. When I tell people I’m CEO of a growing startup and I’m on a plane once a month, usually to go to a conference or maybe visit a customer, most of the time I can combine going to a conference and visiting customers, they’re pretty amazed. Also, your day to day, you can go between meetings really really fast, it’s few seconds away, instead of having to find another room, etc.
KOWLGI: What is the thing you find most challenging about running a remote company?
SIJBRANDIJ: It’s interacting with the rest of the world. Like, frequently when you talk with someone who’s not used to remote, like they don’t have a good webcam, they don’t have earphones. You’re perfect, you have a good webcam, earphones and internet connection. That’s great, but it’s challenging when there’s slight technical difficulties.
How remote teams hold meetings
KOWLGI: Meetings are a challenge for remote teams because of timezone differences. How do you select a good time for a meeting at GitLab?
SIJBRANDIJ: So, you select the time with the most overlap. For us, that’s 8:30 Pacific and 9:00 Pacific. You can’t hold your meetings then as we have our group conversation, a conversation about what a part of the company is doing and a company call, which is mostly hanging out with a fixed group of people and talk about things outside of work. Today we talked about what imaginary fictional destination you would want to go to. Hogwarts was really popular. That’s the most important to us, that we create the social bonds and that everyone knows what’s going on in the company. So, the rest of the meetings are hard to plan so we tend to have fewer meetings, which I think is an advantage in itself. And, we try to do a lot of things asynchronous, like commenting on issues or working in chat.
KOWLGI: The work patterns are going to be different based on the kind of team, right? The deadlines and urgencies are different for product teams versus technical support. What is the impact of working across timezones for these different teams?
SIJBRANDIJ: Yeah, I think for example technical support they have an SLA (Service Level Agreement), we have a promise to customers that we’ll respond. They have what they call a response hawk, someone that’s watching all the different issues. There’s all kinds of severities and levels of support we agree with customers, so they make sure that that works. Automation helps there, but there’s also people responsible. They follow the clock, basically there’s three teams, in Europe, America and Asia, so they take over from each other. So, that’s going well. Also, think that maybe a counter you don’t think about, a lot of meetings are needed because it’s not clear who’s directly responsible individual. So, a lot of the work we do is making sure that most issues have a directly responsible individual who can make the choice without needing to get buy-in from other people. And that takes away a lot of meetings.
KOWLGI: How do you do these meetings? What’s the relative usage of video conferencing versus phone calls?
SIJBRANDIJ: No phone calls. Yeah, it’s unclear who’s speaking, you can’t see non-verbal communication, it’s hard to share something and we use screensharing a lot. Showing people what we’re pointing at, so I haven’t had a phone call inside GitLab in years and when I have to do it externally, I think of it as a technical problem, like it’s ridiculous that people do that in this day and age.
KOWLGI: From speaking with various people I’ve heard that people working from home generally turn off their webcam during meetings. Is that common at GitLab?
SIJBRANDIJ: It’s as common as walking into the office with a motorcycle helmet, so it’s not common, it’s not something we do. I join calls before I get my hair and stuff like that and that’s encouraged, and people should feel comfortable doing that.
KOWLGI: Do you feel that you have too many meetings or you’re happy with the level at which you have meetings at GitLab?
SIJBRANDIJ: Way fewer scheduled meetings for decision making than other companies. What we do a lot is that in discussing with someone if you go back and forth a lot a few times, you should hop on a video call together instead of trying to work it out over chat or asynchronously. As soon as there’s a bit more interaction needed, people should hop on a video call. So, we have a lot of impromptu things and those aren’t really meetings. Those are the same as asking someone something and it turns into a 10 or 15 minute discussion or conversation. I think that’s very healthy and we encourage that. I think scheduled meetings for decision making purposes are not very healthy, and we try to get rid of them. Have the directly responsible individual come up with a plan and if you disagree with the plan you can just talk one on one. No need for five other people to listen to the two of you talking.
KOWLGI: Communication within remote teams tends to be largely asynchronous, so what communication tools do you use most at GitLab?
SIJBRANDIJ: We use GitLab Issues, GitLab Merge Requests, Slack, Zoom and Google Docs.
KOWLGI: Do you use asynchronous video communication and what do you use it for?
SIJBRANDIJ: Yeah, that’s interesting. We do use it. For example, this morning I watched a presentation by our project manager, Brandon O Leary, about Verify, a project. So, we try to upload as much as we can. We encourage our people to upload to a channel called GitLab unfiltered and there’s a lot of content there and that’s greatly increasing. Every single person in the company has access to that. They can upload to GitLab unfiltered.
KOWLGI: What are some of the pros and cons of written versus asynchronous video communication?
SIJBRANDIJ: Because with written communication you can’t have someone respond, you tend to be more verbose. Like you tend to say more to make sure to answer any question a person might have. If you talk you can just wait for the person to ask you, so written tends to be more verbose or costs more time to write something than to read something. So, there’s a bigger burden on the sender. If someone is getting annoyed, it’s harder to spot. So, there’s a bigger chance of it going off the rails a bit, when people get annoyed with one another. It’s very important that people also meet each other in a synchronous fashion where they get a better understanding of the other person and build more trust between them.
KOWLGI: What’s the nature of asynchronous video communication? Are people recording their webcam or are they doing a screen recording?
SIJBRANDIJ: All these things, presentations, etc. Also, we are now in a synchronous communication but I might post this in the CEO channel or we might post it in a reference handbook about remote work. So, it’s kind of both — it’s synchronous for us but it will be asynchronous for a majority of people that watch this video.
GitLab’s use of YouTube
KOWLGI: GitLab has a huge presence on YouTube. Last time I checked, you had hundreds of videos and almost 2 million views. Why is GitLab so prolific on YouTube? Why do you emphasize using YouTube so much?
SIJBRANDIJ: First of all I think it’s an underutilized medium. I also think it builds more of an emotional attachment than things like blog posts. You can relate to people better. But the most important thing is it doesn’t cost anything extra. We are having these video calls anyway. Only thing we’re doing is now we’re streaming it to YouTube. It’s a minute of setup extra and the content is out there. What we don’t do is spend a whole lot of time about thinking are we going to stream to YouTube, we just have the meeting we’re always having but we just stream it. I think that’s the big benefit, it doesn’t cost you a lot extra but it allows a lot of extra people to consume it. I for example, I spent an hour at the gym this morning. I just bring my iPad and I watch YouTube videos. I’m not able to read blog posts, I’m on a bicycle, but I am able to watch YouTube videos. So, people consume information differently and at different moments they want to consume information differently. I think there’s a lot of written content, I don’t think there’s a lot of viewable content. It’s a great channel to get people familiar with GitLab.
KOWLGI: Who at GitLab is creating most of the content that goes on your YouTube channel? Are there specific roles or is it across the board?
SIJBRANDIJ: It should be across the board and I think right now I’m making the most content, which is not great. So you see people like Brandon, like Victor Hu, who’s done an amazing job of putting it out there. We’re just getting started. Basically every person at GitLab that has a couple of video calls a day there should be at least one a week that you take the effort to stream.
KOWLGI: Aside from putting it on YouTube, do you share or promote these videos — like you share it on Slack, Twitter, etc.?
SIJBRANDIJ: Yeah, we share them internally. We sometimes tweet about them. I think we’re still discovering how we can best promote them and sometimes maybe do a write-up of an interesting stream as a blog post. We’re still getting started there. We’re not doing that a lot and that’s going to increase in the future.
KOWLGI: We’re right now using Zoom to make this recording and it’s going to be present on YouTube right afterwards. Are there any other tools you use for video or screen recording?
SIJBRANDIJ: This is a livestream so we have people in the livestream now and the recording will be available afterwards. We love Zoom. You can also do something on YouTube where you go into a Google Hangouts but we found that works less well, so we’re standardizing on Zoom for these kind of calls.
KOWLGI: What are some of the best practices you recommend for creating content for YouTube? What are the guidelines for GitLab employees for making videos?
SIJBRANDIJ: For me it’s really important to put the bar really low. To capture more of the content that is already out there. We’re not going to place demands on you — think about this and this and that. Have the meetings you would have anyway and just hit the record button. The only thing you should be cautious about is that this is public so for example, don’t name customer names because a customer might not like to be named out in public. There’s a few other things that are company confidential — so try to avoid confidential information and if it does happen, try to take the video down as soon as you can. That’s basically the only rule we have.
KOWLGI: Apart from livestreaming, what are some of the video related features you use — things like annotating videos, editing them? Do you do much editing of videos that you post on YouTube?
SIJBRANDIJ: Right now not. Maybe as we get better we can have more production. It’s very time consuming and it should only be a minute of extra work not hours. The only thing I really enjoy using is virtual background. So you see a picture of our team in Cape Town. In reality I’m sitting in a spare bedroom at my house with a green screen behind me.
KOWLGI: What are some of the pain points in making and sharing videos? Any particular thing that you wish were done better?
SIJBRANDIJ: Have a good mic. This is a super nice podcasting microphone on a boom. That’s very important. Have earphones, no one wants to listen to your echo. These ones I have are super lightweight, I wear them about 10 hours a day. I want open earphones not closed ones. And the rest speaks for itself. Have a good internet connection and a reliable computer.
KOWLGI: You mentioned you take down confidential videos? So how do you share confidential videos internally?
SIJBRANDIJ: We put them as private videos, but since everyone has an account on GitLab unfiltered, we can all access them.
KOWLGI: Getting to some of the use cases for why you make videos, I’ve seen on GitLab’s YouTube that you have a virtual townhall with new hires. What are your reasons for doing that?
SIJBRANDIJ: It’s a CEO one on one call and new hires ask questions, stuff they couldn’t find in the handbook or they looked for it, it might be there but they don’t know. And, the reason for recording it, we also have a lot of people that are considering joining GitLab but haven’t quite joined and might have the same questions, so we want that content to be out there.
Supporting and training customers as a remote team
KOWLGI: I want to talk about some outside facing things. Where are GitLab’s customers mostly located?
SIJBRANDIJ: They’re all over the world, I think more than 180 countries but I’m not quite sure. A majority of them are in the US and in Europe.
KOWLGI: What are your most common ways of supporting customers, given you’re a remote team and your customers are probably not in the same geo as the support person?
SIJBRANDIJ: We try very hard to make sure that our support people are at least timezone wise aligned with the incoming request. It’s not necessarily they’re in the same region as the customer, but that they can receive requests in a normal time of day for them. So, we do have support teams in Europe, in EMEA, in Asia, to make that happen.
KOWLGI: How do you train your customers to use your products? What are the different modes of training?
SIJBRANDIJ: First of all, the product shouldn’t require training if at all possible. We’ve got a UX team, a UX research team within that UX team to make it as intuitive as possible, as easy to install as possible. But, apart from that there’s a lot of documentation but there’s also technical account managers and solution architects that help answer questions. A lot of those questions are how do we change from our old systems to GitLab — what do we need to do for that. How do we get the data in there and how do we change culture and maybe even our hiring criteria to adopt and embrace DevOps.
KOWLGI: Do you use video for customer training or support?
SIJBRANDIJ: Yes, we regularly do webinars. We sometimes go onsite, but webinars are an important part of that too.
Remote team collaboration
KOWLGI: Now I want to talk about team collaboration. On a remote team you’re no longer able to tap on someone’s shoulder when you want to give feedback on their work. What are the different ways in which you give feedback within GitLab and especially when someone’s not available online when you want to have that call to share something with them at that instant?
SIJBRANDIJ: Different ways — we use chat. Try to give negative feedback in private and public feedback in a thank you channel so the whole company can see the positive feedback. Many times the artefact of what we’re discussing is a merge request, not only for our code but also changes to our handbook and our processes, so you can leave feedback on those. Or it’s in the issue, so you can leave feedback on the issue. Or it’s in a Google doc, you can leave feedback and comments in there. Also managers are expected to have one on ones with their reports. I have a weekly one on one with all my reports, so I put a lot of feedback on those agendas and that actually has a special section called feedback.
KOWLGI: Do you at times resort to video feedback?
SIJBRANDIJ: Most of the time I try to do it in the video calls. So, I put it on the agenda but we discuss it on the call. And, I think feedback is hard, it’s hard to give, it’s even harder to receive, so it’s much better to do in an environment where you can see someone is distraught at what you’re saying, they don’t understand or they don’t agree, they’re able to respond. It’ll feel pretty powerless if someone gave you negative feedback and you’re not able to ask an additional question, or you think there’s a misunderstanding, you’re like how important is this. So, I prefer to do it, if it’s serious, in a video call.
Software bug reporting
KOWLGI: Next, I want to talk about bug reporting. You’re a software company and there’s practices around testing and reporting bugs. So, how do you test your software, who files the bug report and what are some of the tools and practices around bug reporting?
SIJBRANDIJ: There’s a lot of testing going on at GitLab. We have an entire team, the quality team, that helps us to refactor those test sets. Those are unit tests, integration tests, we even have system tests called GitLab QA. So, as soon as you propose a commit to GitLab, we spin up over a hundred computers to test the code, to make sure that everything is still working. So, it’s quite a big test set and there’s a lot of people in the company involved to make sure that that happens reliably and fast, and that it catches the things you want to catch.
KOWLGI: Do you also have manual software quality testing?
SIJBRANDIJ: Less and less. I think we’re almost done. The last thing was kind of GitLab QA which was very, like piecing different parts of GitLab together and doing some smoke testing. But, that’s all completely now automated. You want to avoid manual testing because you cannot repeat it. If you repeat it less, you’re going to find bugs but you’re not quite sure where they were introduced and it’s harder to track them down.
The steps to reproduce the bug are often the most key to fixing the bug, because if you can’t reproduce it, you can’t fix it. Have you used videos and have they been effective for you, in terms of documenting the steps to reproduce a bug?
SIJBRANDIJ: We try and we strive to automate the reproduction steps, so many bugs that we find, the solve is a one liner but there’s hundred lines of extra tests being added to catch the bug.
How to persist tribal knowledge
KOWLGI: Talking about how the tribal knowledge is stored and persisted within GitLab, storing and spreading tribal knowledge in a company is a challenge as it is, I imagine it’s more difficult as a remote team. What are some of the practices that have helped in maintaining a knowledge base at GitLab?
SIJBRANDIJ: This is one of the most essential things for any company. We are much better at it than other companies because we write things down. We more than double every year, so at the end of the year, most of the people are new. Just telling each other would really dilute it. One thing we’re really struggling with is for example, the tribal knowledge of support, how do we make sure that’s captured. And we wanted to capture that in the GitLab documentation, so we’re giving more access to support to add things to the documentation and try to make sure that whatever they advise customers is also reflected in our documentation, because that’s the only way you can allow people to self serve and have a single source of truth for what people should do. That means there’s more informal advice in the documentation and it took some convincing to make our documentation team comfortable with that. We’re still rolling it out and I can’t declare success yet. That’s one of the ways we tried to do that. But, also for example, people have nicknames. My cofounder is called dz, we capture those nicknames on our team pages. So, if someone has a nickname it’s on the teampage. If someone’s talking about them, you can look at the page and find them.
KOWLGI: There’s always a difficulty in getting people to document tribal knowledge. What do you think will help more people to contribute to the knowledge base? It’s one thing to have the policy to document everything, but what kind of changes in tooling or culture is going to help promote storing things in a knowledge base?
SIJBRANDIJ: A few things. First of all, we decided on making a special troubleshooting section that can be added to any documentation page, which is kind of a free for all. Where people can add things with a very low bar. The second thing was making sure that all the support engineering managers could merge things into the documentation. As you make an addition, you know that your manager can quickly get that in. Last but not the least we’re going to measure the emails that went out, do they have a custom answer or were they referred to a piece in our documentation and reference that.
Using mobile for remote work
KOWLGI: I want to ask you about the usage of mobile phones. A lot of work happens in front of a PC, how much of your work happens on a mobile? What kind of work do you do on your phone?
SIJBRANDIJ: I use Slack a lot on my mobile. I find it very frustrating that when I go from Slack to any application I’m never signed into that, I’m not sure why that is, is it because I use Chrome or something. I don’t know. I also do Zoom meetings when I’m out and about and I need to do a meeting, I’ll do it via Zoom on an iPad. I’m starting to use the iPad a lot more in the last year. I love that. I love being able to sit in a taxi, I have LTE and you can just continue your work. I think that’s a great thing.
KOWLGI: Do GitLab employees make videos on their phones? When and why do they do that?
SIJBRANDIJ: Yeah, we try to do that. If we’re having an in person conversation, just whip out a phone and record the conversation. I still stimulate people to do it but it’s not happening often. I think it’s awkward to do, it’s not normal so people tend to not do it. It’s also hard to get the video and audio right. With video you have two people speaking so you have to be switching between them, that’s not ideal. The audio tends to be bad. That’s why we have a big advantage as a remote company. We’re in video calls, we get a camera on each speaker. The view switches between the speakers. We get headphones, we got good microphones. I think that because we’re remote, we’re on video calls a lot and we have this gold mine of content we can produce. I’m trying to focus on that instead of trying to do it in person.
KOWLGI: You have this goldmine of content on YouTube. Do you have any practices around making it easy to search and find?
SIJBRANDIJ: No. Right now we’re just focused on quantity, quantity, quantity. And then, quality, distribution, editing, promotion, reformatting, writing a blog post out of it, that’s all going to come. First let’s open up the floodgates and let’s start picking through it, and it’s not gold, it’s gold dirt at that point, but I’m sure we’ll be able to get some gold out of that.
KOWLGI: Any use cases that you have come across for mobile screen sharing?
SIJBRANDIJ: I think it’s very hard. You want to do it. I was in a whatsapp call with my sister just this morning and I went to share a photo. I’m in a whatsapp video call, what’s more normal for me than share my screen and show a photo of my cat, but I couldn’t. I had to leave the video call, she doesn’t get video any more, go to my pictures and share them through whatsapp, forcing her to leave the app. I think it’s the next gen in video calling where you’re able to do screen sharing. I think on computers it’s already really good, You can share a presentation or Google doc via Zoom, can see the cursors and everything. I’m just hoping it will get to mobile too.
Better video tools for remote work
KOWLGI: I have a last couple questions on the future of remote work. First off, do you have a wishlist of features on asynchronous video sharing or creation, that could really help GitLab?
SIJBRANDIJ: So, I’m not sure if this answers your question. But, one thing we’re really missing is the ability to livestream without a lot of hassle. We can do this live on YouTube, but we both have to be promoted to panelist. I wish you could have a link where anybody in the call was a panelist. Also just setting the title of the YouTube stream
and the permission level and the channel in advance, so the people organizing the call can do that, so that you don’t have to be in the call to do that would be helpful. It’s hard for people on YouTube to interact with us, we’d have to look in the YouTube channel. It’s inconvenient, it starts the streaming and audio starts. I want an integrated chat system there. So, just some things to make streaming itself easier to do.
Future of remote work
KOWLGI: A more general question, this is my final question. So, what do you think will make remote work easier as we go forward?
SIJBRANDIJ: I think internet connections getting better, that’s the most important thing. Also, tools you need, the webcams, the microphones are getting cheaper and more accessible and that’s driving it. Of course what’s happening is that it’s getting more common. When we got out of Ycombinator, it was like oh remote, it doesn’t really work, etc. But with companies like Invision, like us, like Zapier doing really good, people are opening up to it. It’s getting more and more common, I think it’s also common to get business meetings in a video call. So, as that gets more common there’s going to a lot more remote companies and a lot of benefits for the people at companies that have more flexibility in their time and need to work less hours, but also for the environment and most of all for the spread of wealth across the planet.
KOWLGI: Excellent. That concludes all the questions that I have. Thank you for sharing your insights with me and the rest of the audience. It was really a pleasure to do this interview with you.
SIJBRANDIJ: The pleasure was all mine. Great questions, I enjoyed it a lot and thanks so much.