A useful default is an action you can take on a regular basis that you expect to provide some level of utility.
In today's episode, we're talking about the fine line between useful default behaviors and when those behaviors can lead you astray and become more of a distraction from an overall goal.
Whether you’re working on a personal project or managing your enterprise’s infrastructure, Linode has the pricing, support, and scale you need to take your project to the next level. Get started on Linode today with a special $20 credit for listeners of Developer Tea.
P.s. They're also hiring! Visit https://www.linode.com/careers to see what careers are available to you.
Transcript (Generated by OpenAI Whisper)
In the past on this show, I have preached about having useful defaults. In fact, I believe we even have an episode specifically called useful defaults. And I still think that the idea of having useful defaults is incredibly important. But in today's episode, I want to look at it a little bit deeper. What exactly is a useful default? And when can they lead you astray? My name is Jonathan Cutrell, you're listening to Developer Tea. And my goal on this show is to help journey developers like you find clarity, perspective, and purpose in their careers. So what exactly is a useful default? A useful default is an action that you can take on pretty much any day or that you take on a regular basis that you expect to provide some level of utility. Utility and useful are kind of from that same root word of use, usefulness, or utility, as far as this podcast is concerned, or essentially the same thing. But there's a bit of a nuance here. And it comes from decision theory. The word utility is used quite a bit in decision theory. And in a strict form of decision theory, utility is your probability or expected value. Your probability times the total maximum value. So let's imagine that value is for this case in dollars and it's worth $100. But there's only a 20% chance that it succeeds. As far as decision theory is concerned, then that choice is worth $20. Even though you never would see a $20 bill, the expected utility of that given action, whatever that decision was, would be $20. Because you have a 20% chance multiplied by that total reward or that total outcome. As far as decision theory is concerned, you can make a 20% times 100 decision, a $20 utility decision, and it's effectively or logically the same as a sure $20. In other words, if you had a 100% chance of making $20 off of a particular decision, decision theory doesn't really prefer one or the other. Logically, they're exactly the same. However, on this show, when I talk about having useful defaults, I'm specifically referring to things that have relatively good total value, but very high probabilities. You can call these safe bets if you want to. The simple idea, the safe bet meaning that you're choosing to do something that's at a very high probability, close to a certainty of providing some value to you. Now this can and very often does go wrong. How does that happen? That's what we're going to talk about right after we talk about today's sponsor, Linode. When you talk about making decisions based on their expected utility, I can tell you right now, one of the best decisions you can make is to spend your first $5 on a Linux server. Linux servers teach developers new things every day they interact with them and they're incredibly flexible. That's exactly what Linode's entire business model is based on, the idea of having Linux in the cloud and giving you as the developer root access to that Linux. Now remember, I said $5. That's how you can get started with Linode, but that is certainly not the limit. That's the minimum their smallest plan is called the Nanode plan. It starts at $5 a month, but you can go all the way up to dedicated CPU plans where you have a physical core that's reserved just for you so you don't have any CPU steal from other customers. You can have GPU compute plans that are suitable for artificial intelligence or machine learning and video processing. You get block storage and object storage that can scale to your storage requirements. All of this on Linode, that same provider that gives you a $5 Linux server. It is such a simple decision. Go and check it out head over to linode.com slash Developer Tea. And here's the cool thing, if you use the promo code Developer Tea 2020, when you create a new Linode account, if you are a new customer, you can get $20 worth of credit. Now if you are doing the simple math here, if you're starting out, that's basically four free months on their Nanode plan out of the linode.com slash Developer Teato get started today. Thanks again to Linode for sponsoring today's episode. And before we go any further, I feel like I should mention that decision theory for the most part has been not necessarily debunked, but it's been replaced by something called prospect theory. Prospect theory was the work of Daniel Coniman. We've said his name, perhaps more than any other single person on this show, Coniman and Tversky, Amos Tversky. They essentially established this prospect theory by observing how people actually make decisions and it provides a different curve, whereas decision theory is a linear model. Prospect theory has a very different non-linear distribution, specifically with loss aversion driving your decisions. So the idea here is that in prospect theory, you would be more likely to choose something that could avert loss. In other words, in our earlier example, it's very possible if not likely that you would choose the sure $20 rather than the 20% chance of winning $100 or earning $100. And there's good reason for this. If you have a 20% chance of earning $100 off of a given decision, then on average, you have to make that decision five times to win the $100. And here's what's interesting, even if you do make the decision five times, it still is very possible that you will not receive that $100. On the other hand, if you made the $20 decision five times, then it is 100% certain that you'll end up with $100. So by averting that loss, the loss of potentially taking those chances in vain and choosing this certain positive outcome, in this very clinical and controlled example, you can end up in the same place with less uncertainty. And if you've been listening to this podcast at all, you know that humans hate uncertainty. But here's a problem. Let's imagine that instead of $20, your likely outcome was more like $5. How many times would you have to do that thing to get to $100? Simple math. Once again, it's 20 times. So here's where the difficult question comes in. And the one that most classes they tend to avoid, would you rather take the 20 iterations or 20 decisions that are certain or would you rather take the five that are uncertain? Let's imagine that it takes the same amount of work to do each of the 20 as it does to do each of the five. So you do four times the amount of work for the same expected utility, but with extra certainty. Is certainty worth four times the investment? This is the operative question, is that level of certainty worth four times the effort? Now here's the important kind of practical advice I can give you. There isn't always only one answer. In fact, it makes sense to answer this question in different ways for different decisions. Some decisions are worth being much more certain about. And it also makes sense to distribute these types of decisions throughout your life. In other words, take some risks, but also fall back on some more certain bets, some less risky bets. This is essentially the theory behind diversifying a portfolio. You provide yourself the different types, different characteristics of utility or expected utility rather than relying entirely only on one type. This quite literally minimizes the losses while maximizing the gains and the curve looks exactly like prospect theory. But here's the challenge for today's episode. We said all of this to say, how does this change our concept of useful defaults? Because here's what can happen. Here's how useful defaults can hurt you. You can end up choosing those very certain, which is the good part, but very low value, which is the bad part, defaults. In other words, you can latch on to things that have certainty and allow the certainty to outweigh the actual value. Now I'm not telling you to throw certainty away. That's the whole point of useful defaults after all, but instead what I am telling you is try to find useful default or create useful defaults that have higher expected value. This seems incredibly obvious to us, but when it comes down to actually making decisions that reflect this obvious theory, we often fall short. I'll give you a very easy example of this. Some of our useful defaults are manually testing the code that we've written. This is a useful default because it provides us certain value. When I say certain value, I mean a value that we know we will be provided with 100% certainty, we know that testing our code manually will provide us a certain amount of value. So we spend a linear growing amount of time testing our code. As we write more code, we continue to test more code manually and that unit to unit ratio never changes. However, if we were to invest the time to create an automated testing solution so that we could spend less time manually testing our code, now we have the space and the space and the time to choose a new avenue, perhaps writing more code, for example, that has a higher value, higher even certain value because we freed up some of that time. Now here's the point that many decision theorists don't really bring into the equation, the cost of time. This is directly related to opportunity cost and its core to this problem. Of course, if we had infinite amount of time, we should always choose certain value, but we don't have infinite amount of time. In fact, we have a very much so finite amount of time. Sometimes even more finite than we expect and time is a very difficult thing to predict. And so it makes sense for us to find very high value defaults and fall back to those as often as possible. Thank you so much for listening to today's episode of Developer Tea. Thank you again to Leno for sponsoring today's episode. You can get started with as little as $5 a month and you're going to get $20 worth of credit as a new customer of Leno. Head over to Leno.com slash Developer Teato get started today and use the promo code Developer Tea 20. That's Developer Tea 2020 at checkout. Thanks so much for listening to today's episode. If you enjoyed this episode, I encourage you to subscribe and whatever podcasting app. You're currently using to listen to this. Today's episode was produced by Sarah Jackson. My name is Jonathan Cutrell and until next time, enjoy your tea.