Files
nexus/sreweekly/articles/68/04-crafting-sustainable-on-call-rotations.html
2026-09-12 17:23:01 +08:00

19 lines
37 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html><html><head><meta charset=utf-8><title>Crafting sustainable on-call rotations – Increment: On-Call</title><meta name=description content='Ryn Daniels shares strategies that everyone can use to build better, kinder, and more sustainable on-call rotations.'><link rel=canonical href=http://localhost:3000/on-call/crafting-sustainable-on-call-rotations/ ><link rel=apple-touch-icon-precomposed href=/img/icon-571805a1.png><meta property=og:title content='Crafting sustainable on-call rotations – Increment: On-Call'><meta property=og:url content=http://localhost:3000/on-call/crafting-sustainable-on-call-rotations/ ><meta property=og:description content='Ryn Daniels shares strategies that everyone can use to build better, kinder, and more sustainable on-call rotations.'><meta property=og:image content='https://images.ctfassets.net/3njn2qm7rrbs/41zK1dS4Q8FW5E1LgHV2Ta/83866f21aab2cf5deedcdb6f97de88af/cover.png?w=1000'><meta name=twitter:card content=summary_large_image><meta name=twitter:image content='https://images.ctfassets.net/3njn2qm7rrbs/41zK1dS4Q8FW5E1LgHV2Ta/83866f21aab2cf5deedcdb6f97de88af/cover.png?w=1000'><meta name=twitter:site content=@IncrementMag><meta name=twitter:title content='Crafting sustainable on-call rotations – Increment: On-Call'><meta name=twitter:description content='Ryn Daniels shares strategies that everyone can use to build better, kinder, and more sustainable on-call rotations.'><link rel=alternate type=application/rss+xml title=Increment href=/feed.xml><meta name=viewport content='width=device-width,initial-scale=1'><link rel=preload href=/fonts/baton-turbo/400-30a55d66.woff2 as=font type=font/woff2 crossorigin=anonymous><link rel=preload href=/fonts/baton-turbo/500-1603c0e8.woff2 as=font type=font/woff2 crossorigin=anonymous><link rel=preload href=/fonts/tiempos-text/400-c4810745.woff2 as=font type=font/woff2 crossorigin=anonymous><link rel=preload href=/fonts/tiempos-head/700-383ede62.woff2 as=font type=font/woff2 crossorigin=anonymous><link rel=stylesheet type=text/css href=/css/bundle-289d885f.css><link rel=stylesheet type=text/css href=/css/issues/1-a2738f50.css><script>// Don't fade art if it loads ~instantly
setTimeout(()=>{document.documentElement.classList.add('fadeArt')},250);</script><script defer src=/js/defer-737fbd90.js></script><script>const INCREMENT_META={issueNumber:1,issueSlug:'on-call',articleSlug:'crafting-sustainable-on-call-rotations'};</script></head><body class='Issue_on-call Article_crafting-sustainable-on-call-rotations'><nav class=PageNav><div class=u-Container><div class=column><h1 class=logo><a href=/ ><img src=/img/logo-ae2c55d5.svg alt=Increment></a></h1><a class=out-now href=https://store.increment.com/ style=color:#595959><div class='IssueTitle tiny'><div class='t-Caps meta tiny'><span>NEW</span></div><h3 class='t-IssueTitle title'>Buy the print edition</h3></div></a><ul class=nav><li><a href=/issues/ ><span>Issues</span></a></li><li><a href=/topics/ ><span>Topics</span></a></li><li><a href=https://store.increment.com/ ><span>Store</span></a></li><li><a href=/about/ ><span>About</span></a></li></ul></div></div></nav><div class=ArticlePage itemscope itemtype=http://schema.org/Article><script type=application/ld+json>{
"@context": "http://schema.org",
"@type": "Article",
"headline": "Crafting sustainable on-call rotations",
"image": " https://images.ctfassets.net/3njn2qm7rrbs/41zK1dS4Q8FW5E1LgHV2Ta/83866f21aab2cf5deedcdb6f97de88af/cover.png?w&#x3D;1000",
"datePublished": "Thu, 13 Apr 2017 09:00:00 GMT",
"dateModified": "Thu, 13 Apr 2017 09:00:00 GMT",
"publisher": {
"@type": "Organization",
"name": "Increment",
"logo": {
"@type": "ImageObject",
"url": "https://increment.com/img/logo.png"
}
},
"description": "Ryn Daniels shares strategies that everyone can use to build better, kinder, and more sustainable on-call rotations.",
"mainEntityOfPage": "http://localhost:3000/on-call/crafting-sustainable-on-call-rotations/"
}</script><header class='u-Container ArticleHeader'><div class=column><div class=u-Grid><div class=main><h4 class='t-Byline byline large'><a href=#authors class=j-SmoothScroll itemprop=author><span>Ryn Daniels</span></a></h4><h1 class='t-TitleSerif large title' itemprop=name>Crafting sustainable on-call rotations</h1><div class='t-BodySans large intro' itemprop=description>Ryn Daniels shares strategies that everyone can use to build better, kinder, and more sustainable on-call rotations.</div></div><a class=issue href=/on-call/ ><span class='t-Caps tiny part-of'>Part of</span><div class='IssueTitle small' style=color:#ef766e><div class='t-Caps meta'><span>Issue 1</span> <span>April 2017</span></div><h2 class='t-IssueTitle title'>On-Call</h2></div></a></div></div></header><div class='u-Container ArticleContent'><article class='ContentBody column' itemprop=articleBody><div class=ArticleLayout><p>With the advent of devops, many engineers these days find themselves participating in an on-call rotation, something that was once solely the responsibility of sysadmins or operations engineers. Carrying the pager (usually with some off-hours requirements) is not a task that most people enjoy. On-call has the tendency to be disruptive to our sleep, disruptive to the regular work we try to get done during our days, and disruptive to our lives as a whole. With more and more teams participating in these on-call rotations, what can we, as individuals, teams, and organizations, do to make the requirements of on-call more sustainable and more humane?</p><h2>Catching more zzzs</h2><p>Often the first thing that people think of when they think about going on-call is the negative impact it will have on their sleep; nobody wants to be woken up in the middle of the night by PagerDuty. If your organization or team grows large enough, you could adopt a “follow-the-sun” rotation, where teams across multiple time zones participate in the same rotation, with on-call shifts being shorter so that each time zone is only on-call during their local business (or at least waking) hours. Setting up such a rotation can do wonders for reducing the toll that on-call can take on its participants.</p><p>If you don’t have the headcount and geographic distribution for follow-the-sun, there are still things that can be done to reduce the likelihood that people will get woken up unnecessarily. (After all, it’s one thing to rouse yourself from bed at 4am to solve an actual, customer-facing issue; it’s another thing entirely to wake up only to find yourself dealing with a false alarm). It can help to audit all of the alerts you have configured and ask your team which of the alerts truly need to wake someone up off-hours, and whether these alerts can wait until morning. It may be difficult to get people to agree to turn off some off-hours alerts, especially if issues being missed have caused problems in the past, but it’s important to remember that an engineer who is sleep-deprived is not the most effective engineer. Save those off-hours alerts for when they’re really, truly important. Whether it be Nagios’ notification periods or setting up different schedules in PagerDuty, most alerting tools these days allow you to configure different rules for off-hours alerts.</p><h2>Sleep, on-call, and team culture</h2><p>Other ways of dealing with the disruptions to sleep involve more cultural changes. One way to approach this is to track your alerts, paying specific attention to when alerts come in and whether or not they are actionable. <a href=https://github.com/etsy/opsweekly target=_blank rel='noopener noreferrer'>Opsweekly</a> is a tool created and open-sourced by Etsy that allows teams to track and categorize the alerts they get. It can generate graphs that show you how many alerts have woken people up (by leveraging opt-in data from Jawbone or Fitbit sleep trackers) as well as how many alerts actually required action to be taken by a human. Using these technologies, you can track the effectiveness of your on-call rotation (and its impact on sleep) over time.</p><p>The people sharing a rotation can also play a part in making sure that each person on the team is getting sufficient rest. Create a culture that encourages people to look out for themselves: if you lose sleep because you got paged during the night, it should be okay for you to sleep in the next morning to try to catch a bit more shut-eye before starting your day. Team members can look out for each other as well: when teams are sharing their sleep data with each other through something like Opsweekly, they can go to their on-call colleagues and say, “Hey, it looks like you had a rough night with PagerDuty last night—want me to cover for you tonight so you can get some rest?” Encourage people to support each other in this manner, and discourage the sort of “hero culture” where people will stretch themselves to the breaking point to avoid asking for help.</p><h2>Reducing on-call impact in the office</h2><p>When engineers are tired because on-call has woken them up, they obviously won’t be operating at 100% capacity during the day at work, but even without considering sleep deprivation, on-call can have other impacts on work as well. One of the biggest drains from on-call comes from the interruption factor: a single interruption can cause at least 20 minutes to be wasted due to loss of focus and context switching. It’s likely that your teams will have other sources of interruptions, such as tickets being generated by other teams or requests or questions that come in via chat or email. Depending on the volume of these other interrupts, you might consider adding them to your existing on-call rotation or setting up a second rotation just to deal with these other requests.</p><p>It is important to consider on-call when you are planning the work that the team will be doing, both on a long-term and a short-term basis. If your team tends to have fairly intense on-call shifts, this fact will need to be factored into long-term planning, as you may have an entire headcount effectively dedicated to on-call work (rather than other work) at any given time. In sprint or other short-term planning, you may find that the on-call person isn’t able to meet deadlines because of their on-call responsibilities—this should be expected, and the rest of the team should be willing to adjust and help in order to make sure that work gets done <i>and</i> the on-call person gets supported. Unless your on-call person is never paged, this rotation will have an impact on people’s capacity for other work—do not expect the on-call person to work nights to complete scheduled projects in addition to carrying the pager with them off-hours.</p><p>Teams will need to figure out a sustainable way to deal with the additional work that is generated by on-call. That work might be actual work to fix real actual problems that were discovered via the monitoring and alerting systems, or it might be work to fix the monitoring and alerting to reduce false-positive alerts. Whatever the nature of the work generated, it is important to distribute that work across the team in a fair and sustainable manner. Not all on-call shifts are created equal, so saying that the person who got the alert is the person responsible for all the work generated by it is likely to result in an uneven distribution of work. It might make more sense for the on-call person to be responsible for planning or distributing the work, with the expectation that the rest of the team will be willing to help out with the completion of the work that is generated.</p><div class='Sidebar image'><picture><source srcset='https://images.ctfassets.net/3njn2qm7rrbs/5C2su79fp81t3xsDxD5VTq/aff1a9c3309aa15a6aa489bff83819b9/aside-rotation-right.png?w=2000 2000w, https://images.ctfassets.net/3njn2qm7rrbs/5C2su79fp81t3xsDxD5VTq/aff1a9c3309aa15a6aa489bff83819b9/aside-rotation-right.png?w=1000 1000w, https://images.ctfassets.net/3njn2qm7rrbs/5C2su79fp81t3xsDxD5VTq/aff1a9c3309aa15a6aa489bff83819b9/aside-rotation-right.png?w=500 500w, https://images.ctfassets.net/3njn2qm7rrbs/5C2su79fp81t3xsDxD5VTq/aff1a9c3309aa15a6aa489bff83819b9/aside-rotation-right.png?w=100 100w' sizes=150px><img class=j-SmoothLoad src='https://images.ctfassets.net/3njn2qm7rrbs/5C2su79fp81t3xsDxD5VTq/aff1a9c3309aa15a6aa489bff83819b9/aside-rotation-right.png?w=500' sizes=150px width=150px></picture></div><h2>Creating and sustaining work-life balance</h2><p>Consider the impact that on-call participation has on the lives outside of work of its participants. When you’re on-call, you’ll likely feel tied to your pager and laptop, whether that means that you carry a laptop and a MiFi with you everywhere or if you just don’t leave your home except to go to and from the office. Being on-call usually means having to forego things like making plans with friends or family during the duration of your shift. This means that depending on the number of people in your rotation, how long each shift is, and how intensive each shift tends to be, this might be placing an undue burden on the people involved. You may need to experiment with the length and scheduling of your shifts to find a schedule that works for at least most of the people involved, as different teams and people will have different priorities and preferences.</p><p>It is critical to recognize the impact that on-call will have on people’s lives, both at the management level and at the individual level. It has to be noted that these impacts will be felt more by people with less privilege. For example, if you have to spend time taking care of children or other family members, or if you find that the majority of housework falls on your shoulders, you already have less time and energy than someone who doesn’t have these responsibilities. This sort of “second shift” or “third shift” work tends to disproportionately impact women and people of color (who are already paid less than their white male colleagues for doing the same work), and if you set up an on-call rotation with a schedule or intensity that assumes the participants have no real responsibilities outside of the office, you are limiting the people who will be able to participate on your team.</p><p>Encourage people to try to maintain as much of their regular schedule as possible. You should consider doing something like providing a team MiFi so people can leave the house with their laptop/MiFi and still have some semblance of a life. Encourage people to swap hours with each other if need-be for short periods of time so that people can go to the gym or attend doctor’s appointments while on-call. Don’t create a culture where on-call is expected to mean that engineers do literally nothing but be on-call. Work/life balance is an important part of any job, but especially so when considering off-hours work, and the more senior members of your team should be leading by example and show the rest of the team what it looks like to have as much work/life balance as possible while on-call.</p><div class='Sidebar image'><picture><source srcset='https://images.ctfassets.net/3njn2qm7rrbs/4FEFoy51Sugnma0YRlRJWT/871d96f3d030b2c2aabfd566773822c0/aside-rotation-left.png?w=2000 2000w, https://images.ctfassets.net/3njn2qm7rrbs/4FEFoy51Sugnma0YRlRJWT/871d96f3d030b2c2aabfd566773822c0/aside-rotation-left.png?w=1000 1000w, https://images.ctfassets.net/3njn2qm7rrbs/4FEFoy51Sugnma0YRlRJWT/871d96f3d030b2c2aabfd566773822c0/aside-rotation-left.png?w=500 500w, https://images.ctfassets.net/3njn2qm7rrbs/4FEFoy51Sugnma0YRlRJWT/871d96f3d030b2c2aabfd566773822c0/aside-rotation-left.png?w=100 100w' sizes=170px><img class=j-SmoothLoad src='https://images.ctfassets.net/3njn2qm7rrbs/4FEFoy51Sugnma0YRlRJWT/871d96f3d030b2c2aabfd566773822c0/aside-rotation-left.png?w=500' sizes=170px width=170px></picture></div><p>On an individual level, make sure that you explain what on-call means to your friends, family members, partners, pets, etc. (Your cats will probably not care, since they’re already up at 4am when PagerDuty calls anyways, though they will be in no way willing to help out with those pages). Make sure you make up for any missed friend/family time once your shift is over, and if you can, consider setting up a silent alarm (like a smartwatch) that can wake you up by buzzing your wrist to avoid waking up anyone around you as well. Find ways of taking care of yourself while you are in the midst of your on-call shift and when it is over. You might want to put together an “on-call emergency survival kit” of things that help you relax: listen to a playlist of your favorite music, read a favorite book, or set aside time to play with a pet. Managers should be encouraging self-care by giving people a day off after a week-long on-call shift and by making sure that people are asking for (and receiving) help when they need it.</p><h2>Improving the on-call experience</h2><p>In general, on-call work should not be accepted as just being terrible: you have the opportunity and the responsibility as someone involved in an on-call rotation to actively work to make that rotation better for the people on it, and this generally means making sure people get paged less and get paged smarter. Again, tracking the usefulness of your alerts using something like Opsweekly can go a long way towards figuring out what makes your rotation’s alerts annoying and fixing them. For unactionable alerts, ask yourself if there are ways to get rid of these alerts—maybe this means only making them fire during business hours, because there are some things you just don’t need to respond to in the middle of the night. Don’t be afraid to delete alerts, change when they fire, or change them to be email-only rather than paging. Experimentation and iteration are key to making on-call rotations better over time.</p><p>For alerts that are actually actionable, you’ll want to consider how easy it is for the on-call engineer to take the action they need. Every alert that fires should have a runbook that goes along with it—consider using a tool like <a href=https://github.com/etsy/nagios-herald target=_blank rel='noopener noreferrer'>nagios-herald</a> to add runbook links to your alerts. If an alert is so simple that it doesn’t need a runbook, it’s probably simple enough that you can automate the response using something like Nagios’s event handlers, which save humans the effort of having to wake up or get interrupted for easily automatable tasks. Both runbooks and nagios-herald can help you to add valuable context to your alerts that can help people respond to them more effectively. See if you can answer common questions such as: <i>when was the last time this alert fired? who responded to it last time, and what action did they end up taking (if any)? what other alerts tend to pop up at the same time as this one, and are they related?</i> This sort of contextual information often ends up living only in people’s brains, so encouraging a culture of documenting and sharing contextual information can reduce the amount of overhead necessary to respond to alerts.</p><p>A significant part of the drain that comes from being on-call is the fact that it never ends—if your team has an on-call rotation, it is unlikely that that rotation will end anytime in the foreseeable future. On-call is never-ending and it tends to feel like it will always be terrible. This lack of hope is a big mental drain that can contribute to stress and burnout, so addressing the perception (in addition to the reality) that on-call will always be awful is a good place to start when thinking about your rotations in the long term.</p><p>In order to give people hope that on-call will ever improve, it is necessary to have visibility into the system (the same on-call tracking and categorization that I mentioned previously). Keep track of how many alerts you have over time, what percentage of them are actionable, how many of them wake people up, and then work on creating a culture that encourages people to make things better. If you have a big rotation, it can be tempting, as soon as you get off-call, to throw up your hands and say “that’s future-me’s problem” rather than digging in to fix things—who wants to spend more effort on on-call-related work than they absolutely have to? This is where a culture of empathy can make a big difference, because you aren’t caring only about your own on-call happiness, but that of your coworkers as well.</p><h2>It’s all about empathy</h2><p>Empathy is a big part of what allows us to effectively incentivize work that improves the on-call experience. As either a manager or an individual contributor, you can positively recognize or even reward people for behavior that makes on-call better. Operations is one of those fields where engineers often feel like people only pay attention to them when things go wrong: people will be right there to yell at them when the site goes down, but they rarely recognize all the behind-the-scenes work that operations engineers invest into making sure the site stays the rest of the time. Recognition of operations work can go a long way, whether that is thanking someone in a meeting or in a team-wide email for improving a particular alert or technical aspect of on-call, or giving someone time off for covering someone else’s shift for a while.</p><p>Encourage people to spend time and effort working on things that will improve on-call in the long term. If your team has an on-call rotation, you need to be planning and prioritizing this work the same way you would any other work on your roadmap. On-call is 90% entropy, and unless you actively work to make it better, it will tend to get worse and worse over time. Work with your team to find out what motivates and rewards the people on it, and then use that to encourage people to reduce alert noise, write runbooks, and create tooling that solves their on-call problems. Whatever you do, don’t just accept a terrible on-call rotation as an unchangeable part of the status quo.</p></div></article></div><div class='u-Container ArticleFooter'><div class=column><div class='u-Grid ContentBody small content'><div class=authors id=authors><div><div class=photo><figure style='background-image:url(https://images.ctfassets.net/3njn2qm7rrbs/G6FgRCuGZjhAnbPSNMEAu/d308f88c1f70f281422e47c99f26eadc/Ryn_Daniels.jpeg?w=500)'></figure></div><div class=text><h4>About the author</h4><p><b>Ryn Daniels</b> is a site reliability engineer whose work focuses on infrastructure operability, sustainable on-call practices, and the design of effective and empathetic engineering cultures. They live in Berlin with a perfectly reasonable number of cats and currently work at HashiCorp on the Terraform Cloud team.</p><p><a href=https://twitter.com/rynchantress target=_blank>@rynchantress</a></p></div></div></div><div class=topics><div class=text><h4>Topics</h4><p><a href=/topics/guides/ >Guides &amp; Best Practices</a></p><p><a href=/topics/culture/ >Workplace &amp; Culture</a></p></div></div></div></div></div></div><div class=SubscribeBox><a id=newsletter class=anchor href=#newsletter></a><div class='ContentBody inverted store'><div class=u-Container><div class='u-Grid column'><div class=box style=background:#4c70b1><div class=text><h2>Buy the print edition</h2><p class=j-TextBalance>Visit the Increment Store to purchase print issues.</p><p><a class='t-Caps u-Arrow' href=https://store.increment.com/ >Store</a></p></div><a href=https://store.increment.com/ class=magazine><figure class=j-MaskedImage data-fill=/art/19/19-cutout-1000-7ffb5dba.png data-mask=/art/19/fill-cms-1000-83522f38.png></figure></a></div></div></div></div><div class='ContentBody email'><div class=u-Container><div class='u-Grid column'><div class='j-EmailForm box' style='box-shadow:0 -5px 0 #4c70b1'></div></div></div></div></div><div class=ContinueReading><div class=u-Container><div class=column><h2 class='t-Caps xlarge'>Continue Reading</h2><ul class='u-Grid articles'><li class='ArticleBlock footer' style=color:#863051><a class=j-Preload href=/reliability/how-to-build-organizational-resilience/ ><div class='IssueTitle tiny' style=color:#863051><div class='t-Caps meta'><span>16</span></div><h3 class='t-IssueTitle title'>Reliability</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Ryn Daniels</span></h4><h3 class='t-TitleSans title'>How to build organizational resilience</h3></div><div class='t-BodySerif small intro'>By encoding resilience into an organization’s culture, engineering teams can be better equipped to tackle the unknown and unexpected.</div></div></a></li><li class='ArticleBlock footer' style=color:#ef766e><a class=j-Preload href=/on-call/ask-an-expert/ ><div class='IssueTitle tiny' style=color:#ef766e><div class='t-Caps meta'><span>1</span></div><h3 class='t-IssueTitle title'>On-Call</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Increment Staff</span></h4><h3 class='t-TitleSans title'>Ask an expert: How should startups approach on-call and incident response?</h3></div><div class='t-BodySerif small intro'>We asked several industry experts if they had any advice for small companies who are just starting to set up their on-call and incident response processes, and here’s what they&nbsp;said.</div></div></a></li><li class='ArticleBlock footer' style=color:#ef766e><a class=j-Preload href=/on-call/on-call-at-any-size/ ><div class='IssueTitle tiny' style=color:#ef766e><div class='t-Caps meta'><span>1</span></div><h3 class='t-IssueTitle title'>On-Call</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Increment Staff</span></h4><h3 class='t-TitleSans title'>On-call at any size</h3></div><div class='t-BodySerif small intro'>We take a close look at how to make on-call work at any scale, sharing industry best practices that apply to companies at any size, from tiny startups in garages to companies the size of Amazon, Facebook, and&nbsp;Google.</div></div></a></li><li class='ArticleBlock footer' style=color:#53a88e><a class=j-Preload href=/development/what-its-like-to-be-a-developer-at/ ><div class='IssueTitle tiny' style=color:#53a88e><div class='t-Caps meta'><span>3</span></div><h3 class='t-IssueTitle title'>Development</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Increment Staff</span></h4><h3 class='t-TitleSans title'>What it’s like to be a developer at …</h3></div><div class='t-BodySerif small intro'>From popular tools to code review, deployment to daily life, here’s a look at the developer experience at Slack, Lyft, DigitalOcean, and&nbsp;more.</div></div></a></li><li class='ArticleBlock footer' style=color:#8e65bf><a class=j-Preload href=/teams/how-to-build-a-startup-engineering-team/ ><div class='IssueTitle tiny' style=color:#8e65bf><div class='t-Caps meta'><span>11</span></div><h3 class='t-IssueTitle title'>Teams</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Kevin Stewart</span></h4><h3 class='t-TitleSans title'>How to build a startup engineering team</h3></div><div class='t-BodySerif small intro'>Advice for when you’re starting from scratch and designing for&nbsp;growth.</div></div></a></li><li class='ArticleBlock footer' style=color:#8e65bf><a class=j-Preload href=/teams/a-guide-to-distributed-teams/ ><div class='IssueTitle tiny' style=color:#8e65bf><div class='t-Caps meta'><span>11</span></div><h3 class='t-IssueTitle title'>Teams</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Juan Pablo Buriticá</span> and <span>Katie Womersley</span></h4><h3 class='t-TitleSans title'>A guide to distributed teams</h3></div><div class='t-BodySerif small intro'>How thoughtful systems (and lots of emoji) make for happy, efficient teams—whether your desks are distributed across floors, cities, or continents.</div></div></a></li><li class='ArticleBlock footer' style=color:#29386a><a class=j-Preload href=/remote/leverage-metrics-to-manage-remotely/ ><div class='IssueTitle tiny' style=color:#29386a><div class='t-Caps meta'><span>15</span></div><h3 class='t-IssueTitle title'>Remote</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Ale Paredes</span></h4><h3 class='t-TitleSans title'>How to leverage metrics to manage remotely</h3></div><div class='t-BodySerif small intro'>When used thoughtfully to inform and empower, engineering metrics can be an impactful supplement to qualitative&nbsp;data.</div></div></a></li><li class='ArticleBlock footer' style=color:#29386a><a class=j-Preload href=/remote/remote-onboarding-best-practices/ ><div class='IssueTitle tiny' style=color:#29386a><div class='t-Caps meta'><span>15</span></div><h3 class='t-IssueTitle title'>Remote</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>Alexandra Sunderland</span></h4><h3 class='t-TitleSans title'>Best practices for remote onboarding</h3></div><div class='t-BodySerif small intro'>Guidance for centering trust, psychological safety, and a sense of community from a new hire’s first&nbsp;day.</div></div></a></li><li class='ArticleBlock footer' style=color:#29386a><a class=j-Preload href=/remote/managing-engineers-remotely/ ><div class='IssueTitle tiny' style=color:#29386a><div class='t-Caps meta'><span>15</span></div><h3 class='t-IssueTitle title'>Remote</h3></div><div class=text><div class=head><h4 class='t-Byline byline'><span>James Turnbull</span></h4><h3 class='t-TitleSans title'>A primer on managing remotely</h3></div><div class='t-BodySerif small intro'>If the events of 2020 mean you’re a newly remote engineering manager and you’re still trying to get things right, start&nbsp;here.</div></div></a></li></ul><h3 class='t-Caps large'>Explore Topics</h3><ul class='t-BodySerif large topics'><li><a href=/topics/learn/ >Learn Something New</a></li><li><a href=/topics/scaling/ >Scaling &amp; Growth</a></li><li><a href=/topics/ask-an-expert/ >Ask an Expert</a></li><li><a href=/topics/interviews/ >Interviews &amp; Surveys</a></li><li><a href=/topics/guides/ >Guides &amp; Best Practices</a></li><li><a href=/topics/opinion/ >Essays &amp; Opinion</a></li><li><a href=/topics/culture/ >Workplace &amp; Culture</a></li></ul><h3 class='t-Caps large'>All Issues</h3><ul class=issues><li><a href=/planning/ ><div class='IssueTitle large' style=color:#4c70b1><div class='t-Caps meta'><span>Issue 19</span> <span>November 2021</span></div><h1 class='t-IssueTitle title'>Planning</h1></div></a></li><li><a href=/mobile/ ><div class='IssueTitle large' style=color:#439eab><div class='t-Caps meta'><span>Issue 18</span> <span>August 2021</span></div><h1 class='t-IssueTitle title'>Mobile</h1></div></a></li><li><a href=/containers/ ><div class='IssueTitle large' style=color:#443d79><div class='t-Caps meta'><span>Issue 17</span> <span>May 2021</span></div><h1 class='t-IssueTitle title'>Containers</h1></div></a></li><li><a href=/reliability/ ><div class='IssueTitle large' style=color:#863051><div class='t-Caps meta'><span>Issue 16</span> <span>February 2021</span></div><h1 class='t-IssueTitle title'>Reliability</h1></div></a></li><li><a href=/remote/ ><div class='IssueTitle large' style=color:#29386a><div class='t-Caps meta'><span>Issue 15</span> <span>November 2020</span></div><h1 class='t-IssueTitle title'>Remote</h1></div></a></li><li><a href=/apis/ ><div class='IssueTitle large' style=color:#00afbe><div class='t-Caps meta'><span>Issue 14</span> <span>August 2020</span></div><h1 class='t-IssueTitle title'>APIs</h1></div></a></li><li><a href=/frontend/ ><div class='IssueTitle large' style=color:#5ebe92><div class='t-Caps meta'><span>Issue 13</span> <span>May 2020</span></div><h1 class='t-IssueTitle title'>Frontend</h1></div></a></li><li><a href=/software-architecture/ ><div class='IssueTitle large' style=color:#40af9e><div class='t-Caps meta'><span>Issue 12</span> <span>February 2020</span></div><h1 class='t-IssueTitle title'>Software Architecture</h1></div></a></li><li><a href=/teams/ ><div class='IssueTitle large' style=color:#8e65bf><div class='t-Caps meta'><span>Issue 11</span> <span>November 2019</span></div><h1 class='t-IssueTitle title'>Teams</h1></div></a></li><li><a href=/testing/ ><div class='IssueTitle large' style=color:#e89e00><div class='t-Caps meta'><span>Issue 10</span> <span>August 2019</span></div><h1 class='t-IssueTitle title'>Testing</h1></div></a></li><li><a href=/open-source/ ><div class='IssueTitle large' style=color:#4a5ad3><div class='t-Caps meta'><span>Issue 9</span> <span>May 2019</span></div><h1 class='t-IssueTitle title'>Open Source</h1></div></a></li><li><a href=/internationalization/ ><div class='IssueTitle large' style=color:#c096ca><div class='t-Caps meta'><span>Issue 8</span> <span>February 2019</span></div><h1 class='t-IssueTitle title'>Internationalization</h1></div></a></li><li><a href=/security/ ><div class='IssueTitle large' style=color:#4dbac5><div class='t-Caps meta'><span>Issue 7</span> <span>October 2018</span></div><h1 class='t-IssueTitle title'>Security</h1></div></a></li><li><a href=/documentation/ ><div class='IssueTitle large' style=color:#f5684d><div class='t-Caps meta'><span>Issue 6</span> <span>August 2018</span></div><h1 class='t-IssueTitle title'>Documentation</h1></div></a></li><li><a href=/programming-languages/ ><div class='IssueTitle large' style=color:#d69336><div class='t-Caps meta'><span>Issue 5</span> <span>April 2018</span></div><h1 class='t-IssueTitle title'>Programming Languages</h1></div></a></li><li><a href=/energy-environment/ ><div class='IssueTitle large' style=color:#d6658e><div class='t-Caps meta'><span>Issue 4</span> <span>February 2018</span></div><h1 class='t-IssueTitle title'>Energy & Environment</h1></div></a></li><li><a href=/development/ ><div class='IssueTitle large' style=color:#53a88e><div class='t-Caps meta'><span>Issue 3</span> <span>October 2017</span></div><h1 class='t-IssueTitle title'>Development</h1></div></a></li><li><a href=/cloud/ ><div class='IssueTitle large' style=color:#707aed><div class='t-Caps meta'><span>Issue 2</span> <span>July 2017</span></div><h1 class='t-IssueTitle title'>Cloud</h1></div></a></li><li><a href=/on-call/ ><div class='IssueTitle large' style=color:#ef766e><div class='t-Caps meta'><span>Issue 1</span> <span>April 2017</span></div><h1 class='t-IssueTitle title'>On-Call</h1></div></a></li></ul></div></div></div><footer class=PageFooter><div class='u-Container ContentBody small'><svg style=display:none><symbol id=twitterIcon viewBox='0 0 32 32'><path d='M32.1 6c-1.2.5-2.5.9-3.8 1 1.4-.8 2.4-2.1 2.9-3.6-1.3.8-2.7 1.3-4.2 1.6a6.8 6.8 0 0 0-4.8-2c-3.6 0-6.6 3-6.6 6.6 0 .5.1 1 .2 1.5-5.5-.3-10.4-3-13.6-6.9-.6 1-.9 2.1-.9 3.3 0 2.3 1.2 4.3 2.9 5.5-1.1 0-2.1-.3-3-.8v.1c0 3.2 2.3 5.9 5.3 6.5-.6.2-1.1.2-1.7.2-.4 0-.8 0-1.2-.1.8 2.6 3.3 4.5 6.2 4.6-2.3 1.8-5.1 2.8-8.2 2.8-.5 0-1.1 0-1.6-.1C2.9 28 6.3 29 10 29c12.1 0 18.7-10 18.7-18.7v-.9c1.4-.9 2.5-2 3.4-3.4z' fill=currentColor /></symbol><symbol id=facebookIcon viewBox='0 0 32 32'><path d='M30.2 0H1.8C.8 0 0 .8 0 1.8v28.5c0 1 .8 1.8 1.8 1.8h15.3V19.6h-4.2v-4.8h4.2v-3.6c0-4.1 2.5-6.4 6.2-6.4 1.8 0 3.3.2 3.7.2v4.3h-2.6c-2 0-2.4 1-2.4 2.4v3.1h4.8l-.6 4.8H22V32h8.2c1 0 1.8-.8 1.8-1.8V1.8c0-1-.8-1.8-1.8-1.8z' fill=currentColor /></symbol><symbol id=rssIcon viewBox='0 0 32 32'><path d='M10.7 25.6c0 2.4-2 4.4-4.4 4.4S2 28 2 25.6s2-4.4 4.4-4.4 4.3 2 4.3 4.4zM6.1 2c-.6 0-1.3 0-2 .1-1.3.1-2.2 1.2-2.1 2.4.1 1.2 1.2 2.2 2.4 2.1.6 0 1.1-.1 1.6-.1 10.7 0 19.4 8.7 19.4 19.4 0 .5 0 1-.1 1.6-.1 1.2.8 2.3 2.1 2.4h.2c1.2 0 2.1-.9 2.2-2.1.1-.7.1-1.4.1-2C30 12.7 19.3 2 6.1 2zm-.7 9.6c-.4 0-.8 0-1.3.1-1.3.1-2.2 1.2-2.1 2.5.1 1.3 1.2 2.2 2.5 2.1h.9c5.7 0 10.4 4.7 10.4 10.4v.9c-.1 1.3.8 2.4 2.1 2.5h.2c1.2 0 2.2-.9 2.3-2.1 0-.4.1-.8.1-1.2-.1-8.4-6.9-15.2-15.1-15.2z' fill=currentColor /></symbol><symbol id=linkedInIcon viewBox='0 0 32 32'><path d='M29.6,0H2.4C1.1,0,0,1,0,2.3v27.4C0,31,1.1,32,2.4,32h27.3c1.3,0,2.4-1,2.4-2.3V2.3C32,1,30.9,0,29.6,0z M9.5,27.3H4.7V12 h4.8V27.3z M7.1,9.9c-1.5,0-2.8-1.2-2.8-2.8c0-1.5,1.2-2.8,2.8-2.8c1.5,0,2.8,1.2,2.8,2.8C9.9,8.7,8.6,9.9,7.1,9.9z M27.3,27.3 h-4.7v-7.4c0-1.8,0-4-2.5-4c-2.5,0-2.8,1.9-2.8,3.9v7.6h-4.7V12H17v2.1h0.1c0.6-1.2,2.2-2.5,4.5-2.5c4.8,0,5.7,3.2,5.7,7.3V27.3z' fill=currentColor /></symbol></svg><div class='column main'><section class=social><a href=https://twitter.com/incrementmag class=twitter><svg viewBox='0 0 32 32'><use xlink:href=#twitterIcon x=0 y=0></use></svg> <span>@incrementmag</span> </a><a href=https://facebook.com/incrementmag class=facebook><svg viewBox='0 0 32 32'><use xlink:href=#facebookIcon x=0 y=0></use></svg> <span>incrementmag</span> </a><a href=/feed.xml class=rss><svg viewBox='0 0 32 32'><use xlink:href=#rssIcon x=0 y=0></use></svg> <span>RSS Feed</span></a></section><section><h4>About</h4><p><em>Increment</em> is a print and digital magazine about how teams build and operate software systems at scale. <a href=/about/ >Learn more</a></p></section><section><h4>Work with us</h4><p>Interested in joining the team at Stripe? <a href=https://stripe.com/jobs>View job openings</a></p></section></div><p class='column copyright'><span>&copy; 2022 <em>Increment</em></span> <a href=https://stripe.com>Published by Stripe</a> <a href=https://stripe.com/privacy/media-policy>Privacy policy</a></p></div></footer></body></html>