We worked through the problems ourselves & figured out the details and muttered to ourselves a bunch, “OH, that’s why that was there.”
1. In the software world, over the course of 20 years working on these systems, I’ve gone from “this is terrible! rewrite it all” to “I don’t see why this needs to be here, so I must not fully understand the problem.”
Am I not conservative enough elsewhere? Should I be working harder to figure out how things got the way they are, and what needs they serve?
More experience understanding, changing, and replacing software systems does mean that I have a more visceral sense of the high cost of a replace, AND that I find understanding & changing-in-place less daunting.
I know where my bias is. I don’t need to overthink it though; I just need to make sure I have folks on my team who have the _opposite_ bias.
We need to illuminate our respective blind spots in our search for the best solution.
It’s literally the structure of your brain connections that’s the issue.
So in software, I need to work with the burners. In worlds where my bias is more burn-y, I need to work with the conservers.
Let’s do it over in react native!
Let’s convert our database to neo4j!
Let’s try a new auth library!
Let’s install the new package manager!
I’d never thought about using a graph database, but talking about neo4j on one project really helped me crystallize what benefits we were getting from postgres.
(We stayed on postgres.)
Which meant I could see when they started to wear thin.
You might learn something surprising.