Livestream - Debugging a Race Condition in a Cypress Browser Test

Have you ever struggled to figure out why, exactly, the test is saying that a variable is undefined even though there is a line of code that sets the value literally three lines up from the offending line? Observed browser tests scampering ahead gleefully even though your test data hadn’t quite finished being populated inside the database? Gave up and deleted a feature test?

We have too. About a billion times. Maybe two billion. Sometimes it’s not worth diving in and fixing a broken feature test. And sometimes it is. Of the many lessons we’ve learned along the way, one of the critical ones is that the majority of debugging boils down to understanding the order of operations, how and where state changes, and how to manage the test preparation and execution timeline.

These three skills are key to being able to describe, diagnose, and resolve flakey test failures.

On January 3rd, 2019 at 10 AM PT/1PM PT Betsy and Zee streamed a live-pairing session where we solved one of our technical coaching clients’ failing feature tests.

Unfortunately, due to technical difficulties, the recording for this stream has been lost. We apologize to peope who were hoping to watch later. We have shared our learnings in our article Lessons Learned From our first #RealWorldCode Livestream

Want to find out when our next livestreams are scheduled? You can get them delivered straight to your inbox in our brief, monthly newsletter.

Your application is used by people. Those people sometimes run into unexpected events that make them sad. When that happens, they talk to your support team. Your support team does everything in their power to turn that frown upside down; and they need your help.

This collection of talks and activities help your team understand the day to day work of your organization’s support heroes, identify ways to provide them with the information and tools they need to create delightful customer experiences.

Building Supportable Applications is available as a half or full day workshop for your organization. Reach out to [email protected] to get yours scheduled.

This talk is geared to help you:

  • Identify and empathize with your organization's support team.
  • Explore different application support strategies and where they work best.
  • Understand the costs and benefits of making supportability a priority.
  • Design a holistic approach that weaves together product planning, engineering, support and infrastructure.

Jennifer and Zee co-presented Gardening Your Team in 2019 at RailsConf in Minneapolis.

Title slide from presentation

Six areas of engineering management through the lens of empowering and trusting your team.

Download slide deck


  • Tanya Reilly, “Glue Work”
  • Courtney Eckhardt, “Retrospectives for Humans”
  • Jennifer Davis, “Hero to Zero”
  • Daniel Kahneman, Thinking, Fast and Slow
  • Tuckman’s stages of group development

I thought of software architects as petty waterfall dictators. Then I became one. My theater background saved me. In this talk, we’ll look at set design — an ongoing, collaborative process — as a model for a more agile kind of “architecture” than building metaphors allow us. You’ll learn about the most important part of any architecture (hint: people), about using architecture to foster team creativity, and about the agile-architecture superpowers that Ruby gives us. No matter your title, you too can architect!

This talk is geared to help you:

  • Learn how to make software design more collaborative.
  • Use the ideas behind set design to foster creativity.

Reactive data structures are intuitive and flexible. But they’re not always enough structure for complex client applications. How can we scale understandability? This talk presents three Vue.js techniques: partially applied utility functions, unmounted data-store components, and a hybrid technique that can give us the benefits of each. You’ll learn what each technique is good for — and where each can trip you up. Whether you use Vue or React or even JQuery day-to-day, you’ll come away with a better understanding of how to leverage reactivity for understandability when understandability gets hard.

This talk is geared to help you:

  • Avoid understandability traps when building reactive UIs.
  • Write more useful partials and utility functions.
  • Work with unmounted data store components.
  • Blend functional and object oriented tactics to get the best of both.

Jennifer presented You Can’t Bubblebath The Burnout Away in 2019 at RailsConf in Minneapolis.

Title slide from presentation

Why do we turn to self-care?

Why does self-care sometimes not work?

What do we do when self-care stops working?

Download slide deck


  • Capitalism and self care:
  • On burnout for the millenial generation:
  • An intersectional perspective on burnout::
  • Actionable advice for specific steps you can take:
  • A personal perspective on the experience of E_INSUFFICIENT_HOURS_FOR_MORE_SELF_CARE:
  • Book rec!! I haven’t read this book on burnout by Emily Nagoski, PhD and Amelia Nagoski, DMA, but I expect it to be really helpful:
  • Techniques for staying kind, resilient, and creative when things get hard at work:
  • Forbes on what causes your burnout:

Attend Livestream - Debugging a Race Condition in a Cypress Browser Test at Online on Jan 3, 2019 with Zee Spencer and Betsy Haibel!