How Do I Choose a Starting Point for Best Practice?
Summary
The episode explores the challenge of selecting starting points for best practices in software development when faced with conflicting advice and opinions. Host Jonathan Cottrell draws parallels to personal budgeting decisions, where newcomers face numerous contradictory approaches from financial experts.
Cottrell argues that when lacking personal data or experience, the most effective approach is pattern matching - observing and adopting practices from teams or individuals whose values and outcomes align with your goals. This method provides a better foundation than relying solely on intuition or attempting to evaluate each practice independently.
The discussion emphasizes that choosing initial best practices doesn’t mean locking into them permanently, but rather establishing a reasonable starting point that can be iterated upon based on actual results. The episode encourages developers to view best practices as evolving guidelines rather than rigid rules.
Throughout the conversation, Cottrell maintains that this principled approach to decision-making applies broadly beyond software development, helping teams and individuals navigate uncertainty when establishing new processes or methodologies.
Recommendations
Communities
- Discover.bot — An online community for bot developers and enthusiasts sponsored by Amazon Registry Services, offering how-to guides, bot-building resources, and discussions about chatbot development KPIs and best practices.
Topic Timeline
- 00:00:00 — Introduction to best practices dilemma — Jonathan introduces the core problem: how to choose starting points for best practices when there’s no universal agreement on what constitutes ‘good’ practices in software development. He notes that opinions differ widely on tooling, procedures, and methodologies.
- 00:01:25 — Budgeting analogy for decision-making — The host shifts to a budgeting analogy to make the best practices discussion more accessible. He describes how someone new to budgeting faces conflicting advice from financial experts, with some recommendations being nearly universal (like not spending more than you make) while others are highly debated (like whether to use credit).
- 00:04:28 — Sponsor message from Discover.bot — Jonathan promotes Discover.bot, an online community for bot developers and enthusiasts sponsored by Amazon Registry Services. He describes it as a platform-agnostic space for learning, sharing stories, and accessing resources about chatbot development, including how-to guides and discussions about KPIs for bot businesses.
- 00:06:14 — Pattern matching approach to best practices — Cottrell introduces pattern matching as the solution to choosing best practices. He explains that humans excel at learning through pattern recognition and suggests looking at teams whose values and outcomes you admire, then adopting their practices as a starting point rather than evaluating each practice in isolation.
- 00:09:32 — Practical recommendations and conclusion — The host offers concrete advice: when facing decisions with limited information, use others’ successful approaches as your starting point. He emphasizes that choosing initial best practices is about making a ‘best first guess’ that can be iterated upon, not about permanent commitment. The episode concludes with encouragement to subscribe and continue the development journey.
Episode Info
- Podcast: Developer Tea
- Author: Jonathan Cutrell
- Category: Technology Business Careers Society & Culture
- Published: 2019-06-30T14:00:00Z
- Duration: 00:13:12
References
- URL PocketCasts: https://pocketcasts.com/podcast/developer-tea/cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263/how-do-i-choose-a-starting-point-for-best-practice/b4498e5a-341e-47ee-b3db-acc5795159e2
- Episode UUID: b4498e5a-341e-47ee-b3db-acc5795159e2
Podcast Info
- Name: Developer Tea
- Type: episodic
- Site: http://www.developertea.com
- UUID: cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263
Transcript
[00:00:00] Whether you’re building a team or trying to establish your own best practices, it’s always
[00:00:11] important to have a solid starting point, a foundation.
[00:00:16] But where does that starting point come from?
[00:00:19] What is a reasonable way to figure out a starting point for yourself, for your team?
[00:00:25] There isn’t a simple answer, like most things, and the answer is quite important.
[00:00:33] That’s what we’re talking about in today’s episode of Developer Tea.
[00:00:36] My name is Jonathan Cottrell.
[00:00:38] I created this show to help driven developers find clarity, perspective, and purpose in
[00:00:42] their careers.
[00:00:44] And best practices are not universally accepted.
[00:00:49] We don’t all agree on what good code means.
[00:00:53] We don’t all agree on what best.
[00:00:55] Management practices exist.
[00:00:58] There are methodologies that range across the board, and opinions are going to differ
[00:01:04] about tooling, about procedures, about people, even about business concepts in general.
[00:01:13] We have differing opinions, and so it’s hard to know what you should adopt on day one.
[00:01:19] So in order to talk about this subject, I want to take it out of the realm of software
[00:01:25] development.
[00:01:25] And instead, talk about a subject that we all have to face at some point, budgeting.
[00:01:33] Budgeting our money.
[00:01:35] Now, this episode is not about financial advice by any means, but instead, we’re using the
[00:01:40] topic of budgeting to explore this idea of best practices and how we can circle around
[00:01:45] best practices that we want to adopt for ourselves or for our team.
[00:01:51] So when you look at the topic of budgeting, let’s say that you’ve never made a budget
[00:01:55] before.
[00:01:55] And maybe you’re coming out of college, you’re going into your first job, and up until this
[00:02:02] point, budgeting has been something that you kind of do on a month-to-month basis, but
[00:02:06] you’ve never had to kind of plan your money.
[00:02:09] So what should you do?
[00:02:11] How do you decide how to create a good budget?
[00:02:15] Most of us are going to probably resort to Google searches.
[00:02:20] You can imagine what your search would be, how to create an effective budget.
[00:02:24] Right?
[00:02:25] But the problem is that there’s a lot of approaches.
[00:02:28] There’s many different values that you have to bring to the table to decide what kind
[00:02:33] of budget you want to create.
[00:02:36] So on first glance, you’re going to get a lot of different opinions.
[00:02:41] You’ll get opinions about whether you should pay your debt down first, or maybe you should
[00:02:45] manage your debt and you should invest first.
[00:02:49] Or maybe you will get opinions about whether or not you should buy a house or rent an apartment.
[00:02:55] Or maybe neither one.
[00:02:56] Maybe you want to travel.
[00:02:58] So at first, the answer is, well, it kind of depends.
[00:03:02] It depends on what you want.
[00:03:04] It depends on how you want to spend your money.
[00:03:06] There’s no one right way to create a budget.
[00:03:10] But then you’ll notice that there are some common themes from one budget advice expert
[00:03:15] to another.
[00:03:17] Sometimes it’s more obvious, like most budget advice would say, don’t spend more than you’re
[00:03:24] making.
[00:03:26] Sometimes it’s a little bit less obvious.
[00:03:29] For example, most financial advisors would tell you not to get the maximum loan that
[00:03:34] the bank will give you.
[00:03:36] So you can see kind of this continuum emerging.
[00:03:39] On one end of the spectrum, for example, with budgeting, you have pretty much all of the
[00:03:44] experts agreeing that you shouldn’t do something like a payday loan.
[00:03:50] And then on the other end of the spectrum, not every expert agrees.
[00:03:54] You have people who say that you should try to build your credit and people who say that
[00:03:58] it’s better to not have credit at all.
[00:04:01] So how do you take this advice and actually distill it down into action?
[00:04:07] How do you actually take all of this disparate advice on the spectrum of most people agreeing
[00:04:13] to everyone has a different opinion and then choose your own way of combining that?
[00:04:21] We’re going to talk about how to make those choices.
[00:04:23] Okay.
[00:04:24] So let’s get started.
[00:04:25] So today, we’re going to talk about the best practices in software development.
[00:04:28] Let’s talk about the best practices in software development.
[00:04:29] As it relates to best practices in software development, right after we talk about today’s
[00:04:30] sponsor.
[00:04:31] Today’s episode is sponsored by discover.bot.
[00:04:35] Discover.bot is an online community that is designed to serve as a platform agnostic digital
[00:04:40] space for bot developers and enthusiasts of all skill levels to learn from one another,
[00:04:45] share their stories and to move the conversation forward together.
[00:04:49] Discover.bot was built by Amazon Registry Services, and it’s an informational place
[00:04:54] for novices and experts alike in the bot development space.
[00:04:58] Discover.bot regularly publishes how-to guides
[00:05:01] and the latest bot building resources.
[00:05:04] So if you want to know, for example,
[00:05:06] if a particular chatbot framework has an SDK for your language,
[00:05:10] this is the place to find out.
[00:05:12] But Discover.bot is not just a community of developers creating bots.
[00:05:16] It’s also a community of developers who are building bots for real business.
[00:05:22] The bot development space is brand new.
[00:05:24] So the KPIs that you measure in other parts of your business
[00:05:27] are going to be fundamentally different.
[00:05:29] And you can find insights like
[00:05:32] what KPIs are worth measuring for your bot?
[00:05:36] Why are emojis breaking your bot?
[00:05:39] How do you write an engaging chatbot dialogue?
[00:05:42] These are all the kinds of deep topics
[00:05:45] that are covered on Discover.bot.
[00:05:48] Discover.bot is totally friendly to newcomers and novices
[00:05:52] as well as people who have
[00:05:54] extensive bot building experience.
[00:05:57] You can join the community at
[00:05:59] discover.bot slash developer T today.
[00:06:02] That’s discover.bot slash developer T.
[00:06:06] Thanks again to Discover.bot for sponsoring today’s episode
[00:06:09] of Developer T.
[00:06:14] Choosing best practices
[00:06:15] is fundamentally like
[00:06:19] most other choices that we make in our lives.
[00:06:23] We’re trying to make sure that we’re doing the right thing.
[00:06:24] We’re trying to make some kind of prediction.
[00:06:26] We’re trying to predict,
[00:06:27] will these best practices help me achieve
[00:06:30] the things that I want to achieve?
[00:06:32] Do these best practices allow me to exercise my values?
[00:06:37] Do they provide me with the benefits
[00:06:40] that I want out of a practice?
[00:06:44] When we’re choosing what kind of budget advice
[00:06:46] we want to take,
[00:06:48] we have various goals that we’re trying to optimize for.
[00:06:54] For example, maybe you want to retire early
[00:06:56] or perhaps you want to be generous
[00:06:59] and pay for dinners with your friends.
[00:07:02] But you also have other goals like
[00:07:05] not losing all of your money
[00:07:07] or not taking on an unreasonable amount of risk.
[00:07:12] So how do we predict
[00:07:14] how these various decisions will perform over time?
[00:07:19] Well, we recently had an episode
[00:07:21] on something called pattern matching.
[00:07:23] This is something that humans are really good at.
[00:07:26] We learn best through pattern matching
[00:07:29] because it gives us a better sense
[00:07:31] of how the different pieces relate to each other.
[00:07:35] We’re much better at relating things together.
[00:07:39] And so if we can look at the practices of a team
[00:07:43] that we believe we align with,
[00:07:46] then we may be able to pattern match to the team.
[00:07:50] This is usually better
[00:07:52] than trying to look at individual principles
[00:07:55] or individual pieces of advice
[00:07:56] and judging them solely on your own experience.
[00:08:00] Instead of relying on your own intuition
[00:08:03] about what you think is going to happen
[00:08:06] if you adopt a particular practice,
[00:08:08] a particular way of doing things,
[00:08:11] a guideline into your team,
[00:08:13] a guideline into your own code,
[00:08:15] you can look at how other people,
[00:08:17] particularly people that you identify with values-wise,
[00:08:21] maybe you approach them,
[00:08:22] appreciate the kind of work that they produce,
[00:08:25] you can look at those people
[00:08:27] and take cues from them.
[00:08:30] And you can learn by pattern matching.
[00:08:33] Now here’s why this is so important.
[00:08:36] It’s easy to believe
[00:08:37] that all of the ideas that we have
[00:08:40] should be judged on their own merits.
[00:08:44] And on the one hand, this is true.
[00:08:46] We can look at a new practice as valuable.
[00:08:49] We can look at a practice that is different
[00:08:52] from all of the ones that we’ve heard
[00:08:55] for our whole careers to be best practices.
[00:08:58] We could bring a new one to the table
[00:08:59] and it may be extremely valuable.
[00:09:02] But when you are faced with adopting new practices
[00:09:06] and you don’t have anything other than intuition
[00:09:10] to work with,
[00:09:12] then it makes sense to start by pattern matching.
[00:09:16] What this means is that it’s probably a better idea
[00:09:19] to adopt a very experienced practice
[00:09:22] than to forge your own path out of nothing.
[00:09:32] Now this is obviously one of the more opinionated episodes
[00:09:35] that I’ve done, and this isn’t a rule.
[00:09:38] Instead, I consider this a principled way
[00:09:41] of making decisions of almost any kind.
[00:09:45] If you have no information,
[00:09:48] if you have no data to help you make a decision,
[00:09:53] and when I say data in this case,
[00:09:54] I mean data about your own self,
[00:09:57] this would be trying to predict the future.
[00:10:00] You don’t have data about the future.
[00:10:03] And so the question that we’re trying to answer,
[00:10:04] the decision we are trying to make,
[00:10:06] is what should our starting point be?
[00:10:09] What should our initial guess be?
[00:10:14] And this is a decision that’s based on
[00:10:17] available information that you have.
[00:10:20] Now we either can discard the available information,
[00:10:22] and in this case, available information means
[00:10:25] all of the developers who came before us
[00:10:29] who have walked down the same kind of paths
[00:10:31] that we’re about to walk down,
[00:10:33] and they have come out with their own best practices.
[00:10:37] We can either take that information
[00:10:39] and use it to help us make our decision,
[00:10:42] or we can try to start from a random point,
[00:10:47] a point that is informed by ourselves, our own intuitions.
[00:10:52] Now, this is not to say that your intuition isn’t valuable,
[00:10:56] or that you shouldn’t take it into account,
[00:10:58] but rather to say, when you make a decision,
[00:11:01] you should look at your intuition
[00:11:03] as only one of the votes on the table.
[00:11:07] If you wanted to take a practical recommendation
[00:11:10] away from this episode, it would simply be this.
[00:11:13] When you’re faced with a decision
[00:11:14] where you don’t have much information,
[00:11:17] try to use someone else’s decision.
[00:11:20] Try to use the information
[00:11:22] that they have for yourself.
[00:11:25] The great thing about this industry
[00:11:27] is that it’s full of people
[00:11:28] who are iterating on their processes,
[00:11:31] iterating on their values,
[00:11:33] iterating on those best practices.
[00:11:35] So to choose a best practice
[00:11:38] is not to lock yourself into it,
[00:11:39] but instead it’s to say,
[00:11:41] this is my best first guess at what will be effective.
[00:11:46] And if it’s not effective, regardless of who has done it,
[00:11:50] then in the future,
[00:11:52] you should iterate on that.
[00:11:55] Thank you so much for listening to today’s episode.
[00:11:57] Thank you again to today’s sponsor, Discover.bot.
[00:12:01] If you are interested in joining the bot community,
[00:12:04] or maybe you’re just a novice
[00:12:06] and you’re kind of tangentially,
[00:12:08] you want to read the news about chatbots,
[00:12:11] there is a community that is waiting for you.
[00:12:14] It’s at Discover.bot slash developer T.
[00:12:17] Go and check it out.
[00:12:18] That’s Discover.bot slash developer T.
[00:12:22] Thank you so much for listening to today’s episode.
[00:12:24] We are headed into July.
[00:12:26] That means we’re about halfway through the year.
[00:12:28] And I hope that you feel encouraged and inspired
[00:12:32] and excited about the work that you’re doing this year.
[00:12:34] Thank you so much for listening to this podcast.
[00:12:38] I am so privileged to have a wonderful group of listeners,
[00:12:42] a wonderful audience.
[00:12:44] And I encourage you,
[00:12:45] if you haven’t yet subscribed to the podcast,
[00:12:47] if this show is even valuable once out of every five,
[00:12:51] every five episodes, if you haven’t yet subscribed to the podcast, If this show is even valuable once out of every five,
[00:12:52] every five episodes to you,
[00:12:53] then I believe that’s worth a subscription.
[00:12:56] I encourage you to subscribe
[00:12:58] in whatever app you’re using to listen to this right now.
[00:13:01] Thank you so much for listening and until next time,
[00:13:03] enjoy your tea.