« All Episodes

Useful Laziness

Published 7/6/2015

In today's episode I talk about the positive and negative effects of laziness, and the overlap between simplicity and complexity, especially in your code.

Don't forget to vote for Developer Tea for podcast of the year in the 16th annual Net Awards - Voting ends July 13th!

Today's episode is brought to you by: OneMonth

Head over to OneMonth.com/developertea to get started learning Ruby on Rails in just...one month, and receive a limited-time 25% discount!

Until next time,

Enjoy your tea!

Transcript (Generated by OpenAI Whisper)
Hey everyone and welcome to Developer Tea. My name is Jonathan Cutrell and today I'm going to be talking about useful laziness. Have you ever heard that hackers are lazy? Now, it sounds derogatory. It sounds negative because laziness typically isn't rewarded especially culturally, but there's something good about lazy. And I guess the better way of saying it is, there's something good that can come from laziness. What is that? Well, it is the idea that you want to do less work to get the same result. Fundamentally, let's think about that for a second. Less work to get the same result. Now, if you have good work ethic and you adopt this positive side of laziness, that is, I want to do something less and get the same thing out of it. Well, then you can simply become more productive. You don't have to adopt all the bad sides of laziness. Ultimately, this is kind of the mindset of the hacker. Take as many shortcuts as possible and get to the goal as fast as possible. There can, however, be negative effects to shortcuts. Of course, if you are taking a shortcut like reading the cliff notes when you're trying to study something, then you're not going to know something as fully as if you were to read the whole version. The idea of learning something the hard way has positive connotations for your long-term retention of whatever it is that you're learning. The same can be said about coding. When you take coding shortcuts, sometimes the quality of your code suffers because you're just trying to get to the result rather than creating a sustainable solution. We're going to take a quick sponsor break and then I'm going to come back and talk about how to reframe the concept of laziness through the lens of simplicity. What if you could learn to build anything in one month? Well, with one month.com, you can. Just ask any one of the 20,000 students who have learned to code on one month.com by building real websites and applications, complete with payment systems, security solutions, and full stack deployment. You can start without any prior experience in just 15 minutes a day for 30 days all online. That's because one month hyperfocuses on applied techniques that you use immediately in the apps you are building as part of the courses. One month's courses are the easiest way to learn new tech skills, including Ruby on Rails, Python, content marketing, growth hacking, and more. The best part is, if you get stuck, there's always someone there to help you out while you learn. Yes, that's a real person, not an automated computer. So enroll now at onemonth.com, front slash Developer Tea, and get 25% off your first month. Normally access to all courses cost $99 and access to one course usually costs $49, but with the special URL, you get full access for just $74 or one course for $37. It's less than $3 a day, or if you do a single course, it's just over $1 a day. Enroll now for 25% off your first month at onemonth.com, front slash Developer Tea. We've been talking about laziness and the positive and negative effects that the ideas of laziness can have on your mindset. Typically, laziness can be good because it teaches us to get more out of less input to achieve something out of a minimal input. Now this concept is not new to the programming world, and it's also not new to the business world. We're always trying to find shortcuts to our desired outcome, to our desired destinations. I'd like to share with you a slightly different way of looking at the concept of laziness or the concept of minimal input. The more input that you have into a program, in other words, the more code you write for a given program, the higher the complexity of that program grows, typically speaking. The more code you write, the more likely you will have bugs both now and later in that code. The concept of simplicity rather than laziness is useful here because it teaches us that the best code that we can write is no code at all. In fact, a good programmer knows that a programming session where they walk away with fewer lines of code than they started with is usually more successful than one where they walk away with exponentially more than they started with. So we can also think of the code that we do write in the same terms. The best code that we can write is no code at all, but the second best code that we can write is code that prevents us from writing more code in the future. Perhaps a more accurate way of understanding this is not in terms of lines of code, but rather in terms of complexity of code. Consider whether the code you write today is making the code you will write tomorrow more or less complex. If you can constantly be looking for the route that provides for the least complexity, you will reap benefits immediately and in the long term from this idea of simplicity and perhaps from the positive aspects of laziness by focusing on simplicity. You enable yourself to put in the least amount of effort and see the maximum return from that effort. Make it a practice every day to think about ways that you can avoid adding complexity, avoid adding code that is unnecessary to a system. And when you must add code to a system, ensure that the code that you are adding today makes the code you add tomorrow less complex. Thanks so much for listening to this episode of Developer Tea. Developer Tea is in the running for the 16th annual net awards. I'd be so grateful if you would vote for me by going to Bitly that's bitly.ly slash vote T that's all lowercase V O T E T E A that's bitly slash vote T. Thank you so much for listening to today's episode of Developer Tea and until next time, enjoy your tea.