It's important to have a foundation for best practice but where does it come from?
There isn't a simple answer to starting your best practice foundation for yourself and your team. That's what we're talking about in today's episode of Developer Tea. We'll use the topic of budgeting to explore the subject of best practices.
Discover.bot – a digital space for bot developers and enthusiasts of all skill levels to learn from one another, share stories, and move the bot conversation forward. Want to learn more about building bots? Get started with their Guide to Bot Building Frameworks
If you have questions about today's episode, want to start a conversation about today's topic or just want to let us know if you found this episode valuable I encourage you to join the conversation or start your own on our community platform Spectrum.chat/specfm/developer-tea
If you're enjoying the show and want to support the content head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.
This is a daily challenge designed help you become more self-aware and be a better developer so you can have a positive impact on the people around you. Check it out and give it a try at https://www.teabreakchallenge.com/.
Whether you're building a team or trying to establish your own best practices, it's always important to have a solid starting point, a foundation. But where does that starting point come from? What is a reasonable way to figure out a starting point for yourself, for your team? There isn't a simple answer, like most things, and the answer is quite important. That's what we're talking about in today's episode of Developer Tea. My name is Jonathan Cutrell. I created this show to help driven developers find clarity, perspective, and purpose in their careers. And best practices are not universally accepted. We don't all agree on what good code means. We don't all agree on what best management practices exist. There are methodologies that range across the board. And opinions are going to differ about tooling, about procedures, about people. Even about business concepts in general, we have differing opinions, and so it's hard to know what you should adopt on day one. So in order to talk about the subject, I want to take it out of the realm of software development, and instead talk about a subject that we all have to face at some point, budgeting. Budgeting our money. And this episode is not about financial advice by any means, but instead we're using the topic of budgeting to explore this idea of best practices and how we can circle around best practices that we want to adopt for ourselves or for our team. So when you look at the topic of budgeting, let's say that you've never made a budget before. And maybe you're coming out of college, you're going into your first job, and up until this point, budgeting has been something that you kind of do on a month to month basis, but you've never had to kind of plan your money. So what should you do? How do you decide how to create a good budget? Most of us are going to probably resort to Google searches. You can imagine what your search would be, how to create an effective budget. The problem is that there's a lot of approaches. There's many different values that you have to bring to the table to decide what kind of budget you want to create. So on first glance, you're going to get a lot of different opinions. You'll get opinions about whether you should pay your debt down first, or maybe you should manage your debt, and you should invest first. Or maybe you will get opinions about whether or not you should buy a house or rent an apartment, or maybe neither one. Maybe you want to travel. So at first, the answer is, oh, it kind of depends. It depends on what you want. It depends on how you want to spend your money. There's no one right way to create a budget. But then you'll notice that there are some common themes from one budget advice expert to another. Sometimes it's more obvious. Like most budget advice would say, don't spend more than you're making. Sometimes it's a little bit less obvious. For example, most financial advisors would tell you not to get the maximum loan that the bank will give you. So you can see kind of this continuum emerging. On one end of the spectrum, for example, with budgeting, you have pretty much all of the experts agreeing that you shouldn't do something like a payday loan. And then on the other end of the spectrum, not every expert agrees. You have people who say that you should try to build your credit and people who say that it's better to not have credit at all. So how do you take this advice and actually distill it down into action? How do you actually take all of this disparate advice on this spectrum of most people agreeing to everyone has a different opinion and then choose your own way of combining that? We're going to talk about how to make those choices as it relates to best practices in software development right after we talk about today's sponsor. Today's episode is sponsored by Discover.bot. Discover.bot is an online community that is designed to serve as a platform, agnostic digital space for bot developers and enthusiasts of all skill levels to learn from one another, share their stories and to move the conversation forward together. Discover.bot was built by Amazon registry services and it's an informational place for novices and experts alike in the bot development space. Discover.bot regularly publishes how to guides and the latest bot building resources. So if you want to know, for example, if a particular chat bot framework has an SDK for your language, this is the place to find out. But Discover.bot is not just a community of developers creating bots. It's also a community of developers who are building bots for real business. The bot development space is brand new. So the KPIs that you measure in other parts of your business are going to be fundamentally different and you can find insights like what KPIs are worth. And what are the most important things that you can do to make sure that you're measuring for your bot? You know, why are emojis breaking your bot? How do you write an engaging chat bot dialogue? These are all the kinds of deep topics that are covered on Discover.bot. Discover.bot is totally friendly to newcomers and novices as well as people who have extensive bot building experience. You can join the community at Discover.bot slash Developer Tea today. It's Discover.bot slash Developer Tea. Thanks again to Discover.bot for sponsoring today's episode of Developer Tea. Choosing best practices is fundamentally like most other choices that we make in our lives. We're trying to make some kind of prediction. We're trying to predict, will these best practices help me achieve the things that I want to achieve? Do these best practices allow me to exercise my values? Do they provide me with the benefits that I want out of a practice? When we're choosing what kind of budget advice we want to take, we have various goals that we're trying to optimize for. For example, maybe you want to retire early or perhaps you want to be generous and pay for dinners with your friends. But you also have other goals like not losing all of your money or not taking on an unreasonable amount of risk. So how do we predict how these various decisions will perform over time? Well, you recently had an episode on something called Pattern Matching. This is something that humans are really good at. You learn best through pattern matching because it gives us a better sense of how the different pieces relate to each other. We're much better at relating things together. And so if we can look at the practices of a team that we believe we align with, then we may be able to pattern match to the team. This is usually better than trying to look at individual principles or individual pieces of advice and judging them solely on your own experience. Instead of relying on your own intuition about what you think is going to happen if you adopt a particular practice, a particular way of doing things, a guideline into your team, a guideline into your own code, you can look at how other people, particularly people that you identify with, values wise, maybe you appreciate the kind of work that they produce. You can look at those people and take cues from them and you can learn by pattern matching. Now, here's why this is so important. It's easy to believe that all of the ideas that we have should be judged on their own merits. And on the one hand, this is true. We can look at a new practice as valuable. We can look at a practice that is different from all of the ones that we've heard for a whole career to be best practices. We can bring a new one to the table and it may be extremely valuable. But when you are faced with adopting new practices and you don't have anything other than intuition to work with, then it makes sense to start by pattern matching. What this means is that it's probably a better idea to adopt a very experienced team's best practices and try them first than to forge your own path out of nothing. Now, this is obviously one of the more opinionated episodes that I've done and this isn't a rule. Instead, I consider this a principled way of making decisions of almost any kind. If you have no information, if you have no data to help you make a decision, and when I say data in this case, I mean data about your own self, this would be trying to predict the future. You don't have data about the future. And so the question that we're trying to answer the decision we are trying to make is what should our starting point be? What should our initial guess be? And this is a decision that's based on available information that you have. Now we either can discard the available information. And in this case, available information means all of the developers who came before us, who have walked down the same kind of paths that we're about to walk down. And they have come out with their own kind of best practices. We can either take that information and use it to help us make our decision. Or we can try to kind of start from a random point, a point that is informed by ourselves, our own intuitions. Now this is not to say that your intuition isn't valuable or that you shouldn't take it into account, but rather to say, when you make a decision, you should look at your intuition as only one of the votes on the table. If you wanted to take a practical recommendation away from this episode, it would simply be this. When you're faced with a decision where you don't have much information, try to use someone else's decision, try to use the information that they have for yourself. The great thing about this industry is that it's full of people who are iterating on their processes, iterating on their values, iterating on those best practices. So to choose a best practice is not to lock yourself into it, but instead it's to say, this is my best first guess at what will be effective. And if it's not effective, regardless of who has done it, then in the future, you should iterate on that. Thank you so much for listening to today's episode. Thank you again to today's sponsor, Discover.bot. If you are interested in joining the bot community, or maybe you're just a novice and you're kind of tangentially, you want to read the news about chatbots, there is a community that is waiting for you to discover.bot slash Developer Tea. Go and check it out. That's Discover.bot slash Developer Tea. Thank you so much for listening to today's episode. We are headed into July. That means we're about halfway through the year. And I hope that you feel encouraged and inspired and excited about the work that you're doing this year. Thank you so much for listening to this podcast. I am so privileged to have a wonderful group of listeners, a wonderful audience. And I encourage you, if you haven't yet subscribed to the podcast, if this show is even valuable once out of every five episodes to you, then I believe that's worth a subscription. I encourage you to subscribe and whatever app you're using to listen to this right now. Thank you so much for listening. And until next time, enjoy your tea.