 Thanks for watching this GitLab video. Today, I want to share a little bit about the remote stack. We'll discuss the tools required to build and run a business in a remote environment. My name is Brennan O'Leary, and I'm a developer evangelist at GitLab. You can find me on Twitter at O'Leary Crew, and I'll be happy to discuss anything in this video in more detail if you have questions. GitLab is the largest all-remote company in the world. As such, we've chosen tools built for that purpose, and we'll discuss how and why we made those decisions throughout this video. You can also use the hashtag all remote to learn more about how GitLab and other companies look at remote work. As with everything GitLab does, how we make our decisions about our tech stack must align with our values as a company. Those values – collaboration, results, efficiency, diversity and inclusion, iteration and transparency – color every decision we make, including about what tools we use. Tools must enable our way of collaborating, allowing us to share transparently with the world or at least within the company our decision-making process and the outcomes of those decisions. They must be efficient tools, and we often end up with what we lovingly call boring solutions. And every GitLab team member is encouraged to spend company money like it's their own, so any tool purchase is carefully considered and examined to ensure that it is a prudent investment. Efficiency is at the heart of everything we do. While functioning remotely as an experiment or for an extended period of time, you should try and minimize your tool stack. A collaborative documentation platform such as Google Docs, a company-wide chat tool like Microsoft Teams or Slack, and video chat like Zoom are all you need to get started. If your team also needs access to internal systems through VPN, it's critical to ensure that everyone has easy access and the instructions on their usage are very clear. At GitLab, our technology stack mirrors a very similar, simple set of tools that every team member has access to, which allow us to collaborate and get work done. These tools help us to tightly integrate our values into our work by writing things down, optimizing for the entire company rather than specific departments, keeping a single source of truth for all decision-making. Let's take a quick look at each of these aspects of our remote stack and how we decided to incorporate those tools into our stack. First, everyone must have access to a computer that allows them to get their job done wherever they are. For this purpose, we have chosen to have mostly MacBooks as our computer of choice. While some more technically advanced folks may use Linux on their laptop, the majority of GitLab team members run macOS on a company-provided MacBook. This allows us to have a consistent user experience and provides a boring solution for top-tier hardware reliability for every team member. Almost as critical as the computers we use is the office equipment surrounding your computer. GitLab provides employees the freedom to purchase the equipment they need, but recommends a few essentials. These include a comfortable desk and chair, external monitor and keyboard and mouse, as well as a dedicated microphone for video calls. Other equipment that a team member needs can be purchased and expensed so that they are not limited in their productivity and can be managers of one to understand what they need to get their job done. For video conferencing, we use the world-leading business video conferencing app Zoom. Zoom provides reliable meetings with audio and video to help team members interact in a more natural way than the traditional conference call. Zoom also allows us to host webinars with outside participants, share our screens, and even livestream many meetings directly to our YouTube channel. Zoom also integrates directly with our main enterprise chat application, Slack. Slack allows us to communicate between team members either synchronously or asynchronously. Channels exist at GitLab for a large variety of topics. This could be an event or a project that a team is working on, a long-standing team channel for answering questions, or even channels that are strictly about socializing with one another. In an all-remote environment, having these various methods of communication is critical for connecting team members. And GitLab is public by default and thus encourages most decisions to happen in public channels. That way, if another team member's input is needed with a problem or decision, they can easily be pulled into the conversation with a simple ad mention. For other documentation and communication, Google Docs provides an excellent multiplayer capability that lets team members take notes and share ideas quickly. Every single meeting at GitLab has at least two things, a Zoom link and a Google Doc with an agenda. These are the basic requirements of any meeting, and they help to ensure that those meetings are both effective and efficient. All team members are encouraged to take notes, ask questions via the Google Doc, or collaborate on slides or spreadsheets in Google Docs as well. And lastly, we'd be remiss to not point out another tool that is critical to our collaboration, GitLab. At GitLab, we believe that eating your own dog food or drinking your own champagne, depending on your preference, is one of the most critical things that we can do to make our products better. GitLab, the software, was born out of the need to have a collaboration tool that developers could also build and collaborate on together. Hence, it's a natural extension that we use GitLab to make GitLab. But it's not only our engineering department that uses GitLab. Everyone, from marketing to legal to customer success, uses GitLab in some capacity. If it's to edit a process, then we'll update the handbook using our web IDE. If it's organizing an event or content calendar, that will happen in issues and milestones. Or even if it comes to operating GitLab.com itself at scale, we use GitLab to build, test, and deploy GitLab. It's very meta.