Consistency Isn't the Goal


Team-Driven Developer

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

In one of my first software internships, I remember overhearing a conversation between two engineers.

I don’t remember much of the details, except that this one engineer was pretty frustrated with another about some recent code that was checked in. His last line was “Let’s be consistent.” as he walked back to his own cubicle, clearly agitated.

For some reason, this conversation stuck with me. I carried it through my first few professional years as an engineer. I wanted to write consistent, clear, crisp code.

It felt like an unspoken rule that great codebases were consistent with no exceptions.

As I’ve grown in my career, I’ve realized that while consistency is a good goal in software development, it isn’t the goal.

Let me explain why.


Team-Building Exercise

This week, there isn't an Exercise that pertains directly to the article above, but I do think it's one to practice.

This week, I want to encourage you to do something very uncomfortable that I'm learning to practice myself:

Get more face time with people on your team that you disagree with.

And by face time, I mean at least some form of video-on conference call - not just Slack or an audio-only interaction.

Why? Research from Zoom suggests trust is achieved simply by both parties having their camera on. And increasing trust with those that disagree with you is a key part of improving your team's ability to work together.

It's so easy to go from a disagreement to a conflict to an argument to ultimately not trusting a teammate. And that is a dangerous place to be.

Even when we disagree, we must find ways to continue working together productively. Find common ground, work to resolve the issues you can, and be willing to let go of a few that don't matter that much in the long run.

It's simple in theory, hard to do in practice, but worth it.


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 Building Custom SaaS Web Apps

Building Custom SaaS Web Apps

by Thomas McGee

I’m a web developer by trade, but I’m a creator at heart. As such, I constantly find myself making, designing, and coding new things to make life easier for creators of all kinds. Whether it be Radarist for managing your projects and tasks or Startboard for easily organizing your web bookmarks—I’m here to make it easier for anyone to earn online.

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 Software engineers are all about principles and patterns. Short acronyms like DRY, YAGNI, KIS, etc., are used everywhere within the industry to try and concisely communicate an axiom of how to write software. One principle that arises within software engineering is that of reusability. We have this idea that we can build software components once and reuse them everywhere. The idea is that by building...

Team-Driven Developer A newsletter with tips and tools for building software as a team A few years ago, my wife and I replaced all the windows in our home. When it came time to install it, I figured it would take the better part of a week (it’s about 22 windows). Instead, the company said, “Oh, it takes about two days.” I was skeptical but guessed they would send a larger crew or something than I had imagined. On installation day, two guys showed up. Two! How were two guys going to replace...

Team-Driven Developer A newsletter with tips and tools for building software as a team 👋 Welcome to the first issue of 2025! And a special welcome to all the new subscribers over the holiday! Let's jump right in. As I’ve encountered more and more problems as a software engineer, I’ve often found myself having one of two knee-jerk reactions when faced with a new problem: 1) too easy 2) impossible. Of course, those reactions are extremes. Most problems lie somewhere in the middle. Additionally,...