3 Habits of Learning Developers


Summary

This episode of Developer Tea focuses on the mindset and habits of developers who continuously learn and grow throughout their careers. Host Jonathan Cattrell begins by drawing parallels between how one would study extraordinary actors or athletes to understand their process, and how developers should approach learning from those who excel in their field.

Cattrell introduces two types of learning environments: performance learning (working with existing competency) and deliberate learning (working with new, unfamiliar concepts). He explains that in performance learning, failure tolerance is low and the focus is on small refinements, while deliberate learning involves more significant, ‘coarse’ failures that lead to substantial growth. Most developer learning follows a feedback loop of failure, iteration, measurement, and repetition.

The core of the episode outlines three key habits of learning developers. First, they don’t stop thinking at ‘good enough’—they continue to consider improvements even after meeting minimum requirements, though they may not always implement them immediately. Second, they learn the ‘why’ behind best practices rather than blindly following them, understanding the underlying principles that can be applied across different contexts. Third, they cultivate curiosity, which drives exploration of new technologies, adjacent fields, and better problem-solving approaches.

Cattrell emphasizes that these habits are what separate developers who plateau from those who advance to senior and leadership positions. Learning provides the ‘fuel’ for career growth, and without intentional learning, developers risk solving new problems with old, inefficient methods. The episode concludes with encouragement for listeners to develop these habits and a reminder about the show’s sponsor, SkySilk.


Recommendations

Podcasts

  • Design Details — Mentioned as part of the Spec.fm family of podcasts for designers and developers, alongside Developer Tea.
  • Tools Day — Another podcast in the Spec.fm network focused on tools for designers and developers.
  • Does Not Compute — A podcast in the Spec.fm family that covers topics for designers and developers.

Tools

  • SkySilk — A cloud platform currently in beta testing that offers free virtual private servers (VPS) during the beta period, with features like container-based Linux VPS, triple-replicated SSD storage, and a reward program called Sky Points.

Topic Timeline

  • 00:00:00Introduction to learning from extraordinary performers — Jonathan Cattrell opens by asking how one would study extraordinary actors or athletes to understand their process and decision-making. He draws a parallel to software development, suggesting that to become a great developer, one should study those who excel in the field. This sets the stage for discussing the habits of developers who continuously learn.
  • 00:02:10Two types of learning environments — Cattrell distinguishes between performance learning (working within existing competency) and deliberate learning (working with unfamiliar concepts). He explains that performance learning has low tolerance for catastrophic failure and focuses on refinement, while deliberate learning involves larger failures and is more about prototyping and exploration. Both involve learning from failure through feedback loops.
  • 00:08:50Sponsor message and transition to habits — After a detailed sponsor message for SkySilk (a cloud platform offering free VPS during beta), Cattrell transitions back to the main topic. He notes that learning developers often become senior developers because they continuously grow their skills and outpace others. Learning is presented as the essential fuel for career advancement in development.
  • 00:10:37Habit 1: Don’t stop thinking at ‘good enough’ — The first habit of learning developers is that they don’t stop thinking once a problem is solved to the minimum requirement. Even after meeting acceptance criteria, they consider how the code could be improved—better naming, optimization, or refactoring. The key is to continue the thinking process beyond the minimum, even if time constraints prevent immediate implementation. Ideas should be documented for future reference.
  • 00:13:44Habit 2: Learn the ‘why’ behind best practices — Learning developers seek to understand the principles behind best practices rather than adopting them dogmatically. While initially following best practices on recommendation is acceptable, understanding the underlying ‘why’ allows developers to apply principles across different languages, paradigms, and contexts. This prevents blind adherence and enables more practical, flexible application of good practices.
  • 00:15:26Habit 3: Cultivate curiosity — The third habit is cultivating curiosity, which requires intentionality. Curiosity drives developers to explore industry trends, adjacent fields (like mathematics), and new problem-solving approaches. It provides the ‘raw materials’ for developing new thinking patterns and keeps developers evolving. Curiosity fuels the motivation to learn and expand one’s knowledge schema, making it essential for continuous growth.
  • 00:17:31Conclusion and call to action — Cattrell concludes by hoping the three habits inspire listeners to become learning developers. He reiterates the sponsor message for SkySilk, encourages subscription to Developer Tea (three episodes weekly) and other Spec.fm podcasts for designers and developers, and reminds listeners that learning leads to growth and change in their development practice.

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2018-05-21T09:00:00Z
  • Duration: 00:19:52

References


Podcast Info


Transcript

[00:00:00] if you wanted to become an extraordinary actor what would you do you would probably start by

[00:00:12] studying extraordinary actors people who you respect people that maybe you don’t even

[00:00:20] necessarily want to emulate their style but you want to understand the types of decisions that

[00:00:27] they make you want to understand their process how did they get to that place the place in that

[00:00:36] particular play or in that particular movie how did they arrive at that performance level

[00:00:43] not only over the course of time but also just over the course of that day

[00:00:50] what was the dialogue in their head how did they prepare

[00:00:57] the moment before that great monologue and so if you want to become a great athlete or if you want

[00:01:05] to become a great speech writer you would likely go and look at great athletes and great speech

[00:01:14] writers and understand what is the dialogue in their head when they are actually practicing

[00:01:21] their craft how do they actually go about getting better

[00:01:27] and so that’s what we’re going to focus on on developer t for at least this episode

[00:01:31] and very possibly the upcoming episodes as well we’ll focus on this idea but in today’s episode

[00:01:39] we’re going to talk a little bit more specifically about habits of the always learning developer

[00:01:45] habits of the always learning developer if you want to continuously learn throughout your career

[00:01:52] this episode is for you we’re going to talk about ways that you can kind of determine

[00:01:57] whether or not you are learning at a healthy pace we’re going to talk about ways that you can

[00:02:04] continuously learn on the job that’s what today’s episode is about my name is jonathan cattrell and

[00:02:10] you’re listening to developer t my goal on the show is to help driven developers connect to

[00:02:14] their career purpose and do better work so they can have a positive influence on the people around

[00:02:19] them in today’s episode we’re focusing on this idea of developing a long-term learning habit

[00:02:27] and really this isn’t a single habit when i say learning there’s a lot that’s tied up in that

[00:02:34] there’s a lot of types of learning you may have performance learning where you’re actually

[00:02:41] working with the thing that you already have competency with and then you may have

[00:02:48] intentional or deliberate learning this is when you’re working with something that you don’t have

[00:02:54] competency with and typically the structure of learning is that you’re working with something

[00:02:57] structures for these two types of learning environments are entirely different on the one

[00:03:01] hand in the performance learning category you’re likely to have a very low tolerance for failure

[00:03:08] it’s very likely that your opinion is not the only one that matters that there is a stricter

[00:03:15] timeline stricter resources allocated in this kind of environment of performance learning

[00:03:21] and that the way that you are learning is much less about catastrophic

[00:03:27] failure and much more about smaller failures almost invariably learning comes from failure

[00:03:36] you may be able to make a good argument that learning also comes through exploration but most

[00:03:43] of what we learn as developers is a feedback loop of failure iteration measurement repeat

[00:03:50] and this is taking advantage of the very simple process of growth that our brain is able to

[00:03:57] is already kind of wired for right the idea is that if you put pressure on your mental state

[00:04:07] in one direction that your brain will try to adapt to that pressure so that the next time you

[00:04:12] encounter it you have what is necessary to meet that challenge and so failure is important but

[00:04:20] when you’re in a performance atmosphere where you’re already relatively competent then a

[00:04:25] catastrophic failure becomes a failure and that’s when you’re in a performance atmosphere where you’re

[00:04:27] in a performance atmosphere where you’re already relatively competent then a catastrophic failure becomes

[00:04:27] less about learning and more about sustainability about keeping your job right and so you can think

[00:04:34] about these two different spheres of learning in one of them you’re at the final polishing stage

[00:04:41] you can imagine that you’re creating a piece of furniture and in this performance learning the

[00:04:47] piece of furniture has already been created and you’re at the very last sanding stage where you’re

[00:04:52] going from only slightly rough to perfectly smooth

[00:04:57] on the other hand the uh the deliberate learning atmosphere is more like when you have raw pieces

[00:05:05] of wood and you’re cutting them for the very first time and you’re prototyping and the wood is very

[00:05:12] rough and so the sandpaper you might use on that wood is going to be similarly rough and so this

[00:05:19] this kind of environment of learning the deliberate environment of learning is much more coarse in

[00:05:25] that way so a failure is going to be a failure and so you’re at the very last polishing stage where you’re

[00:05:27] going to be much larger it will be a total failure rather than a minor and sometimes even

[00:05:35] imperceptible failure when you’re at that high level of the performance learning okay so we have

[00:05:41] these two different types of learning and certainly there is a sliding scale between these um you know

[00:05:47] you’re not going to only live in one place or the other there is a sliding scale where you may have

[00:05:52] a little bit more of a learning role for example if you’re a junior developer rather than a senior

[00:05:57] but i want to talk about the habits that you will have if you are a lifelong learner we’re going to

[00:06:04] talk about some of those habits right after we talk about today’s sponsor skysilk today’s episode

[00:06:10] is sponsored by skysilk skysilk is a new cloud platform that is looking to shake up the way

[00:06:16] people think about virtual servers and cloud computing they’re currently beta testing the

[00:06:21] new platform and they’re giving all beta users completely free access to the platform and it

[00:06:27] for bug reports feedback suggestions and exposure the platform features today include container-based

[00:06:36] linux vps powered by proxmox virtualization engine triple replicated ssd cloud storage with

[00:06:43] a pre-distributed file system that’s architected using sef storage a 56 gigabit ethernet and 200

[00:06:52] gigabit per second infiniband dual network backbone

[00:06:56] enterprise level hardware and data center security the platform features over 40 one-click linux

[00:07:03] distributions and software applications and the platform will continue to evolve over the next

[00:07:09] year as they continue to add new features and product offerings now even after they go live

[00:07:14] they’re going to be offering completely free vps that’s a virtual private server plan that comes

[00:07:19] with one cpu that has 512 megabytes of ram 25 gigabytes of ssd storage and a 500 gigabyte

[00:07:26] network transfer per month that’s absolutely free in addition to affordable flexible plans

[00:07:32] starting at just ten dollars a month now here’s a unique thing that sky silk offers they offer you

[00:07:38] sky points now this is not sky miles but it is a reward program that rewards all users

[00:07:44] with sky points on all transactions and referrals which can be redeemed for sky silk account credit

[00:07:51] as well as amazon best buy and prepaid visa gift cards with more rewards and more rewards and more

[00:07:56] reward options to come so this is kind of an innovative idea right if you go to sky silk.com

[00:08:02] today you can request beta access remember that’s totally free while they’re in beta when you’re

[00:08:07] invited you can create a sky silk account log in and navigate to the billing section in your

[00:08:12] account settings and enter the promo code t time to redeem a thousand sky points that’s ten dollars

[00:08:19] worth of cash value totally free by the way for use once the sky silk platform goes live

[00:08:26] go and check it out this is exclusive to developer t listeners only go to the billing section on the

[00:08:32] account settings page after you sign up at sky silk.com use the code t time to redeem a thousand

[00:08:38] sky points which is equivalent to ten dollars in cash value thank you again to sky silk for

[00:08:44] sponsoring today’s episode of developer t and a huge welcome to sky silk as our newest sponsor

[00:08:50] so we’re talking about habits that learning developers have now you

[00:08:56] may already be able to tell but learning developers often become senior developers

[00:09:02] the ones who continuously learn who continuously grow their skill set right who are constantly

[00:09:09] getting better these are the people who end up in leadership positions or in senior level positions

[00:09:15] not necessarily management positions all the time but instead in these higher level developer

[00:09:22] positions because they are the ones who by a

[00:09:26] simple way of doing it are the ones who are the ones who are the ones who are the ones who are

[00:09:26] going to outpace everyone else okay so these are habits that you want to have you want to be a

[00:09:35] learning developer if you want to continue being a developer if you if your goal is to become a

[00:09:39] senior developer to become better at what you do then learning is kind of the fuel that’s the

[00:09:45] pathway to becoming better if you continue to do what you’ve always done right if you continue to

[00:09:52] practice development the same way that you’ve always practiced it you will gain a lot of

[00:09:56] experience in other words you’re going to experience new problems but you’re very unlikely

[00:10:02] to solve them in better or more novel ways without some level of intentionality it’s very possible

[00:10:11] that you’ll use old tired sometimes inefficient methods to solve this these new problems you’re

[00:10:20] using the same old methods that you used a long time ago when you were a younger developer right

[00:10:26] learning as a developer is a very important part of your career in fact it’s so important

[00:10:32] that it was one of the very first episodes that we did on this show so i want to cover three habits

[00:10:37] that learning developers all learning developers have in common number one the developer who is

[00:10:43] learning does not stop thinking at good enough the developer who is always learning does not

[00:10:50] stop thinking at good enough what does this mean it means that when you are writing code to solve

[00:10:56] some problem regardless of what that problem is if you’re building an interface if you’re

[00:11:02] designing an algorithm it doesn’t really matter when you’re writing code to solve a problem

[00:11:06] there is a point that you will reach where your objective is met and the most optimum solution or

[00:11:15] so we think is to stop there to move on to the next thing because once we’ve met our objective

[00:11:22] assuming that our you know acceptance criteria is met we’re going to have to move on to the next thing

[00:11:26] then why should we waste more time more energy making things any better the reality is there’s

[00:11:35] always room for improvement and this is a key fundamental truth that every learning developer

[00:11:41] kind of understands is constantly true no matter how much growth you have done there’s always room

[00:11:49] to grow more no matter how accurate your program is there’s always room for it to be refactored

[00:11:56] there may be room for it to have better naming structures perhaps there’s a lot of room for it

[00:12:04] to be optimized now notice in this habit that we’re not saying that all learning developers

[00:12:10] go beyond specifically writing code beyond good enough sometimes it’s important to ship the code

[00:12:20] when you reach that good enough stage but here’s the key difference your thinking process

[00:12:26] should go beyond the minimum you don’t have to spend the time to actually write the code

[00:12:33] it may even take 30 seconds or five minutes of your time after a significant feature to think

[00:12:40] what would i do next what is a way that i can improve this code what is a way that this code

[00:12:49] is not as good as it could be and the reality is you may come up with a great idea

[00:12:55] that you’re going to use and you’re going to use it to improve your program but you’re not going to

[00:12:56] you simply don’t have the resources to implement now this isn’t a restriction on you necessarily

[00:13:02] and you shouldn’t see it that way instead write down your idea and move on put it in a comment

[00:13:09] maybe put it in some documentation send it as an email send it as a slack message to

[00:13:15] the team members that you’re working with whatever it is that you do to take down this idea but

[00:13:21] don’t simply stop whenever you’ve solved the problem to its minimum degree

[00:13:26] always look to the next step what could i do next so that’s habit number one good developers

[00:13:35] continue thinking beyond the minimum requirement habit number two learning developers learn the why

[00:13:44] behind best practices that they adopt it’s very easy as a developer to take on best practices

[00:13:52] because someone told us to take them on and this is actually an okay thing because if you’re not

[00:13:56] we can actually take on a best practice we can use a best practice that someone else has researched

[00:14:02] and that shows over and over and over again to be a good idea even though we may not necessarily

[00:14:09] understand exactly why we’re doing it to begin with still practicing those best practices often

[00:14:16] yields a better result than if we didn’t practice those best practices at all however a learning

[00:14:23] developer seeks to understand the principle of best practices and how they work and how they

[00:14:26] can help you learn those best practices you can learn about the principles of those best practices

[00:14:28] the underlying reasons why that is a best practice the reality is those principles derive best

[00:14:38] practices much deeper and with much more context and they allow you to practice best practices

[00:14:47] more practically they allow you to avoid the dogma of following blindly and instead

[00:14:54] applying those

[00:14:56] principles rather than relying on formulaic pattern this allows you to take best practices

[00:15:03] and cross them into other areas of your work cross your best practice from one language for

[00:15:11] example into another language or one kind of paradigm into a different paradigm lastly a

[00:15:18] learning developer is curious curiosity is kind of difficult to explain as a habit

[00:15:26] but it is a habit because curiosity very often takes intentionality it takes developing a sense

[00:15:36] of awareness and wonder and appreciation for for example the movement in the industry

[00:15:42] right and so we’re not limiting curiosity only to programming languages although that is a key

[00:15:49] factor that you should be curious about what’s going on in the industry you should be developing

[00:15:54] curiosity about what’s going on in the industry you should be developing curiosity about what’s going on in the industry you should be developing curiosity about

[00:15:56] better ways to uh achieve a particular problem for example you may develop curiosity about

[00:16:03] mathematics or about an adjacent field to development to software development the key

[00:16:10] here is that your curiosity will drive the inputs your curiosity allows you to find the

[00:16:18] raw materials that you need to develop new thinking to develop new ways of approaching problems

[00:16:26] and truly a learning developer is a growing and changing developer if you’re learning then it’s

[00:16:33] very likely that what you’re doing today will look very different from what you do as soon as

[00:16:40] tomorrow but certainly as soon as next year finding the parts that won’t change is of key

[00:16:48] importance understanding those principles that we talked about in habit number two but also

[00:16:54] understanding that curiosity is about becoming a part of the process and that curiosity is about

[00:16:56] becoming somewhat of a wanderer to become interested enough in a subject to learn more

[00:17:03] about it regardless of the means that you’re learning more by your curiosity will drive that

[00:17:11] motivation to increase your schema to add knowledge to your brain that is truly what

[00:17:20] we’re talking about when we discuss learning and curiosity is kind of the fuel that you need

[00:17:26] in order to learn thank you so much for listening to today’s episode of developer t i hope this is

[00:17:31] inspiring for those of you who want to become learning developers but you feel like you don’t

[00:17:38] really know how to get there hopefully these three habits can start you down that path thank you so

[00:17:44] much for listening to today’s episode thank you again to sky silk for sponsoring today’s episode

[00:17:48] they’re changing the way cloud computing works and you can get started with their free beta today

[00:17:54] head over to skysilk.com

[00:17:56] sign up for a beta account and by the way if you use the code t time in your account settings

[00:18:01] whenever they launch their platform you’re going to get ten dollars worth of sky points

[00:18:06] in your sky silk account go and check it out skysilk.com thank you so much for listening to

[00:18:12] today’s episode by the way if you don’t want to miss out on future episodes and this is going to

[00:18:18] happen if you don’t subscribe you’re almost certainly going to miss out because we we send

[00:18:23] out three of these episodes per week so i highly recommend that you subscribe to our channel and

[00:18:26] you subscribe in whatever podcasting app you use now the most common reason that people don’t

[00:18:31] subscribe is because they don’t want their podcasting app to automatically download all

[00:18:36] of these episodes again it’s a lot of episodes we do three a week almost every good podcasting

[00:18:42] app out there like for example breaker and overcast and pocket casts they allow you to

[00:18:47] change those settings to limit the amount that your podcast app will download so if that’s a

[00:18:53] concern or a reason that you haven’t subscribed in the past

[00:18:56] there are ways to fix that problem not only for this podcast but for all of the other awesome

[00:19:00] podcasts that hopefully you are listening to as well speaking of other awesome podcasts i encourage

[00:19:06] you to go and check out spec.fm if you’re not aware developer t is a part of the spec family

[00:19:12] of podcasts and other content that you can find for designers and developers we’re dedicated to

[00:19:18] helping designers and developers level up in their careers you can go and find other awesome

[00:19:23] podcasts to subscribe to on spec

[00:19:26] for example design details tools day does not compute and a handful of others so while you’re

[00:19:33] subscribing to developer t i encourage you to go and subscribe to some of those other shows that

[00:19:37] might interest you so you don’t miss out on those shows either thank you so much for listening and

[00:19:42] until next time enjoy your tea