2 Reasons Your Habits Aren’t Sticking


Summary

In this episode of Developer Tea, host Jonathan Cutrell explores the common challenges developers face when trying to establish new habits, particularly in their professional work. He focuses on why good intentions often fail to translate into lasting behavioral changes, using examples like adopting test-driven development, maintaining code documentation, or following through on New Year’s resolutions.

Cutrell explains that habits function as mental “macros” or automatic scripts that allow our brains to conserve energy by providing default responses to familiar situations. The difficulty arises when we try to replace existing habits with new ones, especially when those new habits involve complex professional practices that require consistent application over time.

He identifies two primary reasons why habits fail to stick. First, people often don’t understand what the actual routine of the desired habit entails. Wanting to “be a test-driven developer” isn’t enough if you don’t know what the daily practice looks like. Cutrell recommends researching successful practitioners of the habit you want to adopt, learning their specific routines, and then emulating those behaviors rather than trying to stumble into the right approach through sheer willpower.

The second reason involves inadequate reward systems. Cutrell argues that the distant satisfaction of achieving a long-term goal isn’t sufficient reinforcement for daily habit formation. Instead, he suggests creating immediate, tangible rewards that are appropriately scaled to the effort required. These rewards should be healthy and aligned with your goals (not rewarding healthy eating with junk food, for example) and should provide your brain with clear positive feedback for completing the desired behavior.

Throughout the episode, Cutrell emphasizes practical application, encouraging listeners to identify specific habits they want to establish, research the actual routines involved, and implement appropriate reward systems to reinforce those behaviors consistently over time.


Recommendations

Books

  • The Power of Habit by Charles Duhigg — Recommended at the end of the episode as containing more content about habit formation and why habits may not be sticking as hoped.

Tools

  • BitRise — A mobile continuous integration and delivery platform with automatic platform detection, visual workflow building, and over 170 integrations. Mentioned as the episode sponsor and presented as a tool that saves development time.

Topic Timeline

  • 00:00:00Introduction to practical habit formation for developers — Jonathan Cutrell introduces the week’s practical theme and explains the episode will focus on why developers struggle to establish new habits like test-driven development, code testing, and documentation maintenance. He connects this to broader habit formation challenges, including New Year’s resolutions, and frames habits as mental defaults that conserve cognitive energy.
  • 00:02:55Sponsor segment: BitRise mobile CI/CD platform — Cutrell discusses today’s sponsor, BitRise, a mobile continuous integration and delivery platform. He highlights features like automatic platform detection, visual workflow building with over 170 integrations, and the ability to run the same configuration locally. The segment emphasizes time-saving benefits for mobile development teams.
  • 00:04:42The challenge of behavior change and identity goals — The discussion returns to habits, focusing on the gap between wanting to adopt an identity (like being a test-driven developer) and actually changing behavior. Cutrell notes that people who developed good habits from the beginning don’t struggle as much because the habit carries the behavioral weight. He introduces the core question: why can’t we establish these habits?
  • 00:06:57Reason 1: Not knowing what the habit routine entails — Cutrell explains the first major reason habits fail: people have a goal state in mind but don’t understand what that state actually involves in practice. Without knowing the specific routine of a test-driven developer, for example, you can’t effectively establish the habit. He recommends researching successful practitioners, learning their routines, and emulating them rather than trying to stumble into the right approach.
  • 00:10:13Reason 2: Inadequate reward systems for habit reinforcement — The second reason involves insufficient rewards. Cutrell argues that distant goal achievement isn’t enough reinforcement for daily habits. He suggests creating immediate, tangible rewards scaled to the effort required—like allowing favorite exercises after healthy eating or small breaks after productive work sessions. These rewards should be healthy, aligned with goals, and provide clear positive feedback to train the brain.
  • 00:13:04Conclusion and resource recommendation — Cutrell concludes by summarizing the two reasons habits don’t stick and recommends Charles Duhigg’s book “The Power of Habit” for further reading. He reiterates the sponsor message for BitRise and signs off, encouraging listeners to enjoy their tea.

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2018-04-20T09:00:00Z
  • Duration: 00:13:41

References


Podcast Info


Transcript

[00:00:00] We are staying practical on this week of Developer Tea.

[00:00:08] My name is Jonathan Cottrell.

[00:00:09] My goal on the show is to help driven developers connect to their career purpose and do better

[00:00:14] work so they can have a positive influence on the people around them.

[00:00:17] And this week we’ve been talking about very practical things, practical application of

[00:00:22] the ideas that we very often talk about on this show.

[00:00:25] In today’s episode, I’m going to explain to you why you haven’t picked up that new

[00:00:31] tool, you haven’t followed through on your test-driven development habits, you don’t

[00:00:38] actually keep your code tested, you don’t keep your documentation up to date, perhaps

[00:00:43] you aren’t following your New Year’s resolutions that you set this year.

[00:00:49] How are those going for you?

[00:00:50] We’re in April, towards the end of April, heading into May.

[00:00:54] How are your…

[00:00:55] New Year’s resolutions going for you?

[00:00:57] How many times have you checked in on those resolutions?

[00:01:01] So what we’re really talking about here is habits, informing habits, and there’s some

[00:01:06] really good literature on this.

[00:01:08] There’s a lot of opinion on it, and there’s a lot of research on habits because habits

[00:01:12] really form the vast majority of what we do in our life.

[00:01:19] And this is no new subject on Developer Tea.

[00:01:21] We’ve talked about having useful defaults for this very reason.

[00:01:25] Defaults are things that you create habit out of.

[00:01:29] They are ways of behaving when there’s nothing else to tell you to behave differently.

[00:01:35] It’s how you behave most often, most regularly, without any input, without any steering, you’re

[00:01:42] going to do X, Y, or Z.

[00:01:45] Habits allow your brain to have a break.

[00:01:48] You have a common way of dealing with a particular situation or responding.

[00:01:55] You have a common way of responding to a particular situation, and your brain doesn’t

[00:01:58] have to process that.

[00:02:01] It doesn’t have to make as much of a decision in that moment because your habit is kind

[00:02:07] of an automatic switch.

[00:02:08] It’s your response.

[00:02:10] Rather than it being a constructed decision, a well-thought-out decision, your habit is

[00:02:19] an easy go-to.

[00:02:20] It’s kind of like a macro, a script that your brain runs on a regular basis.

[00:02:25] So this seems both simple and difficult, doesn’t it?

[00:02:29] Isn’t it hard to both do something without thinking about it, but also change your existing

[00:02:36] habits, change them for the better?

[00:02:38] It is a little bit difficult, but we’re going to talk about reasons, perhaps the most common

[00:02:42] reasons why you as a developer, me as a developer, any developer, and really people in general

[00:02:48] don’t tend to succeed in changing their habits.

[00:02:53] Before we talk about that, we’re going to talk about today’s episode.

[00:02:55] This is awesome sponsor, BitRise.

[00:02:57] BitRise is mobile continuous integration and delivery for your whole team with dozens of

[00:03:02] integrations for your favorite services.

[00:03:05] BitRise features automatic platform and configuration detection, build, test, and deploy steps

[00:03:14] that happen in just minutes and an open source library of over 170 integrations, no scripting

[00:03:20] needed.

[00:03:21] In other words, you aren’t going to have to spend extra time on a computer.

[00:03:25] On that code base, on the test suite, just to get it to run in your continuous integration.

[00:03:31] You can run the same config locally that you have on BitRise with the open source command

[00:03:38] line tool by downloading the BitRise YAML file.

[00:03:42] Super simple to get up and running with this.

[00:03:45] They have a visual editor to kind of block together like Lego blocks, the different services

[00:03:51] that you want to run.

[00:03:54] Yeah.

[00:03:54] Yeah.

[00:03:55] Yeah.

[00:03:55] Yeah.

[00:03:55] Yeah.

[00:03:55] Yeah.

[00:03:55] Yeah.

[00:03:55] Yeah.

[00:03:55] Yeah.

[00:03:55] It’s a very cool concept.

[00:03:58] You can kind of think of it like if this than that, the way that you build the stuff, you

[00:04:02] don’t have to go through the tedious process of configuring all of your, your testing yourself.

[00:04:09] You can let BitRise handle it.

[00:04:11] They have, again, a ton of integrations that they already support things that you are probably

[00:04:16] already using, perhaps other services that you are using for your mobile application.

[00:04:21] You can do even lower level things like running scripts.

[00:04:25] Running Gulp commands or running Yarn commands or things like that.

[00:04:30] Tons of options that you have available at your disposal with BitRise.

[00:04:34] Go and check it out, head over to spec.fm slash BitRise to get started today.

[00:04:38] Thank you again to BitRise for sponsoring today’s episode of Developer Tea.

[00:04:42] So we’re talking about habits, how to actually, uh, instantiate these habits.

[00:04:46] And why is it that you can’t seem to do that?

[00:04:50] You know, you really want to have good habits.

[00:04:53] You really want to be able to.

[00:04:55] To say that you are a test-driven developer.

[00:04:59] Now, when it actually comes to behavior change, that’s the real hurdle.

[00:05:03] You have a picture in your mind of what you would like to be true.

[00:05:07] You would like to say that you’re a test-driven developer.

[00:05:10] You would like to be on the other side of losing all that weight

[00:05:14] that you’re still carrying around from the holidays of 2017.

[00:05:19] And you’d like for all this to be true.

[00:05:22] And it feels like,

[00:05:25] just wanting it should be enough.

[00:05:27] That’s what your brain tells you that imagining these things and then putting forth some kind

[00:05:33] of minor effort should get you there.

[00:05:35] That you’ve actually taken at least one step.

[00:05:38] And unfortunately, very seldomly does one step towards a goal actually get you to that goal.

[00:05:44] Unless, of course, that goal is very small.

[00:05:47] And most of the things that we want to build habits around are much more long-term goals.

[00:05:52] They’re more like identity goals.

[00:05:55] Things like, I want to be a good developer and therefore I want my code to be tested.

[00:06:01] So how can I instantiate and establish this habit

[00:06:04] so that my code is more often than not

[00:06:08] as the default my code is tested?

[00:06:12] Now, the interesting thing is that there are some people who don’t struggle

[00:06:16] with not having tested code.

[00:06:18] Those people very often started on day one

[00:06:22] developing good habits.

[00:06:25] They developed the habit of testing their code from day one.

[00:06:28] They saw development only through the lens of test-driven development.

[00:06:34] And if you talk to somebody who is like this,

[00:06:36] if you talk to a developer who has practiced test-driven development from the beginning,

[00:06:40] it’s apparent that they don’t see it as a huge struggle.

[00:06:46] That the habit itself is carrying the weight of the behavior.

[00:06:52] So what is the problem?

[00:06:52] Why can’t we seem to establish?

[00:06:55] There’s a few reasons.

[00:06:57] The first reason is even though we have some kind of state,

[00:07:01] some future state, some goal in mind of what we want to be true,

[00:07:07] we don’t know what that state is composed of.

[00:07:11] In other words, we want to test all of our code,

[00:07:16] but we haven’t taken the time to look at what that actually means in practice.

[00:07:21] We don’t know what a day in the life of a,

[00:07:25] a test-driven developer looks like because we’ve never experienced it.

[00:07:29] We’ve never adopted that practice fully.

[00:07:31] And therefore we can’t really envision what that,

[00:07:35] what that plan would even be identifying the routine that would be necessary.

[00:07:41] So it’s very difficult for us to even try to establish that habit because

[00:07:46] what we end up trying to do is shove some elements of that habit or some elements

[00:07:52] of that routine in without adequate planning.

[00:07:55] This is a huge problem because usually what it means is that we have someone like

[00:08:00] myself or like you who are listening.

[00:08:02] You have a lot of energy,

[00:08:03] you have a lot of commitment,

[00:08:05] you have a lot of passion and excitement about changing or establishing this habit,

[00:08:09] but you don’t know what the habit actually entails.

[00:08:14] What is the real routine?

[00:08:16] I encourage you,

[00:08:16] I challenge you right now,

[00:08:18] take the two or three minutes.

[00:08:20] You’re hopefully thinking of a specific habit that you’ve wanted to establish and

[00:08:24] you haven’t done it yet.

[00:08:25] You haven’t been able to take two or three minutes to sit down and write out what the

[00:08:30] routine is.

[00:08:30] Now,

[00:08:31] most likely this is going to be hard because you don’t know what it is.

[00:08:35] It may take a little bit of reasoning and perhaps more importantly,

[00:08:39] it may take some research.

[00:08:41] You may need to go and look at successful test driven developers,

[00:08:45] for example,

[00:08:46] what is their routine?

[00:08:47] What,

[00:08:47] what is their investment strategy look like for actually spending time on writing

[00:08:53] tests first?

[00:08:54] What behaviors and more specifically what stack and order of behaviors does someone who is successfully implementing this particular habit,

[00:09:05] what are they following?

[00:09:07] So learn from someone who’s already done it and then try to emulate that,

[00:09:11] right?

[00:09:11] It’s of course it’s going to be a learning process and all you’re doing by taking somebody else’s thing,

[00:09:18] taking somebody else’s success is you’re trying to learn from the elements that apply to them and then,

[00:09:24] essentially,

[00:09:25] steal those ideas for yourself.

[00:09:28] Right?

[00:09:28] And that seems very simple.

[00:09:29] It seems very obvious.

[00:09:31] It seems clear that if we don’t know what the routine is,

[00:09:34] then how is,

[00:09:35] how is it possible to even establish it?

[00:09:38] And there’s probably some kind of a lie that we believe that we’re going to stumble our way into that routine accidentally.

[00:09:47] That just out of sheer will or desire and energy when we combine those things that somehow we’re going to fall into the routine,

[00:09:53] it’s just the opposite.

[00:09:53] If we don’t know what the routine is,

[00:09:54] then how is it possible to even establish it?

[00:09:54] going to magically stumble on that routine. And that very rarely happens, if ever. Usually the

[00:10:02] routine has to be learned and then subsequently applied. All right, so that is reason number one.

[00:10:10] And then the second reason, we’re only going to go over two of these today, we’re going to keep

[00:10:13] this episode short. The second reason that we so often fail at establishing habits is that we are

[00:10:21] not reinforcing our habits with the right kind of reward. Very often we believe that our desire

[00:10:30] and achievement is enough of a reward to continuously seek after establishing the habit.

[00:10:40] This is not true because we are not going to establish a long-term goal on day one. And so

[00:10:48] day one, therefore, doesn’t have the reinforcement,

[00:10:51] of a reward. Knowing that you met your self-expectations is some of a reward,

[00:11:00] but it’s not enough. So we need to structure our routines to provide us with a tangible and

[00:11:08] present reward. Now, hopefully this is not something that’s going to be antithetical to

[00:11:14] another habit that you’re trying to form. For example, if you’re trying to lose weight and

[00:11:19] you eat well, then you shouldn’t reward yourself with bad food, of course. But instead, you can

[00:11:25] choose something like allowing yourself to do your favorite exercise at your next workout.

[00:11:32] So this is both a healthy habit, a healthy reward, but it also gives you a direct

[00:11:40] kind of signal. Your brain receives the signal and it connects the reward to the action.

[00:11:48] At the most,

[00:11:49] basic instinctual level, this is how we train our brains. If we provide ourselves the right

[00:11:56] kind of incentives and we are consistent in how we apply those incentives and the incentives are

[00:12:02] scaled to the routine, the effort that is necessary to earn them, then we will continuously reinforce

[00:12:10] the good habits. Some very simple examples of incentive might be allowing yourself a extra two

[00:12:18] minutes on your phone. If you’re doing a lot of work, you’re going to be able to do a lot of

[00:12:19] five minute break, right? Allowing a longer walk in the afternoon or perhaps something as simple as

[00:12:26] giving yourself a trip to the movies at the end of the week if you maintain your habits throughout

[00:12:32] the rest of the week. And these incentives are going to vary from person to person. Some people

[00:12:37] would not respond well to that particular incentive. So you need to configure it for

[00:12:42] yourself. And remember, it doesn’t have to be a huge incentive. In fact, it’s probably better if

[00:12:47] it’s scaled to the routine. So if you’re doing a lot of work, you’re going to be able to do a lot of

[00:12:49] routine. So losing 10 pounds probably shouldn’t earn you a vacation abroad, right? That’s not

[00:12:57] really an equalized scale. Hopefully this episode has been enlightening about why your habits may

[00:13:04] not be sticking like you had hoped they would. There’s more content about this subject in Charles

[00:13:10] Duhigg’s book, The Power of Habit. Go and check that out. My name is Jonathan Cutrella. You’ve

[00:13:16] been listening to Developer Tea. Today’s episode was sponsored by The Power of Habit.

[00:13:19] The Power of Habit is sponsored by Bitrise, the continuous mobile delivery platform that allows

[00:13:23] you to integrate with over 170 different integrations. Go and check it out, spec.fm

[00:13:29] slash Bitrise. Thank you so much for listening. And until next time, enjoy your tea.