Developer Tea

Law Of Conservation of Uncertainty (Part 1)

Episode Summary

In today's episode, we talk about a principle of project planning that you can use to help deal with uncertainty. Today's episode is sponsored by Fuse! Build native iOS and Android apps with less code and better collaboration. Head over to spec.fm/fuse to learn more today!

Episode Notes

In today's episode, we talk about a principle of project planning that you can use to help deal with uncertainty.

Today's episode is sponsored by Fuse! Build native iOS and Android apps with less code and better collaboration. Head over to spec.fm/fuse to learn more today!

Episode Transcription

What is certainty? In today's episode, we're going to be talking about the strangeness of the concept of certainty. My name is Jonathan Cutrell. You're listening to Developer Tea. My goal on this show is to provide you with the information, the inspiration, and also conversations with people on this show, the interviews that we do, and the discussions that we have. All of this is in an attempt to help coach you to become a better developer. You're listening to this show because you want to be a great developer. I can say this at this point, if you don't want to become a great developer, then you probably shouldn't listen to this show. Hopefully you leave both optimistic, but also challenged. I hope that you leave with an action step in mind, something that you can do today to actively become a better developer. Some of this is internal mindset changes, and that's what today's episode will be, because we're talking about a concept that is very often misunderstood. Certainty. What exactly is certainty? Certainty is an absolute binary truth. Things that are relatively certain are often provable, for example, one plus one equals two. We are almost 100% certain that this is true. Of course, we'd have to break down what those words mean to different cultures, and assuming that we can get to a common understanding of one item being added to another item would result in two items, then we can agree that the outcome of one plus one being two is certain. That's what certainty is about, having a 100% clear picture of reality. Our brains are wired to crave certainty, or maybe a better way of saying that is our brains are wired to use certainty as a way of mitigating our risks, of mitigating our losses. We want to be certain about any decisions that we make, because we don't want to lose anything. We have a huge sense of loss aversion. This has been proven over and over by behavioral economists, by psychologists, even by regular economists. We have a large loss aversion. This comes from early human history, where we effectively had to protect everything that we had. We were constantly under siege. We have predators knocking on our door, and they want to eat us. We don't have that anymore, but our brains are still wired. They're slow to catch up with our new reality, where loss is not as big of a threat as it used to be. We are incredibly lost averse, and we use certainty as a measure of understanding how likely loss could be. We're terrible at scaling this. We're terrible at actually measuring how certain we really need to be. Perform this very simple thought experiment with me, and then we'll take a quick sponsor break and come back and talk a little bit more about how certainty affects our day to day. First of all, the thought experiment. Imagine that you had the opportunity to eliminate 99.99% of all disease. This is a great prospect. This is a very positive potential opportunity. Imagine the difference between 99.99% elimination and 100% elimination. Our minds process these two different numbers incredibly differently. Because if I were to say 99.998%, your brain very likely processes that to be nearly equivalent to 99.999. The difference when we reach 100% certainty creates a new category of thinking. In the same way that 0.0001% is extremely different to our minds at least than 0%. There are entire industries that are built on these very tiny slivers of margin, for example, the lottery. In fact, your chance to win the lottery is 0.006%. That's 1 in 175 million. In other words, your chance of winning the lottery is incredibly close to zero, and yet the entire industry is built off of that very small sliver at the edge. Because once again, we have a new category. If you bought a lottery ticket, I would not logically be able to claim that I am certain that you would lose, because certainty requires a 100% guarantee. In this case, it would require a 0% chance of winning. And because of this small sliver, what has been called the possibility effect by Daniel Solomon, this very tiny sliver of possibility that it is quite simply possible from a logical perspective because of that, millions of people buy lottery tickets. So how does this affect your work? How does this affect what you do as a developer? We're going to discuss exactly that right after we talk about today's sponsor, Fuse. Fuse allows you as a developer to focus more on the products. What this is is a new way of developing. We've done development for decades, basically the same way. Coding in one area of the screen and then going back over to the other, the graphical representation of the thing that we've coded and back and forth and back and forth. Very often, we can't even realize how disconnected these two things are. We've done this unchanged for decades, but Fuse is changing this concept, particularly for app development. This is very similar if you were a game developer or if you've ever worked on a game or seen someone else working on a game. It's basically like Unity for app development. Fuse runs on Mac OS and on Windows and it lets you make real native applications for iOS and Android. The Fuse installer includes everything you need to get started and there's no complicated setup process. Go and check it out, spec.fm slash fuse. Thank you again to Fuse for sponsoring today's episode of Developer Tea. So how does this concept of certainty affect our work? Well, we know humans are wired to be loss averse. We know that we want certainty because we use it as a proxy for mitigating our losses. We believe that allowing for certainty or having certainty is going to put us in some position of control. But I want you to do another thought experiment with me real quick. Do you know what you're going to have for dinner in 14 days from now? Some of you might have a vague idea, but it's very likely that probably 99.9% of you do not have any idea of what you are going to have for dinner. You certainly don't know exactly what time you will sit down to eat dinner. Some of you may not even have dinner that day. Of course, your dinner plans don't really have a huge effect on whatever you're working on today. But the reason we're doing this thought experiment is to show you just how uncertain things can be. Do you know the next time that you will get a cold? Can you predict if you will have a fender bender in the next seven days for those of you who are driving, of course? Can you predict all of the ins and outs of the economy's future in the next seven days? Can you predict your client's financial situations? Can you predict your client's staffing? Can you predict the leads that are going to walk through your door? For some of these things, we have reasonably okay answers. Obviously, you aren't really too worried about what you're going to have for dinner, so you don't have a need to know what you're going to have for dinner. But even if you tried to forecast some of these questions, there are still so many variables that play that really the answer is that no, you don't know with 100% certainty. The answer is to any of the questions that I just asked. As a result of this, we have this kind of emerging concept that I like to call the law of conservation of uncertainty. Not a brilliant name necessarily, but it's very similar if you remember in your high school or even your middle school physics classes, the laws of conservation, specifically the law of conservation of energy. We know that there is a specific amount of energy in a given system. So for a given project that you are working on, there is uncertainty. There's no way to get around the fact that uncertainty exists. The question is, what will you do with that uncertainty? And there are many good and perfectly fine answers to this. For example, one common answer is we sell certainty to our clients. This means that your client can come to you and you can provide to them the protection of certainty. This is very similar to, for example, insurance policies. You provide your client with a level of certainty and you as a company, you take on the burden of the uncertainty. It doesn't go away simply because you wrote a contract that was very clear. Instead, you take on the burden of that uncertainty so that if something happens unexpected or perhaps a better way of saying it, when something happens that is unexpected, your company's responsibility is to shoulder whatever the fallout may be. Now hopefully this is getting your brain turning because obviously if something very horrible happens, something that is extremely costly and your company has already made a commitment or is contractually obligated to fulfill a specific commitment, well, now you have to deal with that cost. So certainty is costly in that scenario because really what you're saying is that you're willing to kind of roll the dice on how much that certainty will cost you. Of course, this is technically doable. If you have enough clients over a long enough period of time, you can measure a rate of uncertainty and then typically you can handle the variations in uncertainty. But when we pair the fact that uncertainty exists in projects with another alarming fact perhaps that we tend to overestimate our abilities and underestimate the amount of energy and time that it's going to take to do something, then we can see that very often our estimates, however well-intentioned and however well-padded we think they may be against uncertainty, are often going to lean in a bad direction. So how else can we handle uncertainty? Well perhaps we should embrace uncertainty. So how can you embrace uncertainty? That's exactly what we're going to talk about in the next episode of Developer Tea. Thank you so much for listening to today's episode. Thank you again to Fuse for sponsoring Developer Tea. If you are an app developer and you've been doing the same things the same way, practically unchanged for decades, then I highly recommend you go and check out Fuse. Spectrefem slash Fuse. Thank you again for listening. Make sure you subscribe if you don't want to miss out on the next episode where we talk about how to embrace uncertainty. Until next time, enjoy your tea.