A Good Coder is a Lazy Coder?
You may well see this argument played out in software development labs across the land. You may even see it played out in interview rooms as candidates for software engineering jobs are considered.
“People are saying that lazy coders are good coders.
While that is true, that also isn’t true. It depends on what you mean by lazy.”
The Meaning Of Words
The Secret Developer is unleashing their inbuilt Alice in Wonderland into this argument. Consider the following discussion between Humpty Dumpty and Alice:
“But ‘glory’ doesn’t mean ‘a nice knock-down argument’,” Alice objected.
“When I use a word,” Humpty Dumpty said, in rather a scornful tone, “it means just what I choose it to mean- neither more nor less.”
It’s the same with lazy. Lazy might mean unwillingness to work, in which case lazy developers are typically unable to produce great code. Oftentimes when judging developers we think of lazy coders as efficient coders, who of course are able to create great code. The Secret Developer is going to explain how they’ve worked with some lazy coders and what it means to them.
“I’ll tell you about a couple of lazy developers, and you can have a think about whether these are the type of coders who are both lazy and good.”
Lazy = Sleepy
The Secret Developer worked in a small company in Asia a few years ago. After a few months of working the company took on a new Java developer, who The Secret Developer christened with the name “Sleepy”
“On their first day at working their new job, Sleepy slept in.
They’d be working on their second job at home as well as in the office oftentimes working late into the night.
I think they’d sleep in every week or so, or at least turn up to work with really red eyes each week. I’m not bothered about that (you look as you want, as far as The Secret Developer is concerned) but their productivity really suffered.
Sleepy was definitely ‘lazy’. Sure, including their own work they did push a great deal of code but you’d frequently be blocked because they were exhausted, prioritized their own work or just didn’t get on it fast enough.”
Your call: Lazy or not?
Lazy = Demotivated
The Secret Developer more recently worked with a tech lead who gave a startling revelation.
“My boss shared with me that they struggled to get anything done without a deadline. That’s kind of problematic when you’re supposed to look up to someone within the business.
Anyway, their work was of good quality, but they left things right to the end of sprints and then would have to work long hours to get things done. ”
Your call: Lazy or not?
Lazy = Distracted
The Secret Developer got on well with this developer. They didn’t always get as much work done as they might have been able to because of their situation.
“I’ve seen this developer on calls with his infant child (even feeding them) and come 5 pm they’re gone and logged off (our working time was until 6 pm).
If you asked for some improvement in a code review (after 16:30) typically you’d get the response ‘We’ll look at this one tomorrow’.
Their code is oftentimes had signs of being rushed, and their code reviews are limited to LGTM.”
Your call: Lazy or not?
Lazy = Limited knowledge
The Secret Developer encountered this Java engineer more recently. Although experienced in terms of years, it seems they have limited working knowledge of their domain.
“Seemingly available throughout our working hours, this developer can actually take up to 2 hours to respond to a simple yes/no request.
They aren’t able to produce a response to a GET request. They seem to have limited knowledge about how to handle parameters in the body of a request. You can get the solution to this problem from ChatGPT in around 30 seconds, depending on how long it takes you to formulate the prompt.
For context, this engineer has 8 years of experience.”
Your call: Lazy or not?
Which of Those Coders Are Lazy, According To The Secret Developer
“There is a simple answer to this.
I think all of those developers are lazy. In terms of which I prefer to work with? I generally like developers who have a temporary reason why they might not be working to their potential. That said, I think all of the developers above are lazy and that laziness is unconnected to whether they are good coders or not.”
Loosely coupled laziness, and what we should look for
“I don’t believe there is a relationship between the output of a software developer and whether they are ‘lazy’ or not no matter how you define it. Lazy might even be defined as blindly taking other’s advice or lazily working from home. In any case, laziness isn’t good.
I don’t even think that this trope that laziness leads to good code is helpful for software developers. We should be looking for efficiency, good code and someone good to work with. We shouldn’t attach those qualities to the word lazy as it is misleading and pointless.
Other things developers mislabel as lazy? Well, here you go:
- Look for existing patterns and implement them instead of reinventing the wheel
- Leverage third-party libraries where appropriate
- Ask for help
The list can go on and on. But these are nothing to do with the word lazy, right?”
Conclusion
The Secret Developer again thinks that they aren’t lazy, while they are writing blog posts and not even coding. No surprise here, then.