The Pragmatic Engineer

Developer productivity with Dr. Nicole Forsgren (creator of DORA, co-creator of SPACE)

· Summarized

Share this episode
Anyone with this link can open it.
Share Link
Start at 0:00

Key takeaways

  • The S.A.C.E. framework—Satisfaction, Activity, Communication/Collaboration, and Efficiency/Flow—provides a comprehensive understanding of developer productivity.
  • Migration from the DORA metrics to the SPACE framework indicates a growing focus on developer experience rather than just output.
  • It’s critical to consider a constellation of metrics, rather than relying on isolated outputs, when aiming to measure and improve developer productivity.
  • AI tools present new opportunities in software development, but their effectiveness depends largely on individual workflows and preferences.
  • Cultural transformation in engineering teams, requires fostering psychological safety and encouraging inquiry, to enhance overall productivity.

Summary

Understanding Developer Productivity Metrics

In this episode, Dr. Nicole Forsgren discusses various metrics associated with developer productivity, encapsulated in the acronym S.A.C.E.: Satisfaction, Activity, Communication/Collaboration, and Efficiency/Flow. It highlights the essentiality of understanding these metrics for improving developer experience. The conversation dives into the importance of not relying solely on one metric but rather integrating multiple metrics to make holistic assessments about productive work and the factors impacting it.

The Evolution from DORA to SPACE Framework

Dr. Forsgren elaborates on the transition from the DORA metrics (Deployment Frequency, Lead Time for Changes, Change Failure Rate, Time to Restore Service) to the newer SPACE framework that encapsulates satisfaction, performance, activity, communication, and efficiency. This evolution emphasizes a broader understanding of developer productivity, stressing that companies need to look beyond mere coding outputs to evaluate the context of developer work, considering aspects like developer experience and satisfaction.

Challenges in Measuring Software Development Productivity

Throughout the episode, the complexities of measuring software productivity are highlighted. Dr. Forsgren delves into why traditional economic definitions of productivity fail in software development. There's a discussion about observed trade-offs in high-performing engineering teams concerning time-to-onboarding, the forces affecting developer performance, and common blockers in development pipelines. The dialogue points out that often, non-technical management seeks quick metrics to evaluate productivity, which doesn't align with the developers' reality.

The Role of AI in Software Development

The integration of AI tools in development practices is explored, showcasing their potential to enhance productivity through intelligent systems like IDE language models. Dr. Forsgren discusses how they can be beneficial in coding but emphasizes that personal workflow preferences dictate their effectiveness, highlighting various use cases for developers to optimize their interaction and reduce interruptions caused by constant suggestions.

Cultural Shifts in Tech and Engineering Teams

The episode concludes with a discussion on shifting the culture within engineering teams. Dr. Forsgren emphasizes the importance of psychological safety for innovation and openness to new methods of working in software development. By fostering an environment of curiosity and improvement, engineering teams can bloom, notably when leaders champion the value of such transformations.

Sponsors

  • DX · Measuring developer productivity is a decades-old challenge, and many technology organizations still struggle to get it right. DX takes a scientific approach that offers complete clarity, interpretivity, and is underlying factors. It combines data from development tools with self-reported data collected from developers so you can see both the what and the why. The insights from their platform cater to leaders at every level of the organization, from CTOs to platform teams to frontline managers. Learn by some of the world's most iconic companies like Dropbox, played, Twilio, Versel, and Gusto rely on DX.
  • Sentry · Buggy lines of code and long API calls are impossible to debug and random app crashes are things no software insurance is a fan of. This is why over 4 million developers use Sentry to fix errors and crashes and solve hidden or tricky performance issues. Sentry goes debugging time in half, no more soul crushing lock sifting or fake user reports like it broke, fix it. Get the context you need to know what happened when it happened and the impact down to the device browser and even a replay of what the user did before the error. Sentry will alert the right div on your team with the exact broken line of code so they can push a fix fast, or let auto-vex handle the repetitive fixes so your team can focus on the real problems. Centru help Monday.com reduce their errors by 60%, and spend a time to resolution for next door by 45 minutes per deaf per issue. Get your whole team on Centru in seconds by heading to centru.io slash pragmatic, that is s-e-n-t-r-y.io slash pragmatic, or use the code pragmatic on sign up for three months on the team plan and 50,000 hours per month for free.

Show notes

Supported by Our Partners

• WorkOS — The modern identity platform for B2B SaaS

• CodeRabbit — Cut code review time and bugs in half

• Augment Code — AI coding assistant that pro engineering teams love

—

How do you architect a live streaming system to deal with more load than it’s ever been done before? Today, we hear from an architect of such a system: Ashutosh Agrawal, formerly Chief Architect of JioCinema (and currently Staff Software Engineer at Google DeepMind.)

We take a deep dive into video streaming architecture, tackling the complexities of live streaming at scale (at tens of millions of parallel streams) and the challenges engineers face in delivering seamless experiences. We talk about the following topics: 

• How large-scale live streaming architectures are designed

• Tradeoffs in optimizing performance

• Early warning signs of streaming failures and how to detect them

• Why capacity planning for streaming is SO difficult

• The technical hurdles of streaming in APAC regions

• Why Ashutosh hates APMs (Application Performance Management systems)

• Ashutosh’s advice for those looking to improve their systems design expertise

• And much more!

—

Timestamps

(00:00) Intro

(01:28) The world record-breaking live stream and how support works with live events

(05:57) An overview of streaming architecture

(21:48) The differences between internet streaming and traditional television.l

(22:26) How adaptive bitrate streaming works

(25:30) How throttling works on the mobile tower side 

(27:46) Leading indicators of streaming problems and the data visualization needed

(31:03) How metrics are set 

(33:38) Best practices for capacity planning 

(35:50) Which resources are planned for in capacity planning 

(37:10) How streaming services plan for future live events with vendors

(41:01) APAC specific challenges

(44:48) Horizontal scaling vs. vertical scaling 

(46:10) Why auto-scaling doesn’t work

(47:30) Concurrency: the golden metric to scale against

(48:17) User journeys that cause problems 

(49:59) Recommendations for learning more about video streaming 

(51:11) How Ashutosh learned on the job

(55:21) Advice for engineers who would like to get better at systems

(1:00:10) Rapid fire round

—

The Pragmatic Engineer deepdives relevant for this episode:

• Software architect archetypes https://newsletter.pragmaticengineer.com/p/software-architect-archetypes 

• Engineering leadership skill set overlaps https://newsletter.pragmaticengineer.com/p/engineering-leadership-skillset-overlaps 

• Software architecture with Grady Booch https://newsletter.pragmaticengineer.com/p/software-architecture-with-grady-booch

—

See the transcript and other references from the episode at ⁠⁠https://newsletter.pragmaticengineer.com/podcast⁠⁠

—

Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email [email protected].



Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

Follow this show on AudioBrevity and new episodes get summarized for you. Create a free account

Couldn't load the audio. A blocker may be stopping the show's tracking links. Open the file