Software development is as much about collaboration as it is about code. Sometimes, being the smartest in the room isn’t what moves the project forward. Here’s a few parallels about cartoon puppies and real life rat-wrestling behavior that reminds us why.
Puppies
An Australian Heeler puppy was once playing with her little sister. The two played until a disagreement arose between them. They debated the issue until the older proved herself right and her sister wrong once and for all. The younger sister ran misty-eyed off to her room, bringing an end to their play and leaving the older alone and confused.
The older asked their mother what went wrong, to which her mother replied "Well, what do you want to do? Do you want to be right? Or do you want to keep playing with your sister?"
Rats
A Canadian psychologist, professor, and podcast host once studied the behavior of rats as they play-wrestled. He observed that between rats of significantly different size, the larger rat will sometimes allow the smaller rat to win. If the larger rat doesn't allow the smaller rat to win every once in a while, then the smaller rat will eventually refuse to play at all. Then, no one's happy!
Software developers
In our field, we're particular about the verifiability of correctness. Every observable behavior of an application is always right or wrong; therefore, developers are always either right or wrong. We rightly value being right, and we want to be right all the time. But every once in a while, we should self-evaluate. Have we been winning everything? Do other members of the team still want to play with us?
Sometimes, it is good to allow others to have their way. Is there wiggle room in the way that the code can be written? Can the API design be made slightly flexible to accommodate one of your consumers? If you had the design your way, maybe it would run more efficiently... Or perhaps the code would be more readable... But by how much? Would anyone notice? Perhaps it’s only a matter of opinion?
Let’s say you happen to be the smartest expert on the whole internet. Do others see you as a dominating force, or a servant-hearted resource? Do you empower your teammates, or do you crush them?
Conclusion
When cartoon puppies agree with wrestling rats, it's time for us all to sit down and listen. The message couldn’t be more clear: being a software developer is about a lot more than just winning!



