Minimum Viable Prioritization (Re-Air)
Published 8/16/2017
In today's episode, we talk about minimum viable prioritization.
Today's episode is brought to you by Linode.
Linode provides superfast SSD based Linux servers in the cloud starting at $5 a month. Linode is offering Developer Tea listeners $20 worth of credit if you use the code DEVELOPERTEA2017 at checkout. Head over to spec.fm/linode to learn more about what Linode has to offer to Developer Tea listeners!
Transcript (Generated by OpenAI Whisper)
Hey, everyone, and welcome to Developer Tea. My name is Jonathan Cottrell, and in today's episode, I want to give you a mindset for minimum viable prioritization. Of course, you're familiar with the minimum viable product, the MVP. This is something that is defined in software development as the thing that will get the job done at the minimum level of input, right? The thing that will basically accomplish the primary goals without all of the bells and whistles, the frills. There's a few simple rules about prioritization that are somewhat well-known and universal. We'll talk about those in just a second. Today's episode is sponsored by Linode. If you're looking for a cloud hosting solution, specifically one that supports Linux, then Linode. Linode. Linode may be the perfect option for you. We will talk about what Linode has to offer Developer Tea listeners specifically later on in today's episode. So, of course, you want to prioritize the three main categories of task organization. Hopefully, this isn't the first time you've heard this, but there are these three main categories. The have-tos, right? The have-tos come before the need-tos, and the need-tos come before the want-tos. The have-tos, the need-tos, and the want-tos. The have-tos, I've heard this so many times from my parents when I was growing up. This is how you prioritize. Of course, you want to do the things that are non-negotiable, that you have to do first, and then you do the things that you need to do next. And then, finally, you do the things that you're choosing to do because you can, because you have that free time. Secondly, it's important to start thinking about when you want to promote a need-to to a have-to. For example, maybe you need... Maybe you need to do some homework that is due next week. But if it's the night before that homework is due, maybe it's time to promote that need-to to a have-to. And the same is true in many other areas beyond just school. But there's a simple and important rule, a mindset, that is often completely ignored. And I'm going to share that rule with you today. You know, prioritization of tasks is probably one of the most important skills that you can have in any industry. In fact, before you even have a job, when you're still in school, when you're young, learning about prioritization of tasks is a fundamental skill. There's blogs, there's podcasts, books, entire courses on the subject of prioritization. And the reason for it is simple. Smart people recognize that their time each day and ultimately their time in life is limited. So they want to do the best things they can with the time. They want to be the most productive with the time that they have. They want to accomplish their goals in the time that they set out to accomplish them. And prioritization then often follows a similar format, right? Which I believe this format is relatively valid. Number one is start by defining your goals. Now, this can include long-term, mid-term, short-term, and incredibly short-term goals. So think retirement, and then 10-year plan, two-year plan. And two-week plan. These goals often include financial and professional goals, as well as personal goals. Some examples of these may be some type of job that you eventually want to be in, some position that you eventually want to hold, perhaps some physical goal, some fitness level that you want to achieve. Or maybe you want to save a certain amount of money or get out of debt. These are all the types of goals that we're talking about. Here, long-term, and then potentially shorter-term goals can fit into these same categories. Now, then you break those steps down into their smaller pieces, and eventually to their smallest pieces, right? The individual steps that it takes. If you want to run a mile, then it takes one step at a time, right? So you determine what is necessary, on average, to achieve your goals day by day. This is incredibly important to understand. You can do this in a few steps. You have to understand the smallest pieces, the smallest building blocks, that would be necessary between now and the time that you want to accomplish your goal by. You have to understand those small building blocks to even approximate that goal. There's no way to actually accomplish a goal without doing it one piece, one day at a time. We all do everything one day at a time. So this is usually primarily the mathematical step. You're doing some kind of math to determine how to break this goal down, but it may also be a little bit more work to determine different stages of your goal. Different stages of your goal. So maybe you want to launch a website, but there's different stages of launching a website. Like, for example, creating the content and creating the site map in the beginning. Then maybe you create these sub-goals, right? You can start to see that this is getting a little bit intense when you start defining goals, and then start defining the tasks that will eventually compose together to accomplish those goals. But once you've decided all of the goals that you want to achieve, and then you break those goals down into their smallest steps, once you understand what it would take to accomplish those goals, right? On a day-by-day basis, what you would have to do to accomplish those goals, then you want to determine how those goals balance. And this is why this is so important. It's such a big topic. Translating from five years to 30 minutes may seem like a pretty daunting task, right? The next 30 minutes, presumably you want to do something, that eventually will accomplish one of those goals. Now, obviously there are times in our life where we're taking a break and that can accomplish a goal. Like for example, I want to be able to be a rested person. That is a goal that I can achieve by doing nothing for 30 minutes, right? That helps me rest. It helps me clear my mind. I want to have a good relationship with my wife. And so not all of my goals necessarily have to include sitting in front of a table. Sitting in front of a computer and learning something about code. A lot of those goals can be getting away from that computer to do something entirely unrelated to my professional life. But translating those larger goals from five years or 10 years to 30 minutes, that seems like a daunting task. And that's why this is such a large topic with so much discussion and opinion. And why it's somewhat difficult to find the one-shot solution. And why it's so hard to find the solution for everyone. Everyone is divided on this. Everybody has their different methods. And a lot of them are valid for different use cases. A lot of them work very well for one specific person. And then they work horribly for the next person. But today I want to share with you one major piece of guidance. This has truly changed the way that I think about every single day. The way I prioritize my day. This is a mindset that is so important to me. And it's something that I've been working on for a long time. And it's something that I've been working on for a long time. And it's something that I've been working on for a long time. And it's something that I've been working on for a long time. At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At At sponsor break. Today's sponsor is Linode. If you've listened to this show for very long at all, you know that Linode has been a longtime sponsor of the show. And so you've probably heard some of the ad reads that we've done before. And there's so much packed into these ad reads. I want to kind of zoom in on one of the things that Linode provides for you as not only a developer to listener, but pretty much everyone who uses Linode has access to their services. Of course, Linode is Linux servers in the cloud for developers, very highly capable servers at that. And they have the best price per gigabyte of RAM in the market. So the thing I want to focus on today, though, is their node balancers. So if you don't know what a node balancer is, effectively, a node balancer allows a request to come into to Linode, right to the node balancer. And it routes that request to one of many Linode servers. In other words, you could have, let's say, five Linode servers running, and all five of those could have the same application code running on those servers, and the healthiest server available, in other words, the one that is least loaded down from requests, is going to be the one that that request get handed off to. Here's what's cool about this. All of their services are billed on an hourly basis. So this means you could run these node balancers for just, one day. Let's say you're pushing a new product or maybe you have a front end site that's running a Cyber Monday sale. Anything that you can imagine needing this stuff for, you can spin it up and spin it right back down. And it's all in just a few minutes, a few clicks. Effectively, you can get a server up and running very quickly. And by the way, their servers start at $5 per server. It's a gigabyte of RAM that you get at that $5 plan. So you could use this $20 worth of credit, by the way, that Linode is providing to you. You could use that for four months on that five gigabyte plan, or you could use it with this five gigabyte plan. You could actually run an experiment with some of these node balancers. You could spin up two of the five gigabyte plans and then have $10 worth of credit to use on something else. So go and check out what Linode has to offer. There's tons of really cool things that they provide to their customers. spec.fm slash Linode. Thank you again to Linode for sponsoring today's episode of Developer Tea. So we've been talking about creating prioritization systems and the common approaches we've discussed. If you've never thought about these things, this can seem obviously like a huge task, a huge undergoing. But I want to give you one piece of advice that has changed the way I think about prioritization from the top all the way down to the bottom. Every single one of my goals, this one mindset piece has changed the way I think. And I know it sounds like a lot of people are going to say, well, I'm not going to do this. I'm not going to do this. It sounds like I'm building this up a lot, but I really believe in this. And this is going to sound simple at first when I say it. But as you apply this mindset to your situation, you will quickly realize the positive impact this mindset can have on the way you go about your day and how clarifying it can be in this otherwise kind of muddy process of determining which of the need tos, which of the have tos do I do first. And that suggestion is quite simply. Do only the things that only you can do. Do only the things that only you can do. Now, here's why this is so important. Let's think about it for a second. You have the option of staying at work a little late to finish up a project, or you can go and exercise, go to the gym. So if we think for a second, it's likely that if you work at a sufficiently large company that someone else would technically be able to do that. And that's why I'm saying this. I'm not going to say that you can't do it. I'm not going to say that you can't do it. I'm not going to say that you can't do it. I'm not going to say that you can't do it. I'm not going to say that you can't do it. At the same time, you may have the option of bringing yourijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijijij can eat a little healthier and pass that benefit to you. You're the only one who can do that for you. This is why health must always remain one of your top priorities, by the way. Being healthy is a non-negotiable aspect of your life. And of course, this is my personal opinion. Some people disagree with this, but being healthy trumps all other types of value because your health affects everything in your life, including the quality of your work. And the quality of your work cascades into your earning ability. It cascades into whether or not you're going to be employable. But it's not just about taking care of yourself. The message of this episode isn't to just make sure that you're taking enough downtime, enough time away from work. That's not what I'm trying to get across here. It's also about thinking about the work you do day to day through the same lens. So let's say, you're at work and you have a long list of tasks and you take a look at that list and you're trying to determine, is there anything on your plate that requires your unique expertise? Is there anything on your plate that is absolutely necessary and absolutely can't be done by anyone but you? Given the same level of urgency between two tasks and pressure on those same two tasks, the tasks that only you can do at the moment fit best for you to practice. So let's say you have three tasks in front of you. One is general purpose. Anyone could do it. You don't have to have any extra knowledge. Maybe it's like taking out the trash. As long as you're able-bodied, you can take out the trash. The next one is only fit for developers, but still isn't unique to only you. It could be accomplished by any developer. The final task is one that only you can accomplish. Now, intuitively, we may think that accomplishing the task that is due first is the most value we can deliver. And sometimes that may be true. For example, the rule still applies, right? If you are the only one who can take out the trash today, then guess what? Even though technically anybody who is in the office could take out the trash, if you're the only one that's in the office, then you're the only one that can take out the trash. So suddenly that fits this rule. And the second one is that you can't take out the trash. So you have to be able to accomplish the task that is due first. So the same is true for other tasks. Sometimes you're the only one that actually has the free time to take on those tasks. And suddenly that becomes a higher priority task for you. But typically, more than one person has free time at a given point in time. So let's say you did the two tasks in that list that weren't only accomplishable by you. You do the, you take out the trash, and you also do the thing that any other developer could do. And in the time that it took for you to complete those two tasks, three more tasks came in that were only accomplishable by you. Now you have four tasks on your plate. And the time you could have spent doing what only you could do was eaten up by doing tasks other people could accomplish. And you end up way behind. They may be done with all the things that they can do. They may be done with all of the work that they can do. But they may be done with all of the work that they can do. And they may be done with all of the work that they can do. But they may be done with all of the work that they can do. And now they can't really help you on the tasks that are unique to you, because only you are capable of doing those things. So another way to phrase this, if you're having trouble understanding what we're saying here, another way to phrase this is to do your job first. Do your job first. Now this may seem a little bit broad, but if there is something that is highly specific to you, then that is your job first. The things that you provide unique value on, that is your job first. Your job is first defined by the unique value you provide, and secondarily by the general domain knowledge you provide. If you're a Rails developer, you are first a Rails developer, but secondly, you are a software developer. Focus your energy on accomplishing the things that only you can accomplish, and your prioritization process will clear up faster than you can expect. It's going to hopefully blow your mind as much as it blew my mind when I started viewing my task list through this mindset. I would love to hear from you all on your prioritization techniques. I'd love to hear how this particular mindset changes the way you look at your tasks. I hope it is a great way to do that. I hope it is super helpful. I know it has been for me. I'd love to hear from you. You can reach out on the Spec Slack community by going to spec.fm slash slack. I am on there, and all of the other hosts from Spec Shows are on there as well. By the way, you can check out other Spec Shows at spec.fm. Thank you so much for listening to the show today. Once again, the takeaway here is do only the things that only you can do. That is the most value you can provide. Once you've accomplished all the things that only you can do, then do the things that mostly only you can do. Start viewing things through the lens of that unique value you provide. If you can provide value that most other people can't, then it's going to be the most value that you can provide in that given moment. Thank you so much for listening to the show. A huge thanks to Linode for sponsoring today's episode of Developer Tea. Go and get your $20 worth of credit on any Linode service. At checkout by going to spec.fm slash Linode. Make sure you use the code developer tea 2017 at checkout. That's developer tea 2017. Thanks again to Linode for sponsoring today's episode. Thank you so much for listening to Developer Tea. Until next time, enjoy your tea.