Perfection Is Fragile, and You Should Avoid It
Summary
In this episode of Developer Tea, host Jonathan Cottrell challenges the common pursuit of perfection, arguing it’s not just unrealistic but actively dangerous. He posits that perfection creates fragile outlier states that are unsustainable and likely to regress toward the mean, using examples like the “Wheaties effect” in sports where athletes who have exceptional seasons typically cannot maintain that level of performance.
Cottrell applies this concept to software engineering and personal goal-setting. He explains how aiming for 100% code coverage, 100% uptime, or perfect quarterly delivery requires exorbitant, often infinite, investment for diminishing returns. More critically, setting perfection as the standard makes commitments fragile—once the perfect streak is broken, people are more likely to abandon the goal entirely, as seen with New Year’s resolutions.
A key example of perfectionist fragility is “planning to the brim”—filling schedules or sprints to 100% capacity. This assumes perfect knowledge and no change, which is unrealistic in software development. When unexpected changes occur (scope creep, illness, vacations), the perfect plan becomes impossible, leading to failure. Cottrell recommends building slack into systems to accommodate change, making outcomes more robust.
The episode concludes with practical alternatives to perfectionism. Instead of seeking outlier states, aim for the “upper part of the curve” with sustainable practices. Build redundancy (like multiple servers for uptime) rather than hardening single points of failure. For personal goals, create flexible commitments with slack days and multiple ways to fulfill broader intentions (like “invest in health” through exercise, diet, or social connections), avoiding the all-or-nothing trap of perfection.
Topic Timeline
- 00:00:00 — Introduction to the dangers of pursuing perfection — Jonathan Cottrell introduces the episode’s theme: perfection is not just an unrealistic goal but a dangerous one. He states he will argue that perfection is fundamentally fragile and will outline why this fragility makes it a harmful target for developers and teams.
- 00:01:46 — Defining fragility: Perfection as an unsustainable outlier — Cottrell explains the core argument: perfection is fragile because it represents an outlier state. He uses the example of achieving 100% code coverage or 100% uptime, noting the investment curve becomes exorbitant and often asymptotic as you approach 100%. Outlier states, by statistical nature, are unlikely to be sustained.
- 00:03:39 — The Wheaties Effect: Psychology of unsustainable outliers — The host introduces the “Wheaties effect” from pop psychology. Athletes featured on Wheaties cereal boxes for an extraordinary, near-perfect season are statistically likely to have a worse season the following year. This illustrates how outcomes reliant on being an outlier tend to regress to the mean, making them fragile and unsustainable.
- 00:07:05 — Applying the outlier concept to software engineering — Cottrell connects the outlier concept directly to software work. When teams or individuals expect perfection (an outlier), they set themselves up for fragility because that state won’t last. The pursuit itself creates fragility in the effort, making systems and commitments brittle.
- 00:07:56 — Personal goals and the all-or-nothing perfection trap — Using New Year’s resolutions as an example, Cottrell describes how setting a perfect goal (e.g., gym every day) creates a fragile commitment. Evidence suggests that once people break their perfect streak, they are likely to abandon the goal entirely. This design leads to frequent failure because perfection is an outlier.
- 00:11:20 — Planning to the brim: A perfectionist fallacy in teams — The host identifies “planning to the brim”—filling all available time in sprints or schedules—as a form of perfectionism. This assumes perfect knowledge of effort, order, and no change, which is false in software. It creates a fragile plan with no slack to handle the inevitable changes, leading to overflow and failure.
- 00:14:50 — Practical alternatives: Slack, redundancy, and flexible systems — Cottrell offers solutions to avoid perfectionist fragility. The primary advice is to plan with slack (less than 100% utilization) to accommodate change. He also recommends redundancy (like multiple servers) over hardening a single system. For personal goals, he suggests flexible commitments with multiple fulfillment paths to avoid all-or-nothing thinking.
- 00:18:05 — Conclusion: Actively avoid requirements of perfection — Cottrell concludes by reiterating that perfection is not a neutral step beyond “good enough” but an exponential or impossible leap into a fragile, unsustainable state. His final recommendation is to actively avoid situations, requirements, or expectations that demand perfection, as they are fundamentally dangerous to sustainable progress.
Episode Info
- Podcast: Developer Tea
- Author: Jonathan Cutrell
- Category: Technology Business Careers Society & Culture
- Published: 2025-07-09T07:00:00Z
- Duration: 00:20:03
References
- URL PocketCasts: https://pocketcasts.com/podcast/developer-tea/cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263/perfection-is-fragile-and-you-should-avoid-it/92aa8b4f-b9b1-4319-a597-e40a9dc22927
- Episode UUID: 92aa8b4f-b9b1-4319-a597-e40a9dc22927
Podcast Info
- Name: Developer Tea
- Type: episodic
- Site: http://www.developertea.com
- UUID: cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263
Transcript
[00:00:00] Hey everyone, and welcome to Developer Tea.
[00:00:09] My name is Jonathan Cottrell.
[00:00:11] The goal of the show is to help driven developers like you find clarity, perspective, and purpose
[00:00:16] in their careers.
[00:00:17] In today’s episode, I want to discuss something that has affected me and has almost certainly
[00:00:24] affected you at some point in your career, at some point in your life, maybe affecting
[00:00:29] you right now.
[00:00:31] It may be affecting your teams, your family, this idea that perfection is something to
[00:00:43] strive for.
[00:00:45] I would like to convince you today that perfection is actually a dangerous goal.
[00:00:56] Not only is it just an unrealistic or an unrealistic goal.
[00:01:00] It is an unnecessary goal, which is the common understanding that the people who have talked
[00:01:08] about this subject at length usually say that perfection is unnecessary, that perfection
[00:01:16] is not the goal, that instead, good enough is the goal or progress over perfection.
[00:01:24] But I’d like to convince you that not only is perfection just a goal.
[00:01:30] If perfection is not the goal, it is also dangerous.
[00:01:36] Why is it dangerous?
[00:01:38] The core of my argument here is that perfection fundamentally is fragile.
[00:01:46] And I’m going to lay out a couple of ways that perfection is fragile.
[00:01:51] Perfection creates a specific outlier case.
[00:01:58] So what does that mean?
[00:01:59] It means that perfection is fragile.
[00:02:00] In order to arrive at something that is perfect, we have to do something exorbitant in almost
[00:02:11] every case, right?
[00:02:12] In order to have, for example, 100% code coverage, we would have to write an exorbitant number
[00:02:20] of tests.
[00:02:20] In order to have 100% uptime on our server, we would have to have some highly, you know,
[00:02:29] extremely optimized thing.
[00:02:31] And even then, it’s probably still impossible.
[00:02:34] But if you think about the investment curve for what this requires, you start to increase
[00:02:44] the investment pretty significantly as you get closer.
[00:02:49] And in some cases, there is actually a limit.
[00:02:53] In other words, the investment would increase to infinity.
[00:02:57] It’s actually impossible to reach.
[00:02:59] It’s impossible to reach that 100% perfection mark.
[00:03:03] There are a lot of ways in which the kind of psychological concept of perfection creates
[00:03:13] fragility as well.
[00:03:15] So, for example, let’s imagine that you had a single quarter where everybody delivered
[00:03:23] everything on your team.
[00:03:25] So now you’ve had a perfect quarter, which most likely, if you’re in, you know, a lot
[00:03:29] of companies, the average company, you’re going to celebrate.
[00:03:33] Now, there’s this concept in psychology, pop psychology, called the Wheaties effect.
[00:03:39] What is the Wheaties effect?
[00:03:40] If you’re not familiar with the idea of athletes on the Wheaties box, normally, the athlete
[00:03:49] who might make it to the Wheaties box, Wheaties is a cereal for those of you who are not in
[00:03:54] the United States.
[00:03:56] If you made it on the Wheaties box, this is because you have to make it to the Wheaties box.
[00:03:59] This is because you have to make it to the Wheaties box.
[00:03:59] You had an extraordinary season.
[00:04:02] You had an extraordinary season.
[00:04:04] So what does that mean?
[00:04:05] It means that something happened such that you stood out from the crowd.
[00:04:13] Maybe you had the closest thing to a perfect season as you could have.
[00:04:18] Maybe you won every game.
[00:04:19] Maybe in an individual sport, you broke every record, whatever the category is.
[00:04:25] What is the Wheaties box?
[00:04:27] What is the Wheaties box?
[00:04:27] What is the Wheaties box?
[00:04:28] What is the Wheaties box?
[00:04:29] What is the Wheaties box?
[00:04:29] has nothing to do necessarily with that season but rather the next season and whatever sport you play
[00:04:36] there is a very high likelihood that the next season you will not be on the Wheaties box
[00:04:44] not only that but comparatively you’re going to have a much worse season
[00:04:49] now why is this what’s special about the Wheaties box truth is nothing is technically special about
[00:04:57] the Wheaties box when you become an outlier when there is anything that relies on being an outlier
[00:05:06] it is unlikely to be sustainable this is the core of my argument about perfection being dangerous
[00:05:12] okay things that are outliers tend to regress so if things tend to regress they regress to
[00:05:24] uh back towards normal
[00:05:27] you
[00:05:27] they regress back to the mean uh this this is a phenomenon in mathematics but it’s also
[00:05:34] uh just a uh kind of a statistical reality
[00:05:38] something that becomes an outlier is unlikely to stay an outlier now things that become an
[00:05:47] outlier are more likely to be uh outliers again more than other things right so uh you know
[00:05:55] whatever the characteristics are that made them outlier are more likely to be
[00:05:57] the thing an outlier especially if those characteristics are correlated with why
[00:06:03] that thing became an outlier in the first place so for example that Wheaties box athlete very well
[00:06:09] may become an outlier again but there is a consistent phenomenon here because uh even
[00:06:17] though there are a lot of factors that might make a uh an athlete stand out um and may help that
[00:06:25] athlete uh be an outlier again and they may become an outlier again and they may become an outlier again
[00:06:27] in in one season and another season there are also factors in almost every sport that are outside of
[00:06:36] that athlete’s direct control so that might include luck uh it might include you know uh just
[00:06:43] just how the the season fell together maybe their opponents uh you know the particular lineup that
[00:06:50] they had so there are plenty of reasons why the Wheaties effect occurs all right so what does this
[00:06:58] have to do with our pursuit of perfection as software engineers so when we have anything
[00:07:05] uh that is an outlier you know the the difficulty or or the risk that we run is that it will not
[00:07:15] stay an outlier when we expect perfection perfection is an outlier
[00:07:20] right how many things do you know that are perfect probably very few um perhaps close to none
[00:07:27] so achieving perfection achieving 100 of any particular goal uh this is very likely to be a
[00:07:37] fragile effort a fragile effort uh it is likely to create fragility in the effort itself
[00:07:45] right and and there’s a couple of different ways that this happens a couple of different kind of
[00:07:50] mechanisms that we can use to create fragility in the effort itself right and and there’s a couple
[00:07:50] mechanisms that you can think about let’s let’s look an example if you were like many other people
[00:07:56] um if you said you know what i’m i’m gonna make this year the year that i’m going to the gym
[00:08:03] uh i’m gonna get on my exercise routine i’m gonna get on my diet routine i’m gonna read a book every
[00:08:11] week um you know i’m going to write a blog post two blog posts every month whatever it is right
[00:08:20] and so you develop this expectation of yourself and you expect that your
[00:08:30] perfection would be the bar you haven’t met the goal unless you go to the gym every day
[00:08:39] you haven’t met the goal if you fall off the train on your diet and there’s good evidence to say
[00:08:45] that once you’ve broken what you consider your commitment to be
[00:08:50] you’re very likely to let go of the commitment altogether so once you’ve broken perfection once
[00:08:58] you’ve not been an outlier then you throw away the goal hence why you can see so many people
[00:09:06] falling off uh the wagon right how how many people do you know that have not kept those
[00:09:13] resolutions there’s plenty of other reasons why it’s not just because people are seeking
[00:09:17] perfection certainly there are people who set reasons for it but there are people who set
[00:09:20] reasonable goals that are not perfection they still uh have trouble following through so we’re
[00:09:26] not talking about those cases uh in this episode that’s other episodes where we’ll talk about you
[00:09:31] know habit formation and that kind of thing but they’re the the idea that you would achieve
[00:09:36] perfection is an outlier state should we design our lives in such a way that achieving outlier
[00:09:45] states is the only way that we make progress should we design
[00:09:50] our sense of motivation and achievement around outliers or around the upper part of the curve
[00:09:59] my argument is the upper part of the curve is much more likely to serve your ultimate intent
[00:10:08] your ultimate intent is very unlikely to be spending an exorbitant amount of money time effort
[00:10:17] uh an exorbitant amount of
[00:10:20] energy of personal uh kind of um you know a significant chunk of your life right going
[00:10:28] towards that asymptotic uh goal of perfection so you have this this likelihood that if you set
[00:10:39] your goal as perfection and you’re likely to give up whenever you break your commitment whenever you
[00:10:46] break your goal then you are likely to give up
[00:10:50] right if we design our commitments in a way that we are likely to give up
[00:10:55] then we’re going to be giving up a lot of the time in fact we will give up in almost every case
[00:11:02] because perfection is an outlier once again seeking perfection means that you are setting
[00:11:09] yourself up for a fragile commitment a fragile state uh the another good example of this
[00:11:16] is during planning sessions okay
[00:11:20] most likely if you’re like most people you tend to plan uh either on your team
[00:11:29] or for your personal workloads or or whatever you plan to the brim that means you determine
[00:11:37] with a certain amount of time uh exactly where that time is going to go you may do this in weeks
[00:11:46] you may do it in you know story points you may do it and there’s a bunch of different ways to do it but
[00:11:50] there’s a bunch of different methods by which you would fill to the brim
[00:11:53] this is a form of perfectionism this is a form of creating a fragile outlier state
[00:12:03] why is that because your assumption when you fill to the brim is that one you’ve got all of this
[00:12:13] sizing uh all of the expected effort you’ve figured it out right you’ve you’ve got all of this
[00:12:20] you’ve you’ve learned everything you need to learn you know exactly how long everything is
[00:12:25] going to take and you can fit everything into the right buckets at the right sizes and nothing will
[00:12:30] change well if you’ve been doing software for very long you know there’s so many fallacies in
[00:12:37] this thinking not only will things change but the sizes of things are likely to change as well
[00:12:43] usually in the upward direction so what was previously a full bucket now is an overflowing
[00:12:48] bucket
[00:12:50] even if you are relatively correct about the size you may not necessarily be correct about the order
[00:12:56] and so what previously was a reasonable plan becomes an incorrect plan because you don’t
[00:13:05] have any space to move things around we also tend to discount things like getting sick going on
[00:13:12] vacation these things don’t make it into our plans uh the the cost of changeover the cost
[00:13:19] of shifting our
[00:13:20] focus all of these things are discounted and so the likelihood of change is so high
[00:13:27] that building slack into your system to accommodate for that change is much more
[00:13:35] likely to yield a result now you’ll notice that perfection is a 100 effort slack would mean less
[00:13:45] than 100 utilization so planning to 100 percent
[00:13:50] is a type of perfection fallacy it’s a type of setting yourself up for an outlier event right and
[00:13:57] an outlier uh fragility event right so uh a lesson there is avoid things that look like 100 if you see
[00:14:08] something going to full if you see some kind of planning process that fills people’s time all the
[00:14:15] way to the end this is true uh regardless of what we’re talking about in terms of time
[00:14:20] let’s say you’re planning a uh a conference and you fill every single minute of that conference
[00:14:26] it’s very possible uh to keep the trains running on time but it’s not likely it’s likely that
[00:14:35] having five minutes between sessions is going to serve you well because it’s going to give you slack
[00:14:39] it’s going to allow you to not rely on an outlier state in order to in order to succeed right this
[00:14:47] is a fragile a fragile way of thinking
[00:14:50] so what can we do what do we do in the face of this you know of course we’ve already said
[00:14:55] plan with slack okay there are other ways to improve your uh your outcomes without relying
[00:15:05] on perfection for example if you rely on redundancy as another way of thinking about achieving your
[00:15:13] goals we’ve talked about this on the show before thinking about having multiple uh for example
[00:15:20] servers right redundancy in servers is a much cheaper approach to high uptime you can go and
[00:15:28] google this uh the the math is very much in favor of preferring redundancy over hardening a single
[00:15:36] system right how can we apply this mental model in other situations in our lives one example if
[00:15:44] we’re going to go back to our uh our new year’s resolutions one example would be
[00:15:50] first of all plan some slack into the system that means have a couple of days where if you miss your
[00:15:56] workouts you’re not breaking your commitment right maybe uh shape your commitment such that
[00:16:02] it’s not dependent on a hard number of days but rather it’s it’s dependent on whether or not you
[00:16:09] continue to come back at any point you may come back and fulfill your commitment and so if you
[00:16:16] have a tough week where you get sick for three or four or five days you may come back and fulfill
[00:16:20] five days or 14 days that doesn’t necessarily break your commitment right so there’s ways to
[00:16:28] think about avoiding these outlier states um if we’re thinking about redundancy
[00:16:36] with relation to uh let’s say like a uh an exercise commitment you may want to think
[00:16:44] about multiple ways that you can fulfill that particular action maybe there is an overall health
[00:16:50] investment that you want to make an exercise is one part of it eating well is another part of it
[00:16:55] maybe social commitments is another part of it and you could round robin those things right in other
[00:17:02] words like hey you know what i i don’t feel especially uh energetic to go to the gym today
[00:17:08] but i do feel like investing in my social connections is doable today oh this redundant
[00:17:15] plan to invest in your health more generally right includes
[00:17:20] spending time in a social setting and you might set up some kind of uh you know flexible
[00:17:28] broad ratios of how much time you’re going to spend in each of those areas
[00:17:33] with the expectation that hey i’m going to do one of those things right i’m going to try to invest
[00:17:39] in at least one of those areas every day this provides flexibility it gives you the opportunity
[00:17:44] for redundancy uh it provides the um the avoidance of the opportunity for redundancy
[00:17:50] avoidance of an outlier scenario okay so there’s a lot of ways that you can invest in
[00:17:57] um in in better pathways that avoid perfection but the most critical thing to take away from this
[00:18:05] is that perfection is not a neutral concept uh achieving perfection is not you know a linear step
[00:18:16] away from good enough it may be
[00:18:20] an exponential or even asymptotic step it may be impossible and your investment towards it
[00:18:29] is likely to put you in an outlier state that is unsustainable it’s a fragile state
[00:18:34] so when you see perfection as a requirement or an expectation i would recommend that you do what
[00:18:42] you can to avoid that don’t just uh you know don’t just question it
[00:18:50] think it’s worth actively avoiding things that require perfection thank you so much for listening
[00:18:57] to today’s episode of developer t i hope you enjoyed this episode this is the second episode
[00:19:02] where we’re actually recording videos and we’re going to be uh releasing these videos by the way
[00:19:06] on a little bit of a delay because we’re still getting some of the video production stuff figured
[00:19:09] out so you’re not going to see the last episode this episode yet on video platforms we’re going
[00:19:15] to be releasing those on youtube it’s kind of funny if you are watching me say this right now
[00:19:20] This will no longer be relevant for you at that point, but we’re going to be releasing this on
[00:19:25] YouTube and on other video platforms. Probably we’ll do some shorts and that kind of thing. So
[00:19:31] watch out for those. If you are a regular subscriber to the podcast and you’re interested
[00:19:37] in video content and how this comes together in a kind of a different format, maybe that will
[00:19:43] change the way you consume this show. Go and check it out on YouTube or other video platforms.
[00:19:49] Once again, it’s not yet set up, so I’m talking to future you.
[00:19:54] Thanks so much for listening and until next time, enjoy your tea.