December 20, 2024

James Garrett

Read Time: ~6 minutes

<aside> 📌 At Empower, we seek individuals who challenge personal assumptions, value ownership and trust, and strive for excellence to inspire and empower their team. If this article connected with you, join our team!

Join Empower.

</aside>

<aside> 📎 Disagreements are a natural part of the software development process, whether you're debating architectural decisions, choosing the right tools, or prioritizing features. However, conflict doesn’t have to be a source of tension—handled with the right mindset, it can lead to better outcomes and stronger collaboration. Drawing insights from Think Again by Adam Grant, this blog explores how software developers can embrace a scientific mindset in navigating conflicts. By questioning assumptions, fostering humility, and focusing on solutions rather than personalities, disagreements can transform into opportunities for growth, innovation, and improved teamwork.

</aside>

https://open.spotify.com/episode/7M352HpvtoZigt6XM48hzU?si=5666da8983654b8f

Disagreements are inevitable in software development. Whether it's debating architectural patterns, choosing what tool is right for the job or prioritizing feature sets, conflict is part of the process. But disagreements don’t have to be a source of friction—they can be the fastest path to a successful outcome if handled thoughtfully.

Having a 2 year old at home and no longer traveling for work make it harder to read as much as I’d like. However, Think Again by Adam Grant is one of my more recent reads and really changed the way I perceive conflict. The book's core idea is to embrace the mindset of a scientist, questioning your own assumptions and being open to rethinking them.


1. Start with Humility: You Might Be Wrong

Grant writes about how the best scientists are constantly testing their hypotheses, seeking to disprove their own ideas rather than defend them. As software developers, we often fall into the trap of attaching our identity to our solutions.

Instead, try this:

A memorable moment for me was during a debate about using Azure App Services versus Kubernetes for a scalable service. Initially, I was convinced Kubernetes was the right answer. Over time, I realized a hole in my argument— I was coming from a larger tech company and we had more resources to manage K8’s that didn’t exist at this startup. Over time, my opinion changed, as the circumstances were different.