Rooting out sneaky sources of toil
๐ **Source:** [Rooting out sneaky sources of toil](https://www.youtube.com/watch?v=M3ntUs4hEg0)
> [!note]+ Document Notes
> tags: [toil-reduction, incident-response, platform-engineering]
> author: Lead Dev
> source: YouTube
> reference: https://www.youtube.com/watch?v=M3ntUs4hEg0
> date created: 2025-01-07 13:22
>
> # ๐ท๏ธ Title: Rooting out sneaky sources of toil
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Identify sources of data quality toil in service ownership โ track time lost to ownership escalation #platform-engineering
- [H2] Implement automated dependency upgrades to prevent security fire drills โ establish regular cadence #security
- [H3] Measure incident recovery time alongside downtime โ build business case for investment #incident-response
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [Lead Dev Online Panel](https://www.youtube.com/watch?v=M3ntUs4hEg0)
- [ChainGuard](https://chainguard.dev/)
## ๐ Summary
- Expert panel discusses identifying and eliminating hidden sources of toil in engineering organizations
- Why reactive incident work compounds over time when teams scale
- Key stakeholders: engineering leaders, SRE teams, platform engineers, security teams
- Risks: trust erosion, decision paralysis, accumulated technical debt
- Bottom line: Proactive measurement and automation prevent toil from becoming organizational emergencies
## ๐ Main Content
This panel brings together engineering leaders from Netflix, New York Times, Google, and ChainGuard to discuss systematic approaches to toil reduction. The speakers define toil as unplanned, repetitive work that doesn't meaningfully improve systems - distinguishing it from planned operational work.
Key themes include the importance of measuring recovery time (not just downtime), implementing guardrails that make safe practices the default path, and building business cases for toil reduction through concrete data. The discussion emphasizes that most toil becomes visible only when organizations are willing to track it systematically.
The panel shares real-world examples from major incidents, including supply chain attacks in npm ecosystem, infrastructure outages during major news events, and the log4shell vulnerability response. These cases demonstrate how accumulated toil creates organizational paralysis during critical moments.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/M3ntUs4hEg0?t=0) โ [H1] Panel introduction and toil definition
- Key idea: Toil shows up as context switching, reactive incidents, and repeated process layers
- Evidence: "It shows up as one-offs, but over time they compound"
#### โฑ๏ธ [02:30](https://youtu.be/M3ntUs4hEg0?t=150) โ [H2] Malikica Rao introduces distributed systems toil
- Key idea: Toil reduction focuses on operational and cognitive load for engineers
- Evidence: "Toil is often treated as inevitable when in my experience it's usually a design signal"
#### โฑ๏ธ [03:45](https://youtu.be/M3ntUs4hEg0?t=225) โ [H2] Chang Leong on human-centric toil perspective
- Key idea: Toil exists on the human side of sociotechnical systems
- Evidence: "Computers don't feel toil as far as I know. They don't have feelings or emotions about it"
#### โฑ๏ธ [05:15](https://youtu.be/M3ntUs4hEg0?t=315) โ [H2] Leslie Cordero's NYT reliability experience
- Key idea: Data quality creates significant platform engineering toil
- Evidence: "Some of the biggest sources of toil have to do with the quality of our data actually"
#### โฑ๏ธ [07:30](https://youtu.be/M3ntUs4hEg0?t=450) โ [H2] Manfred Moser on supply chain toil
- Key idea: Unknown dependencies create emergency response situations
- Evidence: "Understanding what versions of what libraries are used where is often completely unknown"
#### โฑ๏ธ [09:45](https://youtu.be/M3ntUs4hEg0?t=585) โ [H1] Malikica defines toil characteristics
- Key idea: Toil is unplanned repeatable effort that doesn't improve systems
- Evidence: "The gap between when a system is technically backup and when it's actually safe, trusted and usable"
#### โฑ๏ธ [12:15](https://youtu.be/M3ntUs4hEg0?t=735) โ [H2] Chang on reframing toil value
- Key idea: Planned work can change perception of toil through business value framing
- Evidence: "If it's valuable for the business and maybe it's hard to do, well, maybe that's worth investing in"
#### โฑ๏ธ [16:00](https://youtu.be/M3ntUs4hEg0?t=960) โ [H1] Supply chain attack examples from Manfred
- Key idea: npm ecosystem attacks spread across multiple technology stacks
- Evidence: "JavaScript components were then found in fullbaked applications that were deployed to Maven Central"
#### โฑ๏ธ [19:30](https://youtu.be/M3ntUs4hEg0?t=1170) โ [H2] Chang's winter storm data center story
- Key idea: External events can force accelerated infrastructure investment
- Evidence: "Winter is coming... did it in one year which was several years faster than we had planned"
#### โฑ๏ธ [22:45](https://youtu.be/M3ntUs4hEg0?t=1365) โ [H1] Malikica's Twitter search infrastructure case
- Key idea: Trust erosion from slow recovery creates organizational drag
- Evidence: "Data backfill basically took us 7 days... recovery time had become a bigger product problem than the incident itself"
#### โฑ๏ธ [26:15](https://youtu.be/M3ntUs4hEg0?t=1575) โ [H2] Leslie on proactive toil tracking
- Key idea: Historical patterns make business case for toil reduction investment
- Evidence: "Keeping track of things over of toil over time is important... showing that historical pattern"
#### โฑ๏ธ [29:30](https://youtu.be/M3ntUs4hEg0?t=1770) โ [H2] Chang on incident response practice
- Key idea: Practice incident response during calm periods using error budgets
- Evidence: "Spend that unspent budget. If things are up, great... use that investment to have practice sessions"
#### โฑ๏ธ [33:00](https://youtu.be/M3ntUs4hEg0?t=1980) โ [H1] Malikica on making safe paths default
- Key idea: Automation should change behavior under pressure, not create more alerts
- Evidence: "We stopped relying on heroics and just made the safe path boring and the default path"
#### โฑ๏ธ [36:45](https://youtu.be/M3ntUs4hEg0?t=2205) โ [H2] Manfred on standardization benefits
- Key idea: Technical standardization reduces cognitive toil and improves security response
- Evidence: "Don't allow your developers to make a separate monitoring system and choose a different database"
#### โฑ๏ธ [40:15](https://youtu.be/M3ntUs4hEg0?t=2415) โ [H1] Final automation principles
- Key idea: Best automation makes problems disappear before engineers think about them
- Evidence: "Automation is worth investing in when it changes behavior under pressure, not when it just produces more signals"
## ๐ References
- [Lead Dev Panel Discussion](https://www.youtube.com/watch?v=M3ntUs4hEg0)
- [ChainGuard Supply Chain Security](https://chainguard.dev/)
- [SRE Best Practices](https://sre.google/)
## ๐ฃ๏ธ Paraphrase
- Engineering organizations often accept toil as inevitable when it's actually a symptom of design problems that can be systematically addressed through measurement and automation
- The most damaging aspect of toil isn't the immediate work but the cumulative trust erosion and decision paralysis it creates across teams over time
- Effective toil reduction requires making safe practices the default path through guardrails and automation rather than relying on individual discipline under pressure
## ๐ฐ Newsletter
**Tackling Hidden Engineering Toil Before It Becomes Crisis**
Engineering leaders from Netflix, NYT, and Google shared battle-tested strategies for identifying and eliminating sneaky sources of toil that compound over time. Key insight: measure recovery time, not just downtime, to build business cases for proactive investment.
**Practical takeaways:**
- Track historical patterns of repeated manual work to demonstrate organizational impact
- Use error budgets for incident response practice during calm periods
- Implement guardrails that make safe deployment practices the default, boring path
- Standardize technology choices to reduce cognitive load and improve security response
The panel emphasized that effective toil reduction changes behavior under pressure rather than creating more monitoring noise.
Resources: [SRE Practices](https://sre.google/), [Incident Response](https://response.pagerduty.com/), [Platform Engineering](https://platformengineering.org/)
## โ
Action Items
#### DevRel
- Developer advocacy: Present toil reduction case studies at engineering conferences, create demo environments for resilience testing
- Education: Workshop on measuring recovery time vs downtime, incident response practice sessions
- Developer experience: Document standardized deployment patterns, create self-service toil identification tools
- Developer marketing: Campaign around proactive vs reactive engineering culture, supply chain security awareness
- Community management: Facilitate experience sharing between platform teams, moderate discussions on automation ROI
#### OSPO
- Policy & Governance: Contribution policies for dependency management, standardized security response procedures
- License Compliance: Automated scanning for supply chain vulnerabilities, training on ecosystem attack vectors
- Security Management: Vulnerability intake for npm/Maven/PyPI dependencies, security attestations for critical components
- Software Inventory: SBOM strategy for cross-ecosystem dependencies, ownership mapping for security incidents
- Developer Support: Training on secure dependency practices, tooling for automated upgrades
- Community Engagement: Upstream funding for security maintenance, agreements with package maintainers
- Strategic Alignment: KPIs for toil reduction, OKRs for incident recovery time improvements
#### Community
- Maintainers: Roadmap support for security-focused releases, governance templates for incident response
- Contributors: Onboarding programs for security-aware development, first-issue programs in tooling repos
- Sponsors: Transparent budgets for security infrastructure, impact reports on toil reduction investments
- Ecosystem: Cross-project coordination for supply chain security, shared standards for dependency management
#### WordPress
- Core: Performance budget enforcement, automated security scanning for contrib themes/plugins
- Core Performance: Profiling automated deployment processes, metrics for plugin activation impact
- Core AI: Guardrails for AI-assisted dependency updates, evaluation sets for security risk assessment
- Mobile: Telemetry for app deployment failures, UX improvements for security notifications
- Playground: Labs for testing plugin compatibility, reproducible environments for security testing
- Community: Meetup kits on security best practices, WordCamp support for incident response talks
- Support: SLAs for security incident escalation, knowledge base for common toil scenarios
- Design: UX audits for admin security interfaces, design tokens for alert/warning states
- Documentation: DevHub security guidance gaps, style guides for incident communication
- Plugins: Security liaison programs, provenance checks for automated submissions
- Hosting: Cross-host security checklists, telemetry for common deployment failures
#### The WPCC
- Programs: Fellowships for security-focused contributors, microgrants for toil reduction tooling
- Projects: Governance clinics for incident response, documentation sprints for security procedures
- Funding: Matched grants for dependency maintenance, milestone payouts for security improvements
## ๐งช Hypotheses
- Organizations that measure recovery time alongside downtime will invest more proactively in toil reduction than those measuring only availability metrics
- Teams practicing incident response during calm periods will demonstrate faster mean time to recovery than reactive teams
- Standardizing technology choices across engineering teams reduces both security response time and cognitive load for individual contributors
- Automation that changes behavior under pressure provides higher ROI than automation that generates additional monitoring signals
### ๐ Methodology
- Comparative study of incident response times across organizations with different measurement practices
- Longitudinal analysis of teams before/after implementing regular incident response drills
- Survey of engineering cognitive load across organizations with varying levels of technology standardization
### โ Questions
- How can organizations quantify the business impact of trust erosion from slow incident recovery?
- What specific guardrails most effectively prevent deployment process bypassing under pressure?
- Which automation investments provide the highest ROI for reducing cross-ecosystem supply chain risk?
### ๐ฎ Future Research
- Correlation analysis between technical standardization levels and security incident response times
- Behavioral studies on engineering decision-making under different levels of operational pressure
- Economic modeling of toil reduction investment vs reactive incident costs
### ๐ก Implications
- Practice: Engineering teams should allocate dedicated time for toil pattern identification and historical tracking
- Policy: Organizations need governance frameworks that make secure practices the default deployment path
- Security: Supply chain attacks increasingly cross ecosystem boundaries, requiring holistic dependency management
- Education: Engineering curricula should include sociotechnical system design and human factors in reliability
- Funding: Business cases for toil reduction should emphasize recovery time and organizational trust metrics over pure availability
### ๐ง Learning Styles Assessment
Reading level estimate: 12th grade (technical audience appropriate)
#### ๐ Visual learners
- Present: Panel discussion format with speaker identification
- Improve: Incident timeline diagrams, toil impact visualization, dependency relationship maps
#### ๐ Aural learners
- Present: Full 45-minute audio discussion with multiple perspectives
- Improve: Chapter markers for key topics, downloadable audio segments
#### ๐ฃ๏ธ Verbal learners
- Present: Rich metaphors (sandworm attacks, winter is coming), clear definitions
- Improve: Glossary of SRE terms, analogy comparisons between different toil types
#### ๐งฉ Kinesthetic learners
- Present: Specific practice recommendations (fire drills, resilience testing)
- Improve: Step-by-step incident response checklists, hands-on automation workshops
#### ๐ง Logical learners
- Present: Cause-effect relationships between toil and organizational outcomes
- Improve: Decision trees for toil prioritization, ROI calculators for automation investment
#### ๐งโ๐คโ๐ง Social learners
- Present: Panel format encourages multiple perspectives and experience sharing
- Improve: Discussion prompts for team retrospectives, peer review templates for toil identification
#### ๐งโโ๏ธ Solitary learners
- Present: Individual reflection opportunities on organizational toil patterns
- Improve: Self-assessment worksheets, personal action planning templates
#### ๐ฟ Naturalistic learners
- Present: Ecosystem metaphors for supply chain dependencies
- Improve: Lifecycle thinking about software dependency health, environmental impact considerations
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Clear speaker identification, structured content flow
- Improve: Time-stamped transcript with speaker labels, ARIA landmarks for navigation
#### Keyboard navigation
- Present: Standard video player controls
- Improve: Skip links for major topics, keyboard shortcuts for timestamp navigation
#### Contrast and readability
- Present: Good text contrast in player interface
- Improve: High contrast mode support, customizable text sizing
#### Text resizing and reflow
- Present: Responsive player interface
- Improve: Reflow support for transcript content, zoom compatibility
#### Media and captions
- Present: Audio content available
- Improve: Professional captions with technical term accuracy, downloadable transcript
#### Forms and interactions
- Present: Basic video controls accessible
- Improve: Accessible feedback forms for panel Q&A, keyboard-navigable timestamps
#### Standards reference
- WCAG 2.2 AA compliance needed for professional captions and transcript navigation
### ๐ DEIB Assessment
---
## Full Transcript
[00:12] Hi everyone, thanks for joining us today<br>[00:14] for a discussion on rooting out sneaky<br>[00:16] sources of toil. This is a lead dev<br>[00:18] online panel discussion created in<br>[00:19] partnership with Chain Guard. The<br>[00:21] discussion is going to last about 45<br>[00:23] minutes after which both myself and the<br>[00:24] panelists will head over to the lead dev<br>[00:26] Slack channel to answer your questions<br>[00:28] in the panel Q&A channel. We might also<br>[00:30] have some time to answer questions<br>[00:32] throughout. Um, if you want to take a<br>[00:34] minute right now to actually open the<br>[00:35] Q&A section. You can go and you can type<br>[00:37] in questions. I'm going to do my best<br>[00:38] throughout to maybe weave in some of<br>[00:40] your questions to get the real answers<br>[00:42] that you want and then at the end to<br>[00:44] save some time. Anything that we don't<br>[00:46] answer, we'll head over and we can put<br>[00:48] it into the Slack afterwards to make<br>[00:49] sure that you get the questions that you<br>[00:50] want answered.<br>[00:52] So with that in mind, let's get started<br>[00:54] with some introduction. My name is<br>[00:56] Dominique Sino Richie. I'm the CTO at<br>[00:58] Inspiron and I've led engineering teams<br>[00:59] at scaleups like Lever, Shopify,<br>[01:02] Affinity. Today I'm joined by Malikica<br>[01:04] Rao, Chang Leong, Leslie Cordderero, and<br>[01:06] Manfred Moser to share their experiences<br>[01:08] and insights. I'm going to ask each of<br>[01:10] you to introduce yourselves. If we can<br>[01:12] kick it off with Malikica, go ahead.<br>[01:15] Hi everyone. Thank you Dominic. Uh I'm<br>[01:18] Malika. I'm an engineering leader. Spent<br>[01:21] the last several years building and<br>[01:23] operating highly scale distributed<br>[01:26] systems. That's it at the center of<br>[01:27] products, people, engineering and<br>[01:30] products that people use every day.<br>[01:32] Things like search recommendations<br>[01:34] personalization systems and really at<br>[01:36] the core of platform infrastructure. And<br>[01:39] across uh Twitter, Walmart and most<br>[01:42] recently Netflix. I've led teams that<br>[01:44] are responsible not just for building<br>[01:47] new capabilities but for keeping complex<br>[01:50] systems reliable, scalable, especially<br>[01:53] when they are shared by many downstream<br>[01:55] teams and that high blast radius. And a<br>[01:57] lot of my work has uh focused on<br>[02:00] reducing operational and cognitive load<br>[02:03] uh for our engineers for our IC's by<br>[02:06] designing safer production workflows,<br>[02:09] better recovery paths and clear um<br>[02:11] ownership models. Um I'm excited for<br>[02:15] this conversation because toil is often<br>[02:17] treated as inevitable<br>[02:20] uh when in my experience it's usually a<br>[02:22] design signal. uh I care a lot about<br>[02:24] building these systems and teams that<br>[02:26] are uh resilient enough to learn under<br>[02:29] pressure instead of burning out. So<br>[02:31] definitely looking forward to the<br>[02:33] discussion.<br>[02:35] Hey everyone, I'm Chang. Uh I'm a<br>[02:37] software safety nerd. Um and I've been<br>[02:40] working on software for the first 25<br>[02:42] years. Uh I was constructing software<br>[02:44] really with an eye on the computers and<br>[02:46] systems. And for the past 5 years I've<br>[02:49] been uh turned on to the human side of<br>[02:51] things. uh it's a sociotechnical system<br>[02:53] and so we're sort of missing half the<br>[02:55] equation here the people side of things<br>[02:57] and so uh I joined um an incident<br>[03:01] analysis team 5 years ago and that was<br>[03:04] really eye opening as to the ways we can<br>[03:07] um look to monitor signals from the<br>[03:09] system about the humans and uh give us a<br>[03:12] whole set of interventions that are on<br>[03:14] the human side not necessarily on the<br>[03:16] computer side focused for a long time<br>[03:18] most of my career on the computer side<br>[03:20] the code side the system side but sort<br>[03:23] of ignored the humans that were part of<br>[03:25] operating the whole thing. And so I'm<br>[03:27] excited today to talk about toil which<br>[03:29] is very much on the human side. Uh<br>[03:31] computers don't I think feel toil as far<br>[03:33] as I know. They don't have feelings or<br>[03:35] emotions about it but uh certainly the<br>[03:37] people who need to contribute to the<br>[03:38] system do. And so I'm excited to talk<br>[03:41] about uh that today.<br>[03:45] Leslie.<br>[03:48] >> Uh hi everyone. Uh my name is Leslie.<br>[03:50] Um, oh, can you hear me? Okay. Okay. It<br>[03:53] fl it like flinched for a second. Sorry<br>[03:55] about that. Um, my name is Leslie. Uh,<br>[03:57] I'm currently a staff engineer and tech<br>[03:59] lead um at the New York Times. Um, I'm<br>[04:01] the tech lead for both the uh site<br>[04:04] reliability engineering team and the<br>[04:05] reliability platforms team. Um, and so<br>[04:08] I've been here for about three and a<br>[04:10] half years. Um, always working on<br>[04:12] reliability related problems under our<br>[04:14] platform engineering organization. Um,<br>[04:16] so some of the things I've worked on<br>[04:18] were election readiness for uh the pre<br>[04:21] uh the general election that just<br>[04:22] passed. Um, and then also in general<br>[04:24] just preparing for high-skll um events.<br>[04:27] So uh we have New York Times cooking for<br>[04:30] example. So Thanksgiving is a big time<br>[04:31] for us. Um wire cutter um Amazon Prime<br>[04:35] Day um Black Friday are huge days for<br>[04:37] us. Um so yeah that's kind of been my<br>[04:40] pre most recent experience. And then<br>[04:42] before that I was um in education<br>[04:44] technology. Um also was there was in the<br>[04:48] industry for a big high uh high skill<br>[04:50] moment which was co and switching to<br>[04:52] remote learning. Um so at the time I was<br>[04:54] actually at on the Google for education<br>[04:56] team. Um and uh we uh Google classroom<br>[04:59] scaled from about 40 million users to<br>[05:02] over 110 million users in the matter of<br>[05:04] weeks. Um so needless to say I grew an<br>[05:07] appreciation for um production and<br>[05:10] debugging in production. um and also saw<br>[05:12] the pains of toil um in real time. Those<br>[05:15] things that we had kind of just been<br>[05:17] putting off for because it seemed low<br>[05:19] value um really came to uh kind of bite<br>[05:23] us in the butt during that time. So, uh<br>[05:26] excited to talk about all that stuff.<br>[05:29] >> Uh thanks everyone. Uh my name is<br>[05:31] Manfred Boza. I'm a European background<br>[05:35] turned Canadian that uh has been in the<br>[05:37] open source ecosystems well over 20 well<br>[05:40] over two decades. Um I with a bit of a<br>[05:43] focus in the Java ecosystem but also<br>[05:46] lots of work in the CI/CD space DevOps<br>[05:48] and that kind of stuff. I'd been doing<br>[05:50] that stuff before it was called DevOps.<br>[05:52] Um and um I have a long history in the<br>[05:56] build tools and software supply chain<br>[05:59] technologies. I'm an Apache Maven<br>[06:01] committer, a Trino contributor and uh<br>[06:04] involved in various other effects. But<br>[06:06] these days I've been pretty much turned<br>[06:08] into an educator. So I work as a<br>[06:10] developer relations engineer at Chain<br>[06:12] Guard where we look at the components<br>[06:15] that build that are used to build your<br>[06:17] applications and hopefully provide you<br>[06:19] safe and secure ones. So well looking<br>[06:21] forward to talk about toil because it's<br>[06:24] always interesting to see when people<br>[06:25] talk about toil. I'm like well that's<br>[06:27] just like the normal work of a software<br>[06:29] engineer.<br>[06:31] >> Awesome. Yeah to your point a lot of the<br>[06:34] teams accept some level of toil as<br>[06:36] normal. They might not even realize that<br>[06:38] it's toil. It's can be self-inflicted.<br>[06:41] It might be invisible. I find that it<br>[06:44] shows up as either constant context<br>[06:46] switching, surprise security<br>[06:48] vulnerabilities, or hey, some of our<br>[06:50] core dependencies are not available when<br>[06:51] we need them to be available, reactive<br>[06:54] incident work, and even layers of<br>[06:56] process where like you're doing<br>[06:57] something over and over even though it<br>[06:59] doesn't provide the value that it once<br>[07:00] did or maybe there's a new way, a better<br>[07:03] way to do it. Now, what I find in<br>[07:06] talking to individual engineers, they<br>[07:07] don't often see the patterns. It doesn't<br>[07:09] feel like a system and systemic problem<br>[07:11] in the moment. because they show up as<br>[07:13] one-offs, but over time to your point a<br>[07:16] few of you mentioned this, they<br>[07:17] compound. Whether that's because you're<br>[07:19] you have more traffic, more users, more<br>[07:22] people. Sometimes it can be for other<br>[07:24] reasons as well. You have more engineers<br>[07:26] contributing to the same codebase. But<br>[07:27] then all of a sudden, I do find that<br>[07:29] it's worth to start investing and<br>[07:31] thinking about what proactive looks<br>[07:32] like. And so today's conversation is<br>[07:34] going to focus on naming the real<br>[07:36] sources of toil that exist, showing how<br>[07:39] strong teams create urgency without<br>[07:42] waiting for that urgency to be created<br>[07:44] for them by major external factors. And<br>[07:47] then I'd love to get as many great<br>[07:49] examples from this panel as possible so<br>[07:51] that you can all walk away with actual<br>[07:54] things and things that you can try on<br>[07:55] your individual teams or in your<br>[07:57] organizations.<br>[07:59] And so with that in mind, let's start<br>[08:00] with what you consider toil and what do<br>[08:03] you see show up the most in your<br>[08:05] organizations? Uh maybe Leslie, we could<br>[08:08] actually start with you. What do you see<br>[08:09] as the main sources of toil in your<br>[08:11] organization? Where do you see unplanned<br>[08:13] engineering work come from?<br>[08:15] >> Uh yeah, so well the times has been<br>[08:19] around for quite a while. It's our 175th<br>[08:21] birthday this year. I know. Um, and so<br>[08:24] we, you know, I always say we've been<br>[08:26] doing technology and software longer<br>[08:27] than Google has been alive, right? Um,<br>[08:30] so, uh, we have a lot of toil in pretty<br>[08:33] much any type of manifestation. Um, but<br>[08:36] I think some of the biggest sources of<br>[08:38] toil, um, I tend to see have to do with,<br>[08:41] um, the quality of our data actually.<br>[08:44] Um, not having like strong sources of<br>[08:46] truth with respect to like service<br>[08:48] ownership data, um, service data in<br>[08:50] general. Um, and from a platform<br>[08:52] engineering perspective, that's been<br>[08:53] that's really difficult when you're<br>[08:56] talking about like adoption for example<br>[08:58] and tracking down like, okay, this<br>[08:59] issue, who do I escalate it to? And so<br>[09:02] there's just like a lot of sort of<br>[09:03] wasted time just from that exercise,<br>[09:05] which again, it's like a platform or<br>[09:08] reliability management team. Um, that's<br>[09:10] a lot of what you're doing is like<br>[09:12] nudging other people to improve their<br>[09:13] systems. So um, that's been one like<br>[09:16] that's been one source of toil that's<br>[09:18] been on my mind quite a lot lately. So<br>[09:20] that's why I'm talking about it now. Um,<br>[09:22] and then there are also other sources<br>[09:23] like classic sources of truth where you<br>[09:25] know like most companies are monitors<br>[09:28] and alerts are a little bit too noisy or<br>[09:30] maybe a lot of too noisy. Um, and then<br>[09:33] uh in general just I think like things<br>[09:35] like spinning up a new service there's<br>[09:37] traditionally been a lot of toil around<br>[09:39] that. Um, just kind of the like classic<br>[09:41] workflows of a software engineer. um<br>[09:43] we've been working the last five plus<br>[09:46] years to really platformize that um by<br>[09:48] making having there be like centralized<br>[09:50] tooling and whatnot. So um yeah, those<br>[09:53] are some of the sources that of truth of<br>[09:54] toil that uh come up for me. I'm sure I<br>[09:57] could keep going, but I'll let someone<br>[09:59] else chime in.<br>[10:03] >> I like how<br>[10:03] >> Yeah. Uh<br>[10:04] >> no, you go.<br>[10:06] >> Uh yeah, thank you. So when I think<br>[10:08] about toil, I I really don't think about<br>[10:11] uh hard work. uh I think about that<br>[10:14] unplanned repeatable effort that doesn't<br>[10:16] meaningfully improve our systems. The<br>[10:19] kind of work that keeps smart engineers<br>[10:21] busy but it doesn't really make things<br>[10:23] safer or simpler uh for the next time.<br>[10:26] So when I see toil show up uh most uh<br>[10:30] today is in actually three places where<br>[10:33] recovery paths aren't engineered, safety<br>[10:35] mechanisms that are optional or easy to<br>[10:38] bypass and really that operational<br>[10:40] signals that create noise uh to Leslie's<br>[10:43] point instead of that clarity. So a lot<br>[10:45] of that unplanned oil comes from the gap<br>[10:48] between when a system is technically<br>[10:50] backup and when it's actually safe,<br>[10:53] trusted and usable. Again those are two<br>[10:55] different things and that gap is where I<br>[10:58] think engineers lose time, teams lose<br>[11:00] confidence and innovation quietly<br>[11:02] stalls. So yeah I'm curious on your all<br>[11:05] thoughts as well.<br>[11:12] >> It was interesting to say see earlier<br>[11:14] when Lissy was mentioning that it's like<br>[11:16] often like people just not understanding<br>[11:19] what what components are used<br>[11:21] internally. I think that's a very common<br>[11:23] scenario especially in the software<br>[11:25] engineering side when we talk about like<br>[11:28] different libraries being used and<br>[11:30] different language ecosystems being used<br>[11:32] people are like what we're still using R<br>[11:34] or well there's someone using PHP in our<br>[11:36] organization or like there's some I<br>[11:38] don't know even some WordPress or<br>[11:39] whatever running somewhere in the<br>[11:41] organization in large companies and<br>[11:43] that's already like unknown and then<br>[11:45] when it comes to security issues in<br>[11:47] those individual libraries understanding<br>[11:49] what versions of what libraries are used<br>[11:52] where is often like completely unknown<br>[11:55] and that's often creates these like all<br>[11:58] hands on deck. There's some craziness<br>[11:59] going on in the ecosystem, some security<br>[12:01] attack and then people just don't know<br>[12:04] where things are even happening and<br>[12:05] that's like I think that there's those<br>[12:07] two differences of toil. has the like<br>[12:09] the completely unplanned crazy<br>[12:12] everything is like on fire let's have we<br>[12:14] have to fix this and then the regular<br>[12:16] one where it's just like let's do like<br>[12:17] the dependency updates and like make<br>[12:19] sure everything is secure and<br>[12:21] unfortunately<br>[12:23] the less you do the regular sort of toil<br>[12:25] work the bigger the fire is when it then<br>[12:28] happens and item always happens there's<br>[12:30] always something coming up right like<br>[12:31] some software end of life so I'm sure<br>[12:34] Chang has lots of experience with those<br>[12:36] kind of fun events<br>[12:37] >> yeah Actually, Chen, you one of the<br>[12:40] things you said to me that really struck<br>[12:41] me is like people assume that S sur work<br>[12:43] is all toil, but you actually draw the<br>[12:46] line between what you consider toil and<br>[12:49] what is like planned operational work.<br>[12:51] What's your kind of what's your take on<br>[12:52] what toil is?<br>[12:54] >> Yeah, it's interesting uh that you bring<br>[12:56] it to that because I as I was<br>[12:58] mentioning, I really think about the<br>[12:59] human experience of it and um when you<br>[13:02] go look up the definition of toilet,<br>[13:03] it's just work<br>[13:05] >> and it's work. So presumably the work<br>[13:07] needs to be done. Um and obviously if it<br>[13:10] it doesn't need to be done, we can not<br>[13:12] do it. Uh so that's a good conversation<br>[13:14] to have to eliminate what you think of<br>[13:15] as toil or like burdensome work. But<br>[13:18] what um what I was thinking was that uh<br>[13:24] the the planned work you could you could<br>[13:26] move it all to planned. It's not like<br>[13:27] you didn't see your software upgrades<br>[13:30] coming library upgrades coming. um you<br>[13:34] could uh foresee that as work that is<br>[13:36] necessary. And one of the things that I<br>[13:38] think um people think of toil as bad or<br>[13:42] undesirable is because it doesn't use<br>[13:44] their skills or it's not valued by the<br>[13:46] business. And so a way you can change<br>[13:48] toil is perhaps by reframing it by the<br>[13:50] people who are asking for the work to be<br>[13:52] done. Why does this work need to be<br>[13:53] done? Is it valuable for the business?<br>[13:55] If it's valuable for the business and<br>[13:57] maybe it's hard to do, well, maybe<br>[13:58] that's worth investing in. If it has a<br>[14:00] key value driver, a key value uh revenue<br>[14:02] generator or something for you, like we<br>[14:04] need to do this, but it's hard. Okay.<br>[14:06] Well, maybe if it makes us money, we<br>[14:08] should spend effort in making it good<br>[14:10] and easy for us to make money. Um, and<br>[14:13] if it's uh not valuable, why is it not<br>[14:16] valuable? Is it because there's<br>[14:17] expertise that's hidden? Um, one way you<br>[14:20] can maybe reveal that is by asking AI to<br>[14:22] do it for you. uh if you think it's so<br>[14:25] easy to do and doesn't require uh<br>[14:28] doesn't generate a lot of value and<br>[14:29] doesn't require skill, perhaps you can<br>[14:32] ask an AI to do it, but obviously<br>[14:34] monitor your AI, make sure it's doing<br>[14:36] the thing you want. And if it's not<br>[14:37] doing the thing you want, every time it<br>[14:39] does the thing you didn't want, that's<br>[14:41] an that's an expression of expertise<br>[14:43] that the person who was doing it before<br>[14:44] you gave it to the AI has. It's<br>[14:47] something that's not encoded in the<br>[14:48] system. And so I think that's a way to<br>[14:52] reveal that expertise is valuable or the<br>[14:54] work you're doing is actually valuable<br>[14:57] and maybe worth investing more in if<br>[14:59] it's so valuable or if it's not<br>[15:01] valuable, don't do it.<br>[15:06] Yeah, there's definitely a different<br>[15:08] like perception of value that's very<br>[15:11] important and I think that's also a bit<br>[15:13] of a sign of how mature an organization<br>[15:15] is, right? Like if if an organization<br>[15:17] has mature leadership that understands<br>[15:18] how important it is to be on like you<br>[15:21] know not be stuck on Java 8 but use 25<br>[15:24] or whatever or like like use a later<br>[15:26] version of npm and like like be on the<br>[15:29] on the sort of more on the bleeding edge<br>[15:31] than on the very old stuff just because<br>[15:34] there's less security issues like that<br>[15:36] requires mature leadership and<br>[15:37] unfortunately the whole like oh we need<br>[15:39] to ship this new feature and that's much<br>[15:41] more important and write a press release<br>[15:42] about it is always seen as more<br>[15:46] important and I think it's a bit of a<br>[15:47] sign of a mature leadership in the<br>[15:49] engineering organization to understand<br>[15:52] that this stuff is very critical<br>[15:56] >> definitely and often teams won't take it<br>[15:59] seriously especially when they're early<br>[16:01] in the curve of development and maybe<br>[16:03] they're trying to there is a careful<br>[16:05] balance when you're growing a business<br>[16:07] where you're like you have to actually<br>[16:09] deliver what your customers need<br>[16:10] otherwise you can have the most stable<br>[16:12] system that you build, but actually they<br>[16:14] won't be using it. And what I found is<br>[16:17] that teams are forced to confront this<br>[16:20] when a major dependency vulnerability<br>[16:22] hits or maybe a major system outage.<br>[16:24] We've had quite a few of these over the<br>[16:26] last few years, like really significant<br>[16:28] ones that I think none of us would have<br>[16:30] expected as engineering leaders. And<br>[16:32] then all of a sudden, people outside of<br>[16:34] engineering are like, "Wait a minute,<br>[16:36] what are these dependencies you have?<br>[16:38] What should you be doing to invest in<br>[16:39] the resilience of your system, etc." Um,<br>[16:42] Manfred, maybe you have a story around<br>[16:44] this is like when a new when a specific<br>[16:46] open source supply chain attack makes<br>[16:48] the news, why do you find that teams<br>[16:50] actually slow everything down right away<br>[16:52] or that it causes that urgency?<br>[16:55] >> It's been, let's just say, very exciting<br>[16:58] in the last couple of months to look<br>[16:59] from the outside. I'm glad I wasn't<br>[17:01] involved in any of these companies that<br>[17:03] dealt with that, but I we have customers<br>[17:05] that are in like these situations and<br>[17:07] then come for us for help obviously. Um,<br>[17:10] so there was the the like I'll talk<br>[17:12] about the npm ecosystem. So the<br>[17:14] JavaScript components that come out of<br>[17:15] the npm registry. Um, I'm not saying the<br>[17:19] other ecosystems don't have these<br>[17:20] problems, but the npm ecosystem just was<br>[17:22] in the in the in the news recently,<br>[17:25] right? Like further back, you might<br>[17:27] remember the log for shell kind of stuff<br>[17:29] in the Java ecosystem. There's various<br>[17:31] ones in the Python ecosystem, but in the<br>[17:32] npm ecosystem specifically, last year we<br>[17:36] had that chalk debug attack and then the<br>[17:38] shy halloot and then the shahalude ones<br>[17:40] which um were identity theft. So<br>[17:43] basically people just sent a spam email<br>[17:46] to a maintainer. the maintainer fell for<br>[17:48] the trap, reset their two-factor<br>[17:50] authentication, their credentials were<br>[17:53] stolen, and then the open source<br>[17:56] projects uh publishing rights were used<br>[17:58] to publish malware into the npm<br>[18:01] registry. What was so interesting and<br>[18:03] why it was called the shahalude worm<br>[18:05] which is like the worm's name from the<br>[18:06] dune you know in the desert sand<br>[18:09] sandworm kind of thing is these malware<br>[18:13] that were infected they spread to other<br>[18:16] components and over time it made like a<br>[18:18] wave of attacks and um there was the the<br>[18:21] first one the shy halloot and then shaw<br>[18:23] one halude later a couple of weeks later<br>[18:25] and they spread really wide and that was<br>[18:27] the shocking thing that lots of<br>[18:29] organizations completely misjudged<br>[18:31] because things happened such as a<br>[18:34] JavaScript component that was for a Java<br>[18:36] server side application like a NodeJS<br>[18:38] application was infected. Well, the same<br>[18:41] JavaScript also were on the on the<br>[18:43] client side. So, in the browser it went<br>[18:46] further. Some of these components are<br>[18:48] used in desktop applications especially<br>[18:51] also developer applications. So, Visual<br>[18:53] Studio Code for example is a very common<br>[18:55] editor text editor for developers. It<br>[18:58] has an extension ecosystem. It's written<br>[19:00] in JavaScript. This is actually kind of<br>[19:02] a browser application. So developer<br>[19:04] workstations were infected. Secrets were<br>[19:07] stolen from the developer workstations<br>[19:08] and then were used to publish more<br>[19:10] GitHub stuff and cause a whole bunch of<br>[19:13] more more headaches, right? And then<br>[19:15] even it spread even ecosystem. So some<br>[19:18] of those JavaScript components were then<br>[19:20] found in fullbaked applications that<br>[19:22] were deployed to Maven Central. So the<br>[19:25] idea that you're just safe if you're<br>[19:27] using one ecosystem but not the other,<br>[19:29] that's gone. Like everything is so<br>[19:31] complex and I'm sure like Malik or<br>[19:33] Leslie have an idea of like what they're<br>[19:35] dealing with. Like there's no such thing<br>[19:37] as a company that just uses one stack<br>[19:39] and unfortunately the security issues<br>[19:41] also spread across ecosystems now. And<br>[19:43] that's and you don't know that. And so<br>[19:46] that's why it's often like all hands on<br>[19:48] deck. We need to find out what's going<br>[19:49] on. shut everything down, reset all<br>[19:51] credentials and stuff like you need to<br>[19:53] have processes for that because<br>[19:55] otherwise ideally even have shortlived<br>[19:57] credentials. There's a lot of things you<br>[19:59] can do.<br>[20:01] >> Chang, you have a couple of great<br>[20:02] examples of like things completely<br>[20:04] shutting down and forcing the<br>[20:05] prioritization. Do you want to share?<br>[20:08] >> Uh, sure. Uh, Manford referenced log for<br>[20:11] shell back in the day uh in the Java<br>[20:13] ecosystem. um we had uh thousands and<br>[20:18] thousands of uh service microservices<br>[20:21] and systems using Java and um in this<br>[20:25] one we needed to upgrade basically all<br>[20:27] of our libraries uh to at the same time<br>[20:30] and we didn't even have a really good<br>[20:31] way internally not just of kicking off<br>[20:34] all those builds and even if we did do<br>[20:37] the upgrades but even discovering them<br>[20:39] uh we didn't have the tooling internally<br>[20:41] for that. So that required a bunch of uh<br>[20:44] last minute scramble um to basically do<br>[20:48] what Manford describes as something<br>[20:50] routine that you should be doing all the<br>[20:51] time. It should be very easy and we<br>[20:53] should have tools for but we neglected.<br>[20:56] Um so that was one of them. And another<br>[20:58] one uh I guess is is less of a uh a last<br>[21:02] minute scramble due to security stuff<br>[21:04] but a few years ago there was a winter<br>[21:08] storm uh similar I guess in the US to<br>[21:10] what we had last week and an entire<br>[21:12] region's uh energy provider um system<br>[21:16] was unstable. It was under threat of<br>[21:19] being overloaded and at some points um<br>[21:22] they thought they may have to shut the<br>[21:23] whole thing down preemptively. We had at<br>[21:25] the time uh in-house data centers housed<br>[21:29] at several different cities but all<br>[21:31] within one region. So we thought oh<br>[21:33] geographically it would be a pretty big<br>[21:35] asteroid. Well it you know the weather<br>[21:36] is a pretty big asteroid and so we were<br>[21:39] in the process of uh reducing that risk.<br>[21:42] Uh it was a year uh a multi-year effort<br>[21:46] to get into the cloud out of our own<br>[21:48] data centers. But due to this winter<br>[21:50] storm um we accelerated that and were<br>[21:53] able and the company executives<br>[21:55] recognized this was an existential<br>[21:56] business threat to the business. The way<br>[21:58] to get money is to have your website up.<br>[22:00] No website, no money. Well, they<br>[22:02] recognized that this was a major risk<br>[22:04] even with their backup data center in a<br>[22:06] different uh city several hundred miles<br>[22:07] away. Not enough. Uh so they accelerated<br>[22:10] that. Several years was not soon enough.<br>[22:12] So they said in one year we're going to<br>[22:15] move to the cloud.<br>[22:17] and um basically dropped half a dozen<br>[22:20] other companywide annual objectives and<br>[22:22] said this is the one thing and the<br>[22:24] nickname for it was winter is coming and<br>[22:27] uh you know Game of Thrones style. It we<br>[22:30] did it in one year which was several<br>[22:31] years faster than we had planned and<br>[22:33] turned out to actually save quite a<br>[22:35] bunch of money um in the short term.<br>[22:38] >> I mean that's incredible. I hope that<br>[22:40] most of the engineering leaders that<br>[22:42] watch this don't have to go through that<br>[22:44] in order to prioritize toil. I think<br>[22:46] Malikica, you've got some really great<br>[22:48] examples where it's more around seeing<br>[22:50] the cumulative effect, which I think is<br>[22:52] really applicable to PE people starting<br>[22:54] to think about how can I start<br>[22:55] investing? What can I do? Do you want to<br>[22:58] share a little bit about that and then<br>[22:59] we let's maybe shift after that into<br>[23:01] some real practical techniques that<br>[23:03] people can use.<br>[23:05] >> Yeah, I think this um discussion around<br>[23:09] how does it really become a forcing<br>[23:11] function is an important one. Uh I I'll<br>[23:13] tell you the story from uh Twitter<br>[23:16] search infra. Uh for us the forcing<br>[23:19] function wasn't really a dramatic<br>[23:20] outage. It was a slow trust erosion. Uh<br>[23:24] we own core search infrastructure used<br>[23:26] by a lot of downstream product and ML<br>[23:28] teams and incidents weren't typically<br>[23:31] constant but recovery was very slow<br>[23:34] manual and unpredictable. Those were the<br>[23:36] signals that we were uh seeing uh time<br>[23:39] and again. And I think the real breaking<br>[23:41] point was when a data backfill after you<br>[23:45] know the index came down because of an<br>[23:47] upstream trigger. Um there was an<br>[23:50] incident in incident uh brought down the<br>[23:52] index and the data backfill basically<br>[23:54] took us 7 days. The system technically<br>[23:58] came back up within hours right but<br>[24:00] teams uh that depended on us were<br>[24:03] blocked for a full week and that's when<br>[24:06] ignoring toil was no longer an option.<br>[24:09] So because recovery time had become a<br>[24:11] bigger product problem than the incident<br>[24:13] itself. So that was a breaking point for<br>[24:16] us and what surprised me the most was<br>[24:19] how much damage showed up as invisible<br>[24:21] product drag right like teams delayed<br>[24:24] launches product experiments in<br>[24:26] downstream teams froze and people<br>[24:28] literally stopped trusting our timelines<br>[24:30] and SLAs and even how we defined our<br>[24:33] SLOs's and SLI. So in real terms, I<br>[24:36] think it cost us that senior engineering<br>[24:39] time, roadmap momentum and platform<br>[24:41] credibility. Um that's what pushed us to<br>[24:45] start measuring recovery and backfill<br>[24:47] time explicitly and not just outages or<br>[24:50] how do we triage um and to really treat<br>[24:54] these incidents as a systems design<br>[24:56] problem and not just as an ops problem<br>[24:58] to uh uh to you know Leslie's point uh<br>[25:02] that she was making earlier. Right? So I<br>[25:05] think the biggest cause wasn't downtime<br>[25:07] right it was that decision paralysis<br>[25:09] that happens across the organization and<br>[25:12] to your all point I do believe that this<br>[25:14] is so much of an organizational problem<br>[25:16] and not just a technical one<br>[25:19] >> I definitely think that one of the<br>[25:20] things that's helped me has been when<br>[25:22] I've started measuring the number of<br>[25:24] incidents and the recovery time people<br>[25:26] start to wonder why it's taking so long<br>[25:29] to get back up and that recovery time<br>[25:31] you mentioned that being able to use<br>[25:33] that as a way to really demonstrate to<br>[25:35] the business this is the thing worth<br>[25:37] investing in. A while ago, I was at a<br>[25:39] company where there was one particular<br>[25:40] system that was so archaic. It took 50<br>[25:44] hours to get back up if it went down.<br>[25:47] And that's just not acceptable. And it<br>[25:49] was for real live like extremely<br>[25:52] critical use case. And so luckily not<br>[25:55] the entire system obviously would become<br>[25:56] available, but like that was what made<br>[25:59] us be able to invest within that one<br>[26:01] year. And so I do think measuring plays<br>[26:02] a really really big role. And so maybe<br>[26:05] shifting to then now what's worked and<br>[26:07] practiced for you. Leslie, let's start<br>[26:10] with you. What's something that you've<br>[26:11] done to maybe integrate toil reduction<br>[26:14] or prioritize specific sources of toil<br>[26:16] in your planning so that you can make<br>[26:18] sure that you're actually being<br>[26:20] proactive with it?<br>[26:21] >> Uh yeah. So one thing that's important<br>[26:24] for us is that we do distinguish um like<br>[26:27] business as usual work um from toil. Um<br>[26:30] so we always allocate some time for like<br>[26:32] business as usual work which can be<br>[26:34] which can be toil but ne not necessarily<br>[26:37] is toil. Um, in terms of being more<br>[26:39] proactive about eliminating toil, um, I<br>[26:42] think, you know, a lot of it is about<br>[26:45] juggling priorities, right? Um, and so<br>[26:47] the way I think is just like kind of<br>[26:48] making a case for the impact that it can<br>[26:51] have in terms of like the work streams<br>[26:53] that would reduce toil. Um, and<br>[26:54] connecting them to like other other<br>[26:57] times that it could have enabled that<br>[26:59] like high important um, work that uh,<br>[27:02] you know, the business actually needs.<br>[27:03] Um so kind of identifying like patterns<br>[27:06] like oh this issue keeps coming up and<br>[27:09] it's related to toil like maybe now that<br>[27:11] we've seen it um hindered our delivery<br>[27:14] timelines multiple times maybe we should<br>[27:17] consider it as part of our actual like<br>[27:19] prioritized work. Um, so I think I try<br>[27:22] to do those things sort of continuously<br>[27:24] um and point those out continuously so<br>[27:25] that way when it is planning time it's<br>[27:28] not a surprise that I'm like bringing up<br>[27:29] these um bringing up these uh work<br>[27:32] streams um to kind of eliminate uh toil.<br>[27:34] So definitely like keeping track of<br>[27:37] things over of toil over time is<br>[27:39] important. Um like showing that<br>[27:41] historical pattern is going to be super<br>[27:42] crucial. Um because otherwise it's hard<br>[27:45] for leadership to really uh like<br>[27:47] understand how much is actually<br>[27:48] impacting you. Um<br>[27:52] yes. Uh and some other things to keep in<br>[27:54] mind. Um<br>[27:56] oh I guess looking for like technical<br>[27:58] solutions that uh address might address<br>[28:01] like multiple forms of toil um is<br>[28:04] another way. Um and also connecting it<br>[28:06] to like re um incident management um uh<br>[28:11] statistics like was just mentioned. Um<br>[28:13] so for example we had a lot of toil<br>[28:15] around like our observability platforms.<br>[28:17] Um we had uh our data across multiple<br>[28:20] platforms. We still do but it's better<br>[28:22] now. Um and we showed that there was a<br>[28:25] lot of toil in it just by doing like the<br>[28:27] context switch of switching between um<br>[28:29] platforms, right? Like our logs were<br>[28:31] being collected in one vendor, our<br>[28:32] traces were being collected another. Um<br>[28:34] and just like that move that transfer<br>[28:36] between the two like cost us time. Um<br>[28:38] and that's assuming people even knew<br>[28:41] where to find each of these signals,<br>[28:43] right? Um and so we had a huge<br>[28:45] initiative to um centralize our tra to<br>[28:49] centralize our data and also to<br>[28:50] implement um slinstrument uh our apps<br>[28:53] with uh distributed tracing. Um and one<br>[28:56] way that we showed uh the importance of<br>[28:58] that work uh was by tying it back to<br>[29:00] like actual um time to recovery and<br>[29:03] things like that. Um and we could see<br>[29:04] like an actual correlation between the<br>[29:06] two um like the number um of services<br>[29:09] instrumented and the time it took to<br>[29:10] recover. Um, now in terms of what sort<br>[29:13] of spearheaded the initiative, um, I was<br>[29:16] proactive and highlighted this as like a<br>[29:19] risk for election readiness actually.<br>[29:21] Um, and but it was still getting people<br>[29:24] to really value the work was an uphill<br>[29:26] battle, right? Um, and it really did<br>[29:29] take a huge incident um, for us to<br>[29:31] really like prioritize it. Um, there was<br>[29:34] a major news story um, which one was it?<br>[29:38] um oh I think it was when when Trump uh<br>[29:42] got shot um that brought down the times<br>[29:46] like horribly and um that was and again<br>[29:50] we were preparing for the general<br>[29:51] election. So um that big issue was known<br>[29:55] to everyone and it was even escalated<br>[29:57] you know to our board of directors like<br>[29:59] everyone knew about it and that was<br>[30:00] really like the in the no pun incident<br>[30:03] um that got us to prioritize a lot of<br>[30:05] this work. Um and so ideally, you know,<br>[30:07] you want to be uh ahead of those things<br>[30:09] happening, right? Um and luckily we at<br>[30:11] least did have a plan. It was just like<br>[30:13] the priority and like became all the<br>[30:16] more uh clear. So um but yeah, ideally,<br>[30:19] you know, you're being more proactive<br>[30:21] and um avoiding those sort of scary<br>[30:24] times in general.<br>[30:26] >> Yeah, we keep going down the thread of<br>[30:28] incident response. So let's maybe go one<br>[30:30] level deeper on the incident response<br>[30:32] piece before we talk more about<br>[30:33] planning. Chang, you I think you might<br>[30:36] have some specific tips for how to<br>[30:38] reduce incident response and to<br>[30:40] proactively really think about how how<br>[30:42] you can use it to be able to invest.<br>[30:45] >> Yeah, perfect. Um yeah, thanks Leslie<br>[30:48] for a great tea up uh of incident<br>[30:50] response. Um Dominic referenced having<br>[30:53] things to measure and show the business<br>[30:55] that the the work we're doing to reduce<br>[30:57] toil is valuable. And for me, the way to<br>[31:00] do that is to set service level<br>[31:01] objectives, businessoriented ones, not<br>[31:03] about the systems, but about the user<br>[31:04] experiences. Uh, can people log in and<br>[31:07] do the things that they need to do to<br>[31:09] get their business done for whatever<br>[31:11] reason it is that they're using your<br>[31:12] services? And if you specify that in<br>[31:14] business terms, then executives will be<br>[31:16] able to say, okay, I'm willing to pay<br>[31:18] this much or invest this much effort in<br>[31:20] order to achieve this level of<br>[31:22] reliability or delivery. And as Manford<br>[31:25] referenced, we need to practice our<br>[31:28] incident response. And so the thing that<br>[31:31] uh I would recommend is for teams to<br>[31:33] come up with a system, a pattern, a<br>[31:35] process, tooling, and practice<br>[31:37] responding to incidents. If you don't<br>[31:39] have them organically, then make sure<br>[31:41] everyone gets practice in sort of spend<br>[31:43] that uh that unspent budget. If things<br>[31:46] are up, great. Um spend that budget that<br>[31:49] the executives have given you. They said<br>[31:50] it could be down for this much. We can<br>[31:52] afford this much. use that investment to<br>[31:55] have practice sessions and practice<br>[31:58] responding, have a plan for how to<br>[32:00] respond. As Leslie said, they didn't<br>[32:02] necessarily make the investment, but<br>[32:04] they had a plan. And so having a plan is<br>[32:07] sort of half the battle. The other half<br>[32:08] is being ready to execute that plan,<br>[32:10] making sure everyone's on the same page.<br>[32:12] And so I would recommend<br>[32:15] uh setting business speak budgets for<br>[32:19] how much the business is willing to<br>[32:20] invest in it and spending that budget in<br>[32:23] response time as Dominique said uh<br>[32:25] measure stuff and a thing is recovery<br>[32:28] and your recovery can be improved if you<br>[32:30] are practiced at recovering. I think<br>[32:32] I've seen businesses try and chase the<br>[32:35] fool's errand of prevent everything.<br>[32:38] Okay, if we prevent everything, we won't<br>[32:39] ship any software. And so, we know<br>[32:41] they're going to happen. Things are<br>[32:42] going to happen, but we need to humans<br>[32:45] provide that flexibility and adaptive<br>[32:47] capacity to respond in a way that<br>[32:50] writing code just doesn't. Um, so if<br>[32:52] people are ready to follow a plan to<br>[32:54] respond to a disaster, that's much more<br>[32:57] adaptable to any kind of disaster, uh,<br>[32:59] whether it's zombies attacking or<br>[33:00] asteroids hitting the earth, um, than<br>[33:03] any software you could have written it<br>[33:05] in advance.<br>[33:07] >> Yeah. So I still want to believe that<br>[33:09] teams can really invest in like<br>[33:11] proactively reducing toil and build a<br>[33:14] plan. Sorry Leslie if you want to throw<br>[33:16] throw in something and then then I can<br>[33:18] go next.<br>[33:19] >> Um yeah I was just going to say that<br>[33:20] practice part I think is super<br>[33:22] important. One of the things we did was<br>[33:24] um you know resilience engineering and<br>[33:26] res resilience testing. So um you know<br>[33:28] we uh originally started mostly with<br>[33:31] just like load testing right um and that<br>[33:33] was how that's a great way of sort of<br>[33:35] identifying those things proactively um<br>[33:38] because I mean to a certain extent the<br>[33:39] most interesting and impactful problems<br>[33:41] that you can address are ones that you<br>[33:43] don't know right um or at least you<br>[33:45] don't know until they like happen so you<br>[33:47] can simulate the scenarios in which that<br>[33:49] might happen um so that's sort of like<br>[33:51] one way I think about doing it more<br>[33:53] proactively in a way that's not like<br>[33:55] being too preventative Right. So much so<br>[33:58] that you have to um give up the high<br>[34:00] value work that you do need to deliver<br>[34:02] to make your business sustainable.<br>[34:05] >> Yeah. I also find these exercises of<br>[34:07] resiliency testing where you just like<br>[34:09] what happens if that cloud goes offline?<br>[34:11] Let's simulate that. Those are actually<br>[34:13] super fun for engineers to deal with<br>[34:15] because like you're like you there's<br>[34:18] always some sort of thing where you're<br>[34:19] like oh we just switch this off it'll<br>[34:21] fall over. Clean it to that it'll be<br>[34:22] just fine. And then you're like no it's<br>[34:24] not. that's falling over there and there<br>[34:26] and like five other surprises and it's<br>[34:28] actually like really fun detective work<br>[34:30] to chase down what's going on. And if<br>[34:32] you can do that in a pro in a proactive<br>[34:34] exercise then the the pressure and the<br>[34:38] panic of oh there financial damage and<br>[34:40] like reputation blah all that falls<br>[34:42] away. So you can like I I totally<br>[34:44] believe in the like do a hackathon day<br>[34:47] or like a reli resilience day where you<br>[34:49] just like let's see which plugs we can<br>[34:51] pull and how the thing falls over kind<br>[34:53] of thing in a test scenario. And that's<br>[34:55] I think it's totally fun for engineering<br>[34:57] teams to do.<br>[34:58] >> I've been able to connect it to business<br>[35:00] objectives just by looking at like<br>[35:02] what's the projected customer growth or<br>[35:04] the traffic that we expect. And if you<br>[35:06] model just a little bit of that, then<br>[35:08] you're like, well, if our goal is to<br>[35:09] have this many customers and therefore<br>[35:11] this much traffic, then it's easy to<br>[35:12] work backwards from there to do the load<br>[35:14] testing for the right number of users<br>[35:16] and to demonstrate we actually need to<br>[35:18] fix these issues that we've identified<br>[35:20] or we won't work by for uh by these big<br>[35:23] events. And I've done that in places<br>[35:25] where we didn't have a Black Friday or<br>[35:27] we didn't have like a major event that<br>[35:29] we expected. It was more just we know<br>[35:31] that we're slowly growing and as part of<br>[35:34] that growth there's a certain point<br>[35:35] where some of our services are going to<br>[35:37] fall over and it's been a great way to<br>[35:39] not have to rely on urgency but instead<br>[35:41] to be like here's the capacity that we<br>[35:43] actually know we need to support based<br>[35:45] on where we're going. Um yeah Malikica<br>[35:48] you want to go ahead.<br>[35:50] >> Yeah. No great points there by the<br>[35:52] panelists. Uh I think one thing that uh<br>[35:56] we learned the hard way and uh uh you<br>[35:59] know kind of put it in practice uh<br>[36:02] retrospectively was we stopped relying<br>[36:04] on heroics and just made the safe path<br>[36:08] boring and the default path and that<br>[36:10] gave us a lot of u uh value. uh it<br>[36:14] really came after an incident where a<br>[36:16] critical production change bypassed our<br>[36:18] shadow canary path and the system came<br>[36:21] back up quickly but validating and<br>[36:23] repairing those downstream implications<br>[36:25] took much longer and that was creating a<br>[36:27] hidden toil. So we created these truly<br>[36:30] blameless reviews right where we<br>[36:32] realized that the problem wasn't a human<br>[36:35] error. if one person could do it, it was<br>[36:37] basically like a blind spot in the<br>[36:39] system itself and it was that our<br>[36:42] deployment workflow made it possible to<br>[36:44] uh skip those safety checks under<br>[36:46] pressure. So we hardened the system<br>[36:48] instead of asking people to be more<br>[36:50] careful looked at our abstractions, our<br>[36:52] guard rails, our contracts and we made<br>[36:55] shadow canaries non-optional for certain<br>[36:57] classes of changes and added automated<br>[37:00] validation around it as well. So that<br>[37:02] really invested in that post deploy<br>[37:04] verification and recovery tooling. So<br>[37:06] the result wasn't just like fewer<br>[37:08] incidents right that's not the point but<br>[37:11] it was really that faster calmer<br>[37:13] recovery and much less operational noise<br>[37:15] and I think Cheng mentioned this systems<br>[37:18] are going to fail but can we build those<br>[37:21] systems that will fail well teams that<br>[37:23] can respond well and make learning<br>[37:25] really fast and you know investing in<br>[37:28] those fire drills operational reviews<br>[37:30] premort has really paid uh a lot of<br>[37:33] value so it really infors that belief<br>[37:35] that I care deeply which is most teams<br>[37:38] are back up fast but not back to safe<br>[37:41] and that gap is where I think toil<br>[37:43] really explode sometimes and worth<br>[37:45] keeping an eye out for.<br>[37:47] >> You made such an important point. So<br>[37:50] when it comes to reducing toil, you can<br>[37:52] use process and planning and all of<br>[37:55] these great things, but actually you can<br>[37:57] also automate and set guard rails to<br>[38:00] make it such that especially the entire<br>[38:02] organization, regardless of if they're a<br>[38:05] feature delivery team, a project team<br>[38:07] that doesn't have that SR or that<br>[38:09] platform desire to do that, they can do<br>[38:11] it. Leslie, you've probably had to put<br>[38:14] in place some of those guardrails in<br>[38:16] your roles. Is there any are there any<br>[38:17] good examples of things that have worked<br>[38:19] really well to kind of help force some<br>[38:20] of those teams to either, you know,<br>[38:22] upgrade their dependencies proactively<br>[38:24] or to address some of the incident<br>[38:26] response learnings? What has worked for<br>[38:28] you?<br>[38:29] >> Uh yeah, so I mean automation is<br>[38:31] definitely a huge part of the job. Um so<br>[38:33] you know basic things even just like<br>[38:35] automatic upgrades so that you don't<br>[38:37] even have to do it or think about it,<br>[38:38] right? Um are pretty like table stakes<br>[38:41] things to start off with. Um other<br>[38:44] things that you might want to have in<br>[38:45] place for uh in terms of automation is<br>[38:47] like automatic rollbacks, right? Um if<br>[38:50] an incident is uh if an issue is<br>[38:53] detected, right? You can set that up um<br>[38:55] with your observability and monitoring<br>[38:57] platform. So that way, you know, it's h<br>[38:58] it's happening in an automated way where<br>[39:00] you don't have to like be watching your<br>[39:02] dashboards um as it's like being<br>[39:04] deployed to production and whatnot. Um<br>[39:07] so things like that are, you know,<br>[39:08] pretty like table stakes things I think<br>[39:10] to have in place. Um and then there's<br>[39:12] also, you know, going to be more<br>[39:13] creative options that you can encounter<br>[39:15] too. Um maybe what I said was already<br>[39:18] considered um creative, but um you know,<br>[39:21] having it like roll out based on having<br>[39:24] um canary deployments, things like that.<br>[39:27] Um there was something else I had in<br>[39:30] mind, but I it left my mind. Um<br>[39:34] >> I'm sure it'll come back. I'm I bet that<br>[39:36] Manfred has a pretty strong opinion<br>[39:38] here.<br>[39:41] Well, I think I think one of the aspects<br>[39:43] also that are worth thinking about and<br>[39:45] that that came to mind when we're<br>[39:47] talking earlier about the monitoring<br>[39:49] system unless it was rolling out. I<br>[39:51] think um standardization is sometimes<br>[39:54] very useful like don't allow your<br>[39:57] developers to make a separate monitoring<br>[39:59] system and choose a different database<br>[40:01] and a different version of a different<br>[40:03] library and a different container with a<br>[40:05] different operating system in it. So you<br>[40:07] have to like don't allow all this like<br>[40:10] uh like diversity and and like like<br>[40:13] different choices just for the sake of<br>[40:15] it like be bold enough to standardize on<br>[40:18] like we are only using like I don't know<br>[40:21] some specific containers that are super<br>[40:23] lightweight don't have stuff in it um<br>[40:26] for that standardize on one version of<br>[40:29] whatever the spring framework or<br>[40:31] whatever and like stick to docker don't<br>[40:33] use vms and docker and some other<br>[40:35] mechanism and docker compose and<br>[40:37] whatever else and like desktops running<br>[40:39] under like you know servers running<br>[40:40] under your desk or something like<br>[40:42] standardize and then have those all feed<br>[40:45] into the same observability system like<br>[40:48] Lesie was saying right so those those<br>[40:50] help a lot and that then also allows you<br>[40:52] to better understand where any security<br>[40:54] issues come in play and then ideally you<br>[40:57] have process in place to make sure you<br>[41:00] use the the latest and greatest versions<br>[41:02] of those dependencies or you have some<br>[41:04] vendor that can provide you security<br>[41:05] backports if you're really stuck on some<br>[41:07] old one. So, but you need to understand<br>[41:09] what's going on, right? And you need to<br>[41:11] allocate time for doing that work.<br>[41:13] >> Yeah, that brings up a really good topic<br>[41:15] of uh governance, technical or<br>[41:18] operational governance. Um, which I<br>[41:19] think is super important, especially for<br>[41:21] like large organizations or enterprises.<br>[41:23] Um, where a lot there's a lot of toil in<br>[41:26] the cognitive like work of of figuring<br>[41:28] out how to do something, right? Um, when<br>[41:30] you have standards in place, um, that<br>[41:33] kind of work is already done for you,<br>[41:35] right? um like to a certain extent you<br>[41:37] know a lot of the technical choices that<br>[41:39] we make um obviously require tradeoffs<br>[41:42] right but it's almost more important to<br>[41:44] have a like faster way to deliver it<br>[41:46] than to have the right choice right um<br>[41:50] and also the right choice is very<br>[41:51] subjective right so um definitely so I<br>[41:55] think having like strong governance in<br>[41:57] place makes all these things a lot<br>[41:58] easier um because then centralized teams<br>[42:00] if they know if they know that they can<br>[42:02] rely on you know assumption in the<br>[42:05] technical systems they can build<br>[42:07] solutions for those technical systems.<br>[42:08] So having like a a minimized amount of d<br>[42:11] of drift I think is like always going to<br>[42:13] be a good thing um for those things. Um<br>[42:15] so like in observability for example um<br>[42:18] you know we have some centralized<br>[42:19] instrumentation libraries. Um there's<br>[42:21] every pretty much every language exists<br>[42:23] at the times because again we'reund and<br>[42:25] something years old. Um but um it was<br>[42:29] it's now that we're standardizing on<br>[42:31] like four central languages, we were<br>[42:32] able to just kind of prioritize those<br>[42:34] languages, right? Um and that also<br>[42:36] allowed us to show the difference and<br>[42:38] like this is how long it would have<br>[42:39] taken you to um instrument your<br>[42:42] application if you had used one of our<br>[42:43] standardized languages versus if you're<br>[42:45] using our non-standardized languages.<br>[42:47] Now you have to figure it on your own.<br>[42:48] It's like a difference in weeks of the<br>[42:50] matter. So that also kind of builds the<br>[42:52] case for addressing these sources of toy<br>[42:55] or technical debt.<br>[42:57] >> Awesome. I think I'm going to wrap us up<br>[42:59] here unless Malikica, you want to throw<br>[43:01] in one quick one last maybe good example<br>[43:04] or practice for the team and then I'm<br>[43:07] going to wrap us up just because we're<br>[43:08] up at the hour or at the 45 minutes.<br>[43:11] >> No. Awesome. Makes sense. Dominic, I was<br>[43:13] just going to quickly say that<br>[43:14] automation is worth investing uh in when<br>[43:18] it changes behavior under pressure,<br>[43:20] right? Not when it just produces more<br>[43:22] signals. Preventive tooling should<br>[43:24] remove like entire classes of failure,<br>[43:27] not just create more alerts for humans<br>[43:29] to try edge. So the best automation in<br>[43:31] my mind is what makes quiet<br>[43:35] disappearance of problems before<br>[43:37] engineers ever have to think about them.<br>[43:40] So let it target those classes of<br>[43:42] failures and not just those one-offs.<br>[43:45] Those probably don't need the um cost of<br>[43:48] putting in that automation in place.<br>[43:50] Yeah,<br>[43:51] >> what an amazing point to end on so that<br>[43:53] people can actually think about what<br>[43:55] they can start by automating that won't<br>[43:57] create more noise but actually help<br>[43:59] people. That's really really awesome. So<br>[44:02] thank you everybody for all of your<br>[44:04] insights today on today's panel.<br>[44:06] Obviously, the most damaging toil<br>[44:08] becomes visible when teams are actually<br>[44:10] willing to track it. I think a lot of<br>[44:12] you shared good examples of incident<br>[44:14] response and data being able to be use<br>[44:16] that in planning as a really really<br>[44:19] great way and you don't have to wait for<br>[44:22] failure to justify prioritization.<br>[44:24] Um, I think maybe the the thing we<br>[44:26] didn't touch on, but good for wrapup is<br>[44:28] that you do need sponsorship and you did<br>[44:31] all kind of touch upon it at these<br>[44:33] different pieces. And sometimes that<br>[44:34] sponsorship comes from an urgent piece<br>[44:36] of it. It comes from having identified<br>[44:38] proactively the risks and the work to do<br>[44:40] in order to do it. But ultimately seeing<br>[44:43] your role as an individual engineer,<br>[44:45] engineering leader as raising that risk<br>[44:47] that you can proactively get that<br>[44:49] sponsorship will be really really<br>[44:50] impactful for all of your success as you<br>[44:52] want to go take away and and draw this<br>[44:54] as as a next step for your you and your<br>[44:56] team. So thanks for all the panelists<br>[44:59] for sharing your thoughtful real world<br>[45:00] insights. We are going to head over now<br>[45:02] to the lead dev slack channel in the<br>[45:04] panel Q&A channel and you can continue<br>[45:06] the discussion or ask any questions that<br>[45:08] you have there. Thanks for joining and<br>[45:09] see you next time.
<!-- deep-read:sections end -->