Descript’s internal guide for using Linear as your work operating system
Linear is a critical internal tool for Descript’s EPD and business teams. Below is an excerpt of the best practices guide Descript CEO Andrew Mason wrote to help the teams at Descript set up Linear as their work operating system. The guide includes a breakdown of tips for mastering keyboard shortcuts, integrating Slack messages with Linear, using Raycast for quick issue capture, and customizing Linear for focused task management.
Today, your tooling is the place most of your team’s collaboration and work happens. What tools you choose–and how well your team truly embraces the functionality and potential of them–determines how well your organization operates.
Thankfully, leaders like Andrew Mason, CEO at Descript, are out there creating comprehensive resources for their teams, including a great breakdown of how to use Linear as your work operating system.
For the unfamiliar, Descript is an all-in-one video editing platform that’s been building on Linear since December 2020. Over the years, we’ve helped them uplevel their engineering workflows, and drive deeper collaboration between different functional teams.
As Andrew expands on in the re-printed guide below, the superpower of a great collaboration tool isn’t really about the tool at all. Rather, it’s about the ways you can free up your time to focus on more satisfying work (in turn making your team more successful and happier to work together).
Thanks again to Andrew for creating such a great resource for the teams at Descript, and for letting us republish it here for the wider Linear community.
Descript’s Linear best practices
At Descript, Linear is core to the way we work internally, and if you use it effectively, should be your central work operating system.
But, like all tooling changes, getting up to speed with it and helping our engineering, product, design, and business teams learn how to best leverage it has taken some time and standardization. This is less a comment on Linear and more just the reality of folks learning a new way to do project and task management.
It’s worth putting in the time to learn though, because, as a company, these are the benefits we get from using Linear effectively as a collaboration tool:
- Less time looking for things (Did someone file a ticket for X already? Where is that bug?)
- Less fielding questions from a zillion people like ”What’s the status of X?” - just look it up in Linear
- Less interruptive use of Slack for things that should really be handled as tickets (distinction touched on below)
- A framework for you to prioritize your work and decide what you can/can’t commit to, so you don’t get overwhelmed. And you automatically communicate those prioritization decisions to everyone and automatically set expectations
Below are the Linear best practices encouraged across all the teams at Descript.
How to get more efficient with Linear
Linear has a range of features that help you work faster and smarter across all your workflows, including keyboard shortcuts, quick screen capture with Raycast, and their Slack integration.
If you spend a few minutes at the beginning of your Linear journey understanding how to navigate these shortcuts, it’ll save you a ton of time down the road.
Learn the keyboard shortcuts
You’re going to spend a lot of time in Linear, but you’ll spend a lot less if you invest in learning the built-in keyboard shortcuts. Linear is probably the most tricked-out with keyboard shortcuts app I’ve ever used. Here are some of my favorites:
- command k to open a list of commands specific to the item you’re on (e.g. moving an issue to another project, changing the assignee or followers, changing status, etc.).
- g and then various keys to quickly navigate to My Issues, Projects, etc.
- o and then p to search projects, or t to switch teams, or d to open project documents
- j and k to navigate up and down list items
There are also a bunch of single-key keyboard shortcuts (c to create issue, a to assign to user, l to add label, p to assign priority, and f to filter are particularly helpful). You can access them for whatever the active item is you have selected. If it takes some time to remember them all it’s ok (I’m still getting them into my muscle memory).
Send saved Slack messages to Linear
Managing two inboxes is hard. Here are two ways to use Zapier to stop flipping between multiple inboxes and merge your Slack and Linear to-dos into your Linear inbox.
The quick improvement
The end result of this flow is to have your saved messages in Slack automatically added to your Linear inbox with the original message context. This way, you can easily follow up on tasks and messages at a future date.
Here are the steps:
- Go to your Zapier account and create a new Zap
- For trigger event, select Slack and set the event to “save message” (make sure you’ve connected your work Slack account)
- For the action, find Linear and set the event to create an issue (sign into your Linear account before continuing)
- Tell Zapier what team to create the issue in and what info you want to populate the issue title and description with
- For title, I use username:(the description text)
- For description, I repeat the message text and include a markdown link to the original message for reference later
The powered-up version
If you want to take it to the next level, you can also have chatGPT summarize the description of the message. This is the workflow I use every day:
- Building on the zap above, add chatGPT to the flow before the Linear issue creation step
- For the action, have chatGPT summarize the Slack message into 12 words or less
- Now, in the Linear action step, populate your issue description with the summarized version. Include the markdown link back to Slack (I use the same title formatting as before).
- Set the issue status as triaged to yourself
Use Raycast for quick capture
Another key requirement of any task management system is a way to quickly capture an emergent issue. That way, you’re never left trying to store this stuff in your brain.
Unlike many native task management apps, Linear doesn’t have a quick-entry global system hotkey type of thing. Instead, you can use Raycast, a free system-wide command bar “Spotlight on Steroids”.
Install the Linear extension, and then bind the create issue for myself action to the hotkey command space shift.
How to customize Linear to your work and focus areas
Linear doesn’t just offer features to help you customize your shortcuts. It also gives you ways to customize your inbox and views to stay focused on your highest-priority work.
Configure My Issues to only contain what’s actionable
A task management system should give you a view of all your issues. It should reduce the chaos to something orderly and actionable. My Issues (g and then m) is how Linear does this.
To make My Issues more manageable, I recommend adding a few filters (which Linear remembers until you change them):
- Don’t show Project Status = Done or Backlog
- Don’t show issues that are blocked.
- Try to keep In progress issues to only 1-2 issues at a time*
*I’m sure this will vary depending on your role, but the point is, it should only be the stuff that you’re actively working on, and everything else should be in Todo.
My Issues in a more focused state w/ Status and blocking filters.
Use a saved View to promote tasks from Backlog to Todo
The My Issues view is intended to be the spot where you’ll spend most of your time (think of it as your home view). Since you should have backlog issues filtered out of your My Issues view (and you want to avoid changing view filters back and forth), I recommend saving/favoriting a separate view for this to see all open issues sitting in your backlog so you can promote them to Todo as needed.
You can use the view I use, which is called Open by Project. This view groups issues by the project.
At the beginning of the week, I’ll open this view and do a pass-through on every issue, deleting stuff that’s no longer relevant or needed.
How to handle issues effectively
As we do more and more work in Linear, the number of issues we create and interact with can become unwieldy. To avoid creating a bunch of noise for yourself and your teammates, there are a few hygiene best practices to keep on top of.
Use the Todo/Backlog statuses to organize active work
Marking an issue status as Todo means you plan to start it in the next week or so. Everything else should be in the Backlog.
The first thing you do each week should be to go through all the issues assigned to you in your backlog and promote a manageable number to Todo.
This will help you prioritize. It will also set expectations with your collaborators on when you plan to actively work on an issue. For example, the Backlog status communicates it’s not coming soon. Meanwhile, Todo shows it’s imminent.
Use Issue Blocking and Reminders to focus My Issues
Sometimes you’ll have a task that’s In Progress or you otherwise want to keep it in My Issues, but you can’t actually act on it. This is just creating cognitive noise. To narrow my focus, there are two things I do:
- If I’m blocked by another issue, I mark the issue as Is blocked by (command K → Blocked) and filter blocked issues from the list.
- If I’m not yet ready to work on it, I move the issue to my Backlog with a reminder to follow up at a future time (H shortcut).
Set a Priority instead of a Due Date to rank issues
Sometimes due dates are real (like when there’s an external dependency), but often we’re just using them to stack rank work. If this is the case, try using priorities instead.
When you’re going through your backlog, promote the highest-priority items — it’s that simple. This will save you from the common and demotivating state of having a zillion overdue tasks. Try to only use due dates when they’re real.
How to collaborate in Linear
The main goal of using Linear as our work operating system is to break down silos across teams and make it easier to do great work together. Here are a few of the best practices to follow to make it easier (and joyful) to build with your teammates.
When you assign issues, put them in Triage
When you assign new issues to someone, putting them directly into Todo is tantamount to declaring that they’ll be working on it this week. So use your judgment, but generally it’s better to mark issues as Triage, which is a status that tells the assignee that they need to process/assign a status.
Use “Verify” when done with issues
Oftentimes, we need to have someone review and sign off on work before it’s truly done. To reflect this review stage, we created a custom workflow status in Linear called verify before the Done status. Rather than marking a task as done, use verify to flag that it’s ready to review and then assign it to your teammate.
Stay on top of your Inbox
For this all to work, it’s paramount others can rely on you to read new comments and see new issues as they come in. Treat your Linear Inbox the way you treat Slack (and the way, once upon a time, we all treated email): Keep it open and process it at the same rate you would process things with those tools.
When people feel the need to ping you on Slack to get feedback on a comment left in Linear, it’s a pretty good signal that you’ve got work to do here!
To tame your Linear Inbox, use general Inbox Zero processing principles (i.e. clear out your notifications as you’re reading them.) Use the E keyboard shortcut to quickly archive an Inbox notification, Shift H to snooze an issue, and use J and K to navigate up and down the list.
Be intentional about when you start a Slack thread vs assign an issue in Linear
As we streamline how we work and communicate as a team, we need to be more intentional about what kinds of communication goes in which channel.
- Use Linear if it’s a task that someone needs to complete (distinct outcome)
- Use Slack if it’s a discussion without a “completion” state (fuzzy outcome) or if it involves a lot of context sharing between teams.
Take what works and leave the rest
The principles throughout are good hygiene for any team using Linear that wants to improve their day-to-day workflows.
Learning a new way of working always takes some intentional effort, but Linear helps us spend less time answering tons of questions and searching our systems for information, and more time working on our actual product.