Ambrosian Scripture

Real-world answers to real-world problems.

If You're Lazy, Go Flip Burgers

I was struck recently (again) by the amazing laziness of some developers in our industry. 

The way I see it, there're good laziness and bad laziness.  Good laziness is that laziness that motivates us to seek the most efficient and best way of doing something, both for now and for the long term.  This sort of laziness requires intelligence, planning, and a solid work ethic.  It says, for instance, that once I'm done with this application, I never want to think about it again unless I want to add features, and in that case, I want it to be as easy and painless as possible. 

In other words, it is long-term laziness.  It is laziness that motivates me to learn as much as I can about what I do; it is laziness that makes me take those extra steps to plan, design, and write solid, efficient code--so that the total amount of work I (or those who work with or after me) have to do is oodles less than it would be otherwise.  And, consequently, it is laziness that saves my company a wad of cash and makes them look better all around.

There is another sort of laziness that I have encountered far more often, unfortunately.  This is the sort of laziness that requires no intelligence, little or no planning, and a what's-the-least-amount-of-effort-I-can-put-into-this-now attitude.  This is the kind of laziness that doesn't want to do any technical specifications but just wants to start coding.  This is the kind that prefers to copy and paste code instead of refactoring it.  This is the kind that doesn't spend any time learning or working any more than is necessary to get a 'working' product.  This is the kind of laziness that costs companies millions (if not billions) every year.

In my years of working in the software development industry, I think back and can think of only a handful of folks that are long-term lazy.  Most just do the minimum it takes to get by and get paid and turn around and demand the same compensation that the long-term lazy want (and/or get).  After all, we all do the same job, right?  I would say no.  There's a lot more to being a software developer than getting a grasp on a language and forking out software the 'works' occassionally. 

In a previous post, I talked about working smart instead of working hard.  These differing forms of laziness apply directly to that concept.  Those who are short-term lazy are, much more often than not, the ones who end up having to work a lot more (and/or forcing their co-workers to work a lot more).  On the other hand, you can't always spot them by this trait because they can also be the ones who come in at 9a and leave a 4p and let their co-workers sweep up after them, forcing them to end up working smart and hard.

And really, that's what leaves me writing this.  If you don't care about your job and just do the minimum to get by, go flip burgers.  I'm not saying that you can't or shouldn't be a smart-worker and flip burgers.  In fact, I'm sure I could scour the burger joints, facilities services, and other less prestigious lines of work to find many smart-workers, and I wish I could--Lord knows they deserve a better-compensated, more respected job than a lot of the slobs I've worked with.  What I am saying is that these short-term lazy types would have a lot less impact on the rest of us if they were constrained to flipping burgers; heck, our whole economy would likely be better for it.

Posted: Feb 04 2004, 02:13 PM by Ambrose | with 8 comment(s)
Filed under:

Comments

Jeff Julian said:

Amen.
# February 4, 2004 3:37 PM

Scott said:

I either resent this or I'm flattered?
# February 4, 2004 4:08 PM

J. Ambrose Little said:

Scott, you'll have to figure that out for yourself. Depends on what kind of lazy you are. :)
# February 4, 2004 4:20 PM

Jason Salas said:

Great article...bookmark-worthy for sure. I've held that my own "laziness" has been the positive type, that makes me work my butt off so I won't have to deal with manual processing or having to repeatedly explain something to people.

Jas
# February 4, 2004 11:03 PM

John said:

I'm writing to express my displeasure with your headline. I invite you to visit me at the pizzaria and tell me how lazy you can be there. I would like to relay, too, that my career in high tech has afforded more opportunities to slack than any food prep job. Every day I am thinking about the lazy blowhards in high tech. Sometimes I deliver your pizza. Usually geeks tip. But I can't help but see the privelege and occasional smarm in their eyes. Perhaps the smart ones realize that they don't have to think about faraway India to know that someone is gunning for their ergo chair. Call yourself lazy and try to hold my job. Just try it.

I've heard it said "all developers are lazy", and it's a sensible concept when taken correctly: What can gain me the biggest bang for my buck? In some applications, it's a quick (but well-documented) hack. In others, it's a long re-write. The line is rarely clear. Coming home tired from my job, I'm compelled now to hack through my code as fast as possible, for precisely the features I need, and no more. I don't have time for more.

This morning began with 18 pizzas coming off two racks at once, already late. I threw them into boxes, slicing hard and fast, without time to match the labels on the boxes with the toppings on the pies. Later the customer would complain. But it was a reasonable corner to cut. The order would have been late otherwise. Don't make 50 hungry people wait.

Two days ago I delivered to a software outfit needing sub-contracting work. So who knows how long I'll prepare and deliver pizzas. But already I've learned invaluable lessons, and offer you this tip, well-known to despots and kings: Always maintain a good relationship with the people who prepare your food.
# February 14, 2004 9:53 AM

J. Ambrose Little said:

Hi John, I guess you missed the last paragraph (if not the whole point). I hope you can reach a point where you no longer feel that you're underprivileged.

Cordially,

Ambrose
# February 14, 2004 10:48 AM

John said:

I got your point. Your last paragraph is wholly unaware of the character of my work. No person wants their labors maligned. I wish you hadn't said I somehow missed your whole point, because that suggests you missed mine. So how can I stay quiet?

I work with a 9-year tank gunner from Iraqi Army who spent three years confined to a sand-blown U.S. Army emigrant camp on the Saudi penninsula praying all day for his dream to be free. He is the one who made those 18 pizzas in 15 minutes, and I tipped him $5 from the $20 I got. You think you'd have to "scour" to find men like him? Who do you think keeps each of these places solvent?

The modern delivery pizzaria is a marvel of information technology, and the owner comes down like Damocles' sword on the lazy or stupid. The machines are always watching, these auto-accountants always tabulating. I used to think of software as liberating, too, and certainly we see an increase in wealth creation. But the job profile has had to change. Fewer, smarter people do more, more complex work. This has brought a "jobless recovery", with skilled labor underutilized (engineers at 6+%), not to speak of the nominally lazy or stupid. Those groups--unemployed, withering, and angry--stand in line by me at the food bank. America has no mercy for them. Not even when globalism and I.T. raise specialization demands and rising worker productivity fuels "expansion" but includes no new jobs.

I suggest you get management to lay the lazy coders off. Re-org them into oblivion. I need them to be radicalized, so we can find much less classism in the software profession. Hard work, yes, but the classism has to stop. The Indians will do it. Poverty teaches more than any blog rant could.

People say my words can be sharp, but these are my views and I send with warm regards,

John
# February 14, 2004 3:20 PM

J. Ambrose Little said:

John, it seems we are, more or less, in agreement. Thanks for sharing.

--Ambrose
# February 15, 2004 4:08 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)