Patience in Software Engineering


Team-Driven Developer

A newsletter with tips and tools for building software as a team

When I bought my house a few years ago, I set up a small fire pit in my backyard. One of my favorite things to have friends and family over for a "fire night." I'll crank up the fire, set up the chairs, and people trickle in and out one by one.

Hosting these events (along with my love for camping) has helped me get good at building fires. I might not be ready to tackle Alone, but I’m a pretty decent fire builder.

And one key to building a great fire is patience.

You can’t build a fire by holding a small lighter or match to a huge log and expect it to be roaring a few minutes later. You also can’t rush an already burning fire and dump everything all at once, or you’ll smother it.

No, to build a good fire, you need to practice patience. You prepare your kindling and set up your wood before ever lighting a match or making a spark.

You’ll build a fire faster by being methodical and patient rather than hopelessly trying to light a log with flint and steel.

Sadly, the software industry has forgotten patience. We want to ship things too quickly, make large assumptions about our users and force paradigms that are poor at best and broken at worst. We are trying to light a log with a small lighter.

Here are some ways in which software engineers can practice patience in their craft (beyond being patient with one another, which is valuable in its own right).


Team-Building Exercise

Be honest: does your team sometimes get impatient in shipping work? I'm not talking about working hard and focusing on fixing an urgent issue. I'm talking about moments when the team is clumsy, hasty, or unwilling to collaborate.

This week's Team-Building Exercise is about reflecting and working to add more patience into your development lifecycle.

If you think your team needs to improve its patience, your work is cut out for you. It's a challenging task. There is a tool I think can help:

Create a rule that every comment or suggestion in a code review or a design proposal needs a response.

If you read the article, you'll notice that I said you don't need to do that all the time. And that is true. This isn't for the rest of the time, but just for a short time of maybe a month or two. It will naturally decline and go away once you stop enforcing it.

By requiring every comment, question, or suggestion to have a response, you'll force authors to slow down and not ignore them. You might not need a full sentence as a new comment in a thread; you can batch a few together and address it all at once. Even using emojis to signal the acceptance of an idea or praise for a suggestion can count.

You'll even find that reviewers and comments will be more thoughtful in their suggestions. If they know someone needs to respond (and they'll need to respond back!), they will also be more patient in their feedback.

Of course, there is a risk of a bad actor here. Someone could add a ridiculous number of comments and make it difficult for the other side. If this does happen, I'd imagine this person is already not getting along with the team, which will simply escalate an existing conflict. It might even force the conversation about how the team ideally works together (which is a plus in my book).


Here are some more resources from me to help you build better teams!​

  • 📕 Code Review Champion - My book on code reviews will help you become a world-class code reviewer. From giving kind feedback to navigating conflict, this book can help anyone wanting to sharpen their code review skills.
  • ❓​Questions for Devs - Building a team takes more than catching up about your weekend at standup. I've used these questions to build relationships with my team and push past the same old surface-level conversations.
  • ​📋 Pull Request Template - Maximize your efforts in pull requests by giving context right at the beginning of a new pull request. Copy and paste this template into your repo, and voilà!
  • 📊 ​Code Review Metrics - Start measuring how your team tracks against a few common code review metrics. This python script will pull your GitHub pull requests and generate a CSV you can slice-n-dice to get the data you want. It also has graphs! As this is an open-source project, your contributions and feedback would be great!

Other Creators I Recommend

Image for Daniel Schaefer

Daniel Schaefer

Subscribe if you are a software developer that has the technical skills, but you're looking for opportunities to enhance your soft skills to advance in your career.

Image for Build It Better Newsletter

Build It Better Newsletter

by Jonas Fleur-Aime

Creating great software is not just about completing new features faster, submitting more pull requests, or fixing bugs. Every Wednesday I publish tips and tactics to help you meet tough deadlines, tackle tech debt, handle scope creep, manage stakeholders, make sure you're building what customers actually want, and more. I'll draw on what I've learned after spending 15 yrs as a software developer, Engineering Manager, CTO, and startup advisor.

113 Cherry St #92768, Seattle, WA 98104
Unsubscribe · Preferences

Dan Goslen | The Team-Driven Developer

Learn the tips and tools for building software as a team! Every other week, I send a long-form article, a team-building exercise, and resources to help you build better software teams so you can build better software.

Read more from Dan Goslen | The Team-Driven Developer

Team-Driven Developer A newsletter with tips and tools for building software as a team A quick note before diving in: I'll be skipping an issue for Thanksgiving 🦃 in the next few weeks and then skipping the last issue in December for Christmas 🌲. Onto the issue! Trust is a complicated topic. Some might disagree with that. They might say trust is simple: you trust someone or don’t. Others might think trust is impossible to attain - it’s an ideal, not a real thing. Regardless of what others...

Team-Driven Developer A newsletter with tips and tools for building software as a team I came across a wonderful talk this past week from Carol Lee, PhD from the past LeadDev conference. Her talk was centered around some important research she and a fellow scientist, Kristen Foster-Marks, conducted about how developers experience code review anxiety. The TL;DR is that code review anxiety exists among engineers of all levels, and we must develop proper skills to manage it effectively. They...

Team-Driven Developer A newsletter with tips and tools for building software as a team A few weeks ago, I co-authored an article with some friends at Greptile about AI vs. human code reviews. It was a blast working with Greptile’s co-founder, Daksh, on the article, as he brings an insider perspective about the new AI technology helping software developers become increasingly effective at their craft. One of our key points was around something that was likely unexpected to a reader: the idea...