Why Coders Exhibit Laziness in Unproductive Ways – A Closer Look
Written on
Chapter 1: Understanding Laziness in Coding
The most skilled programmers I've encountered often display a certain form of laziness. They tend to avoid unnecessary tasks and focus on completing the essentials. This type of laziness can actually be beneficial for coders. However, I’ve observed a troubling trend: many developers exhibit a less productive kind of laziness.
To grasp this concept better, let’s delve into the dichotomy of laziness and its implications in the tech realm.
Section 1.1: The Two Faces of Laziness
Laziness isn't inherently negative; in fact, it can be a constructive trait. However, there’s a distinction between productive and counterproductive laziness.
Consider two developers I recently collaborated with, whom I’ll refer to as Trevor and Chirag. Although they worked with different technologies, their contrasting approaches to coding illustrate this concept well.
Subsection 1.1.1: The Profiles of Trevor and Chirag
Trevor is a front-end developer who balances his work life with family commitments, often logging off by 5 PM. He tends to defer improvements, stating, “Let’s tackle this tomorrow.” His code is frequently succinct, with code reviews that simply note “Looks Good To Me.”
Initially, I perceived Trevor as lazy.
On the other hand, we have Chirag, a middleware engineer working on our front-end systems. While he’s present throughout the workday, it can take him up to two hours to respond to straightforward inquiries. For example, when the front end needed to store static strings in the backend for easy updates, he struggled to provide a solution, despite having eight years of experience.
I’ve also come to view Chirag as lazy.
Section 1.2: The Role of Motivation
The performance disparity between Trevor and Chirag can largely be attributed to their differing motivations. Trevor is driven by a desire to learn and aims to retire early, while Chirag appears primarily focused on his salary.
This subtle difference in motivation influences their output. Trevor is more likely to take on additional tasks, whereas Chirag may not.
Chapter 2: Identifying the Challenges in Development
The first video titled "M144: Programmers are lazy, either in a good or a bad way, but they are" delves into the dual nature of coder laziness, discussing how it can manifest positively or negatively in the tech industry.
The second video, "Feeling Too Lazy To Code?" explores the mental barriers that can prevent developers from fully engaging with their work, offering insights into overcoming these challenges.
Section 2.1: Misguided Motivations in Tech Careers
I frequently hear individuals express a desire to enter tech solely for the lucrative salaries. A new mother contemplating a career shift recently stated her intention to become a programmer for the benefits of remote work and high pay. This approach lacks a true understanding of what programming entails.
Entering a field without knowledge, purely for financial gain, can lead to frustration. Programming can be challenging, especially for beginners, and there are other well-paying jobs that might be easier to pursue, such as accounting.
Section 2.2: Embracing Productive Laziness
Many developers fail to recognize the value of writing efficient and elegant code. As Robert C. Martin suggests, true productivity involves crafting simple, maintainable solutions rather than merely completing tasks with minimal effort, resulting in convoluted and hard-to-read code.
The effective coder's work often conceals the years of expertise required to produce streamlined, maintainable code, which is the kind of laziness we should encourage in our development teams.
The Core Problem
The tech industry often prioritizes the wrong metrics: - Years of experience over attitude - Speed of delivery over maintainability - Complexity over simplicity
The Solution
If we’re to correct these misalignments in software development, we should focus on: - Attitude - Simplicity - Maintainability - Exceptional coding skills
Conclusion: The Value of Being Productively Lazy
Embrace laziness, but ensure it’s the constructive kind.
About The Author
The Secret Developer, a professional software developer, shares insights on Twitter @TheSDeveloper and contributes regularly to Medium.com.
Read every story from The Secret Developer and thousands of other writers on Medium. Your membership fee supports independent writing.