Foreword
For those looking for the “technical” portion, you’ll need to wait an entry or two. Because while in a technical role, nearly all of your decisions will be technical, often the “weightiest” factors that drive those decisions are non-technical.
My goal is to give you some “secret sauce” for building software. However, the problem I run into with discussions about “great” software, is that the focus tends to overemphasize the code. The reality is, that you can build great businesses on bad code bases. If you try to build a bad business on a good code base, none of the greatness of the codebase will matter. So yes, it is still important to make maintainable and stable software. Do you need to have submillisecond latency on your endpoints for your business to be successful? Probably not.
So am I saying every developer needs a business degree? No. What I would like to advocate for, is that developers place more focus on the good of the collective as part of their daily decision-making process.
Is what you’re doing, going to help someone?
Is that someone, someone other than yourself?
Before you work on something, can you honestly answer “yes” to both questions based on the outcome you have in mind? If you can say “yes”, without hesitation. You probably have something worth doing. If you hesitate or don’t feel like you know enough to say one way or the other, you probably don’t have all the information you need. If you instantly feel a “pang”, know the answer is “no”, and you don’t want to admit it. It’s probably either not worth doing, or at the very least not doing at this moment.
How treacherous is the path to get there?
Can others follow you on it?
If you can answer “yes” to these questions, then you can blaze the trail with as many people as you can fit. There’s a cost to collaboration, however it’s not uncommon for hard things to end up being a numbers game. As complex as the world can feel, having numbers can be the difference maker.
What happens when we get there?
So you have an outcome in mind and you’ve judged the path you’ll take to get there. Now that you’re empowered with information, here is the tool to plug that into, in order to make an optimal decision.
”Optimal” in this instance means finding the largest difference between what it takes to get to the outcome, versus what is projected to be gained. If being able to loot Smaug’s hoard only meant a jaunt down the block, you would do it in a heartbeat. If it meant a fight to the death with a dragon, you would likely be less inclined to attempt it.
The “easy walk down the street, but we get a giant pile of gold” is the “High ROI” quadrant. You could argue that “a fight with Smaug for the same pile of gold” lands you firmly in the upper “Negligible ROI” quadrant. “An easy walk down the street for dinner” probably lands you in the lower “Negligible ROI” quadrant. “Having your wallet stolen while on a walk down the street” lands you firmly in the “Negative ROI” quadrant.
If we lived in a perfect world, we would always be in the “High ROI” quadrant. Everywhere we turn, we would stumble into a mountain of gold. Rarely is that the case, but it doesn’t mean we can’t make our decisions in hopes that the next corner is the one with the gold behind it.
Let’s say, we’ve identified an outcome (finding a pile of gold) and we project it to be relatively low-cost (a walk down the block). We then project a margin of error to be the outer two circles. If we end up with a result in the bottom of the largest circle, we’re bordering on negligible ROI. If we end up towards the top, we take it as a win.
The issue is, we may have assumed wrong about where to center the circle. All of our assessments can only be predictive, so something core like this could also be off. Maybe the pile was a lot smaller than we thought, or we didn’t get to it soon enough. So in reality, we were operating closer to (0,0) and ended up on the bottom of the circle…
Now we’re in trouble.
This is all to say. Statistically speaking, even if you judge everything about both the path forward and the reward accurately. You only have a 25% chance of landing in the right place. Half as likely as winning a coin flip.
Conclusion
While most people operate with the best intentions, often critical things can end up overlooked. Hopefully by using this simple tool before we set out, we can work together to journey on less treacherous paths and discover ever bigger piles of gold.