Useful Laziness


Summary

In this episode of Developer Tea, host Jonathan Cottrell reframes the concept of laziness as a potentially positive mindset for developers. He begins by challenging the negative connotations of laziness, suggesting that the desire to “do less work to get the same result” is fundamental to a hacker’s approach and can lead to increased productivity if paired with a good work ethic.

Cottrell acknowledges the potential downsides of shortcuts, such as reduced depth of learning or lower code quality when the goal is merely to reach a result quickly rather than create a sustainable solution. He emphasizes that learning something “the hard way” often leads to better long-term retention, and coding shortcuts can sacrifice quality for speed.

The core of the episode proposes replacing the lens of “laziness” with the principle of “simplicity.” Cottrell argues that more code typically increases complexity and the likelihood of bugs. Therefore, the best code is no code at all, and a successful programming session might be one where you end with fewer lines than you started. He extends this idea, stating that the second-best code is code that prevents you from having to write more code in the future.

Finally, Cottrell offers practical advice: developers should make it a daily practice to avoid adding unnecessary complexity and code. When code must be added, the key consideration should be whether it makes future code less complex. By focusing on simplicity, developers can maximize their return on effort, harnessing the positive aspects of a “lazy” mindset to build better, more maintainable systems.


Recommendations

Tools

  • OneMonth.com — A sponsor of the episode, OneMonth.com is promoted as a platform where you can learn to build anything in one month. Their courses focus on applied techniques for building real websites and apps, covering skills like Ruby on Rails, Python, content marketing, and growth hacking, with support from real people.

Topic Timeline

  • 00:00:14Introducing the concept of useful laziness — Jonathan introduces the episode’s theme by asking if listeners have heard that hackers are lazy. He acknowledges that laziness typically has negative cultural connotations but suggests there is something positive that can come from it: the desire to do less work to achieve the same result. This mindset, when combined with good work ethic, can lead to greater productivity.
  • 00:01:16The potential negative effects of shortcuts — The discussion turns to the downsides of taking shortcuts. Using the example of reading Cliff Notes instead of the full text, Jonathan notes that shortcuts can lead to incomplete understanding. He relates this to coding, where shortcuts aimed solely at a quick result can compromise code quality and sustainability, unlike learning or building something thoroughly.
  • 00:03:27Reframing laziness through the lens of simplicity — After a sponsor break, Jonathan returns to propose a new framework. He connects the positive aspect of laziness—getting more from less input—to the universal search for shortcuts. He then pivots to argue that in programming, more code usually means more complexity and more bugs. Therefore, the best code is no code, and simplicity should be the guiding principle.
  • 00:04:49Writing code that prevents future complexity — Jonathan elaborates on the principle of simplicity. He states that while the best code is no code, the second-best code is code that prevents you from writing more code later. He advises developers to think not in lines of code, but in complexity: will the code you write today make the code you write tomorrow more or less complex? Constantly choosing the path of least complexity yields immediate and long-term benefits.
  • 00:05:48Practical advice for daily practice — The episode concludes with actionable advice. Jonathan encourages developers to make it a daily habit to think about ways to avoid adding unnecessary complexity and code to a system. When adding code is unavoidable, the goal should be to ensure it reduces the complexity of future code. This practice allows you to put in minimal effort for maximum return, embodying the useful aspects of laziness.

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2015-07-06T07:30:00Z
  • Duration: 00:06:38

References


Podcast Info


Transcript

[00:00:00] Hey everyone and welcome to Developer Team.

[00:00:04] My name is Jonathan Cottrell and today I’m going to be talking about useful laziness.

[00:00:14] Have you ever heard that hackers are lazy?

[00:00:19] Now it sounds derogatory.

[00:00:21] It sounds negative because laziness typically isn’t rewarded, especially culturally.

[00:00:26] But there’s something good about lazy and I guess the better way of saying it is there’s

[00:00:32] something good that can come from laziness.

[00:00:36] And what is that?

[00:00:37] Well, it is the idea that you want to do less work to get the same result.

[00:00:44] Fundamentally, let’s think about that for a second.

[00:00:48] Less work to get the same result.

[00:00:50] Now if you have good work ethic and you adopt this positive side of laziness, that is, I

[00:00:56] want to do something less and get the same thing out of it, well then you can simply

[00:01:01] become more productive.

[00:01:02] You don’t have to adopt all the bad sides of laziness.

[00:01:06] Ultimately, this is kind of the mindset of the hacker.

[00:01:10] Take as many shortcuts as possible and get to the goal as fast as possible.

[00:01:16] There can, however, be negative effects to shortcuts.

[00:01:19] Of course, if you are taking a shortcut like reading the Cliff Notes when you’re trying

[00:01:24] to study something, then you’re not going to know something as fully as if you were

[00:01:28] to read the whole version.

[00:01:31] The idea of learning something the hard way has positive connotations for your long-term

[00:01:37] retention of whatever it is that you’re learning.

[00:01:40] The same can be said about coding.

[00:01:42] When you take coding shortcuts, sometimes the quality of your code suffers because you’re

[00:01:48] just trying to get to the result rather than creating a sustainable solution.

[00:01:54] We’re going to take a quick sponsor break and then I’m going to come back and talk about

[00:01:57] how to reframe the concept of laziness through the lens of simplicity.

[00:02:08] What if you could learn to build anything in one month?

[00:02:10] Well, with onemonth.com you can.

[00:02:13] Just ask any one of the 20,000 students who have learned to code on onemonth.com by building

[00:02:17] real websites and applications complete with payment systems, security solutions, and full

[00:02:23] stack deployment.

[00:02:24] You can start without any prior experience in just 15 minutes a day for 30 days all online.

[00:02:30] That’s because onemonth hyper focuses on applied techniques that you use immediately in the

[00:02:35] apps you are building as part of the courses.

[00:02:37] Onemonth’s courses are the easiest way to learn new tech skills including Ruby on Rails,

[00:02:41] Python, content marketing, growth hacking, and more.

[00:02:45] The best part is, if you get stuck, there’s always someone there to help you out while

[00:02:49] you learn.

[00:02:50] Yes, that’s a real person, not an automated computer, so enroll now at onemonth.com front

[00:02:55] slash developer T and get 25% off your first month.

[00:02:58] Now, normally access to all courses cost 49,

[00:03:05] but with the special URL you get full access for just 37.

[00:03:11] That’s less than 1 a day.

[00:03:17] Enroll now for 25% off your first month at onemonth.com front slash developer T.

[00:03:27] We’ve been talking about laziness and the positive and negative effects that the ideas

[00:03:32] of laziness can have on your mindset.

[00:03:35] Typically, laziness can be good because it teaches us to get more out of less input to

[00:03:42] achieve something out of a minimal input.

[00:03:45] This concept is not new to the programming world and it’s also not new to the business

[00:03:49] world.

[00:03:50] We’re always trying to find shortcuts to our desired outcome, to our desired destinations.

[00:03:56] I’d like to share with you a slightly different way of looking at the concept of laziness

[00:04:02] or the concept of minimal input.

[00:04:05] The more input that you have into a program, in other words, the more code you write for

[00:04:11] a given program, the higher the complexity of that program grows, typically speaking.

[00:04:18] The more code you write, the more likely you will have bugs both now and later in that

[00:04:23] code.

[00:04:24] So the concept of simplicity rather than laziness is useful here because it teaches us that

[00:04:30] the best code that we can write is no code at all.

[00:04:34] In fact, a good programmer knows that a programming session where they walk away with fewer lines

[00:04:40] of code than they started with is usually more successful than one where they walk away

[00:04:46] with exponentially more than they started with.

[00:04:49] So we can also think of the code that we do write in the same terms.

[00:04:54] The best code that we can write is no code at all, but the second best code that we can

[00:04:59] write is code that prevents us from writing more code in the future.

[00:05:04] Perhaps a more accurate way of understanding this is not in terms of lines of code, but

[00:05:10] rather in terms of complexity of code.

[00:05:14] Consider whether the code you write today is making the code you will write tomorrow

[00:05:18] more or less complex.

[00:05:21] If you can constantly be looking for the route that provides for the least complexity, you

[00:05:27] will reap benefits immediately and in the long term from this idea of simplicity and

[00:05:34] perhaps from the positive aspects of laziness.

[00:05:38] By focusing on simplicity, you enable yourself to put in the least amount of effort and see

[00:05:45] the maximum return from that effort.

[00:05:48] Make it a practice every day to think about ways that you can avoid adding complexity,

[00:05:55] avoid adding code that is unnecessary to a system.

[00:05:59] And when you must add code to a system, ensure that the code that you are adding today makes

[00:06:04] the code you add tomorrow less complex.

[00:06:08] Thanks so much for listening to this episode of Developer Tea.

[00:06:12] Developer Tea is in the running for the 16th Annual Net Awards.

[00:06:15] I’d be so grateful if you would vote for me by going to bit.ly, that’s B-I-T dot L-Y

[00:06:22] That’s all lowercase V-O-T-E-T-E-A.

[00:06:26] That’s bit.ly slash vote tea.

[00:06:29] Thank you so much for listening to today’s episode of Developer Tea and until next time,

[00:06:34] enjoy your tea.