In today's episode, we talk about minimum viable prioritization.
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 Cutrell 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. 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-hoasting solution specifically one that supports Linux, then Linode may be the perfect option for you. We will talk about what Linode has to offer developer to you 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. 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. I've heard this so many times for 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. Then you do the things that you need to do next. 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 a have-tos. For example, 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 a have-tos. 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. But 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 have. 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, midterm, short term, and incredibly short term goals. So think retirement and then tenure 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 maybe some type of job that you eventually want to 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 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 here, right? 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 against each other and which specific task is most important for today and even smaller, which specific task is most important for right now. 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, you presumably 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 13 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 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 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. 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 anyone can adopt in any field. And this can help you when you are prioritizing every day. This goes for development projects. It goes for personal goals, professional goals, pretty much every decision you will ever make can be run through this kind of mindset filter. There's not a lot of rules that apply this broadly. So this is kind of an exception. There's not a lot of rules that apply this broadly, but this one does. And we will talk about this rule right after a quick 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 long time 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 listen, 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 they're 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 requests get handed off to. Here's what's cool about this. All of their services are build 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 started $5 per server. It's a gigabyte of RAM that you get at that $5 plan. So you could use this $20 with a credit, by the way, that Linode is providing to develop a T-listeners. 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, Linode, for sponsoring today's episode of Developer Tea. So we've been talking about creating prioritization systems. The common approach is 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 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 to which of the have to 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 capable of doing the extra work that you're volunteering to stay late to do. Of course, you should weigh the incentives here. Sometimes it makes sense to trade off for the extra incentive that it provides and maybe you are trading and you recognize the weight of this trade. But who else can actually do your exercise for you? Who can actually do your exercise for you? No one else can work a little harder in the gym for you, right? No one else 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 and enough time away from work. That's not what I'm trying to get across here. That'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 prioritize. Those are the ones that you should move up the list as fast as possible. Think about it this way. 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. 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 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 eating 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 is unique to them. 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. This may seem a little bit broad, but if there is something that is highly specific to you, then that is your job first, right? 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. Notice 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 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 that 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. Because 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. 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 checkoutless Developer Tea 2017. Thanks again to Linode for sponsoring today's episode. Thank you so much for listening to Developer Tea and until next time, enjoy your tea.