Google Blogoscoped

Forum

Why Good Programmers Are Lazy and Dumb  (View post)

M M Norman [PersonRank 0]

Thursday, August 25, 2005
18 years ago

Well, that explains why I solved so many programming problems being somewhat drunk...

Michael Krelin [PersonRank 1]

18 years ago #

I take it the reason for posting this information is to do a centipedality to all good programmers who read it? Shame on you! ;-)

Akshat [PersonRank 0]

18 years ago #

How about looking at http://search.yahoo.com?

Philipp Lenssen [PersonRank 10]

18 years ago #

Only smart people know that URL, Akshat :)

Hans [PersonRank 0]

18 years ago #

My name is Hans, and I'm a lazy programmer.

Sean Lavery [PersonRank 0]

18 years ago #

Most programing comes by not even knowing what you are doing, putting a bunch of code together, getting angry at it, attempt to solve it, either solve it, or get even more angry and play games, then come back and solve it, then add annother function and then discover that they conflict and then rewrite them both.

Eddy [PersonRank 0]

18 years ago #

Is there a point to this story?

Werner Nieke [PersonRank 1]

18 years ago #

Good Morning, Philipp,

I go along with most of your article, in particular with "No; simply because the problem is so stupid, only stupidity can tackle it."

However, bear in mind Dilbert saying: "Stupidity is like nuclear power: It can be used for good – or evil. And you sure don't want to get any on you" ;-)

Have a nice day,
Werner

P.S.: And on second thought: We might be avoiding stupid questions, because each and everyone of us wants to be perceived as being _smart_, because we as a collective (which all man-made societies are in a way) tend to equalize _smart_ with _strong_ and reversely, _stupid_ with _weak_, don't we?
P.P.S.: Elaborating on Michael's assumption: You _are_ saying that you'd rather be stupid that smart? ;-)

Kimspitstop.dk [PersonRank 7]

18 years ago #

Philipp,

I believe you have a point!

9 out of 10 times its peobles
personal settings and not bad coding
that makes a website look different
on their screen.

Regard's
KAH

Muhammad hammad [PersonRank 0]

18 years ago #

Hi guys, I m hammmad and i think a programer cannot work fastely coz of programing is basically a trouble shooting process which is a slow and study process.

lazy programmer [PersonRank 0]

18 years ago #

ha ha!
me proud bcoz... me lazy and dumb... :))

Michael Krelin [PersonRank 1]

18 years ago #

Muhammad, programming is a troublemaking process, troubleshooting is called debugging.

On a second thought I think the article has nearly nothing to do with programming. All the valid points equally apply to other areas.

James Alexander [PersonRank 0]

18 years ago #

This was the dumbest thing I've ever read. I and everyone else is now dumber having read that.

Sam Makin [PersonRank 0]

18 years ago #

i r lazy

Incognito [PersonRank 1]

18 years ago #

Great story. I'm in violent agreement of it. The more you think you know the easier it becomes to truly shoot yourself in the foot. If you want to be a good programmer you always have to have a degree of modesty, and entertain the possibility that you might be wrong in spite of your X years of experience. You have to think about how you are thinking about problems... You have to be meta-thinking :), if that's even legit English....

caffeine_nation [PersonRank 0]

18 years ago #

I disagree: http://blog.mattinteractive.com/2005/08/25/why-the-best-programmers-are-motivated-and-intelligent/

John doson [PersonRank 0]

18 years ago #

Dam good posting.I read some of you're articles and they are really nice.

Dave Child [PersonRank 0]

18 years ago #

A great read, and almost entirely true, too!

japh [PersonRank 0]

18 years ago #

Your (correct I think) brainstorm is also a key mantra of the perl community (at least in perlmonks.org and other exciting, lazy places). Except we don't usually say we're dumb, probably because lazy encompasses a lot. Actually impatience and hubris are also pretty weighty there. Artistry is a nice aspiration too, but mainly the idea is to do as little work as possible. I don't know if dumb is the right word when you mention how you have to act really stupid to take on the dumb, it is more like a venture into the collosally silly don't you think? To each his own. Although if you want to answer really fundamental questions and save the world like maybe Alan Kay you may need to ask questions that may sound dumb, but actually you're a genius, if you're Alan Kay anyway. In the end the really brainy people usually end up becoming elementary school teachers. Maybe they should get paid more? – mattr

The three chief virtues of a programmer are: Laziness, Impatience and Hubris. – Larry Wall (creator of perl)

   "The only dumb question is a question you don't ask." – Paul MacCready.

"Never trust a computer you can't throw out the window" – Steve Wozniak

Anon de Reddit [PersonRank 0]

18 years ago #

Well... considering:

a) states of physical objects tend to the minimal average distributions of parameters for your local definition of "average" average --> lazy

b) finite speed of information dislocation leads most of universe to have for most of the time not the "faintest" about most of about anything --> dumb

perfectly valid points, altho put in unorthogonal fasion ;) kinda circular if you ask me: is information dumb because it's lazy or the other way around...

or it's me thinking too hard how to put infinite hierarchical into relational finite

{a^nb^nc^n for n>0}, it's just with fourth time greater dimentions get kinda fuzzy...

P.S. and /me is hoping it gets thru all-mighty /dev/censor for I'm gonna look it up later in foofle by that name.

Stanislav [PersonRank 0]

18 years ago #

We are so zen!
Hurra!

Programa ramma hammak [PersonRank 0]

18 years ago #

what r programmer?

Centripitle [PersonRank 0]

18 years ago #

After reading that article i starting thinking how i could type so fast with only 10 fingers... then i forgot how to type without looking at the key board, THANKS ALOT!

Mr. Dumb [PersonRank 0]

18 years ago #

Interesting article. I guess in general people avoid asking dumb questions because they don't want to look dumb. But in reality this makes them look even more dumb later on. The same also applies to non-rich people who buy expensive things to look rich but are really poor and in debt. Thanks for the good read!

Adam Howitt [PersonRank 0]

18 years ago #

Great article. I particularly love the part about knowing the shape of the box. I'm a codegen junkie and hate the monotony of certain types of work. I like fresh challenges and making tools fits directly into that category. It's not a challenge ot plug away in the same old way and generally leads to complacency and errors creeping in because of the mythical bugs per line equation. Generating code with a well known format to reduce your typing is fun but can help reduce silly errors like a missing semi-colon or parenthesis.

Ehsan [PersonRank 1]

18 years ago #

so damn cool, detailed and damn damn damn right. have had the same idea for years ;-)

RichardC [PersonRank 0]

18 years ago #

I agree wholeheartedly. Productive laziness and using one's lack of knowledge as a resource is something I've been aware of for a long time now: and lazy programmers often work hard to avoid the drudgery they'd rather escape.

Utter Doul [PersonRank 0]

18 years ago #

You nailed it! After some 13 years in IT, I completely agree with you.

Even today, when I just manage programmers and don't actually do much programming except some SQL scripting for reports, I am always looking for the 'better' (easier) way of doing stuff. I now realize that is because I am lazy. My lazyness and dumbness has resulted in me finding quicker and easier ways to do stuff.

Slightly OT, I am surprised at how many formal programmers (as opposed to great programmers, formal programmers are people who took a class and got a job) don't realize that programming is training yourself to think in a certain way rather than learning syntax.

Jon Åslund [PersonRank 0]

18 years ago #

Not sure, where I belong. I think really hard before I do anything. So, I am not too stupid and just do something wrong without a second thought, on the other hand, I absolutely hate doing things more than once, so I am extremely lazy.

Sometimes it seems it takes forever for me to do something, and when I have finally done something, it is so small that it hardly look like anything, and I have sometimes trouble explaining to others what I have been doing, when I can only present so little result. That tiny piece of code has however lots of thought behind it, and it usually works, and if it doesn't, it is usually very easy to debug, because there is not much code to debug.

Nathan Matthews [PersonRank 0]

18 years ago #

I didn't have enough energy to read the whole thing.

Anonymous [PersonRank 0]

18 years ago #

Well, I partially agree. I don't believe that someone would stop learning because they believe they are smart, unless they are also extremely lazy and they wouldn't believe themselves infallible automatically, that would require arrogance too, which isn't a necessary result.

I think being lazy might help, but common sense could substitute for both laziness and stupidity. Why wouldn't you want to make everything more efficient and helpful? Or wouldn't that be a flavor of laziness?

Neosapience [PersonRank 0]

18 years ago #

I have to completely disagree with this article.

I have an I.Q. of 160 and yet I have no difficulty solving such simple problems.

Perhaps you've heard of Occam's Razor?
http://en.wikipedia.org/wiki/Occam's_Razor

It's not hard for a smart person to think like an idiot. You simply have to understand how people think, which you can do, if you're smart.

I've also found that smart people make far fewer mistakes that stupid ones. This naturally results in far less "problem solving", as you would expect.

Philipp Lenssen [PersonRank 10]

18 years ago #

Neosapience, I'm not certain a high IQ is connected to the ability to understand people, neither do I think it's always easy to think like an idiot if you're not – there's a mindset coming with it that needs to be pampered and trained.

Also see my article on the three phases of enlightment people often go through:
http://blogoscoped.com/archive/2004_09_13_index.html

Philipp Lenssen [PersonRank 10]

18 years ago #

Neosapience, I like the quote from the Occam's Razor article on Wikipedia:

"Simplicity is the ultimate sophistication."
-- Leonardo da Vinci

Paulg admin [PersonRank 0]

18 years ago #

Quote: I've also found that smart people make far fewer mistakes that stupid ones. This naturally results in far less "problem solving", as you w'ould expect.'

Hmm.. less testing going on then? Are all of your users similarly smart?

Personally I found the first posting the most true.
"Well, that explains why I solved so many programming problems being somewhat drunk..."

Lazy programmers try to find tools that write code – is vi the ulitmate lazy-persons tool then?

lazy bastard [PersonRank 0]

18 years ago #

Great read. The thing that gets me is the feeling of guilt for being lazy really hurts my productivity.

eb [PersonRank 0]

18 years ago #

very true...you can only protect the stupid by being lazy and dumb like they are

exitium [PersonRank 0]

18 years ago #

Beatuiful article, definitely redefines "lazy" and "dumb."

Jon [PersonRank 0]

18 years ago #

Nice insightfull stuff :)

I see myself in that article, though I never could have explained it so elegantly :)

Mike [PersonRank 0]

18 years ago #

I really think that this is right, except:
find: dumb
replace with: simple

RealistikMarc [PersonRank 0]

18 years ago #

Several points:

1) Users are not stupid, they are ignorant about certain subjects and don't have a propension to read documentation, they would rather leave it to someone else, and most of the time it works because they can find someone to solve their problem.

Bear in mind that you don't know much about a lot of subjects, and that doesn't make you stupid. It's more a question of what is interesting to you.

2) If communicating clearly is the goal, why would you use a common word like dumb differently from its usual meaning? I think you shouldn't. Especially when there are perfectly adequate words for what you mean.

Smart people do the right thing more often than dumb people (usual meaning). If you don't take into account simple realities like the fact that users are not as savvy as you are (point no.1), you are being _dumb_, not smart. Dumb people are bad programmers period.

3) About "laziness", I think what they really mean is "dread of repetition" which is not the same at all. It implies prefering an approach to another which is more boring even if faster. Often that implies problem solving.

What a really smart programmer would do is a kind of compression of the operations the computer has to do. A compression which take into account that things could change. A semantic compression using the concepts most likely to stay.

Vladimir Mindin [PersonRank 0]

18 years ago #

Thank you for fresh definitions of Lazy and Dumb. I would like the technology not programmers to be more dumb in terms of your definition – it will help.

Steve Leach [PersonRank 0]

18 years ago #

“Does he run Internet Explorer 6?”
“Yes.”

Then the customer is clearly dumb. Furthermore, if the site *REQUIRES* users to run Internet Explorer, then management is dumb if they don't fire all of the developers responsible.

Torsten Nelson [PersonRank 0]

18 years ago #

You may be interested in Dan Berry's papers about the role of ignorance in requirements engineering:

http://se.uwaterloo.ca/~dberry/ignorance.html

Philipp Lenssen [PersonRank 10]

18 years ago #

Steve, I can confirm the site in the hypothetical example would have worked in Firefox as well. :)

Weston [PersonRank 0]

18 years ago #

I don't think you are describing laziness but rather a desire for efficiency in time usage. As I see it, laziness would be not taking the time to completely think out a problem before coding. Planning to avoid time waste would appear to be an attribute of one who is considerate of the future and not directly related to laziness in any way.

There are situations described in the blog that show a smart person failing at some task because of their 'smartness'. I would say that these are actually attributes of arrogance and not intelligence.

It was also said that a stupid person is required to solve a stupid problem. If a correct solution is found, is it ever stupid to find it? If the solution itself is not stupid then why would a smart person be less likely to think of it? For example, the final question asked about the incorrectly working webpage, to me that question seems intelligent as it is trying to find more information about the problem without making assumptions about aspects of the glitch which weren't given. I don't think any amount of 'dumbness' is required to realize that something dumb caused the problem and work at it from there.

guyc [PersonRank 0]

18 years ago #

I agree about the lazy thing. Yyou need to be lazy to want to make something simpler.

Tomislav Bilic [PersonRank 0]

18 years ago #

[put at-character here]Weston: Of course and I belive author agrees with you. He put an attractive article title. When you see the title, you feel like you MUST read the rest.

It the same thing, but with the different words.

Imagine that a title was: "Why Good Programmers Are Time Efficient and Open-minded?". Who would read it? Boring!

lazy boy [PersonRank 0]

18 years ago #

i`m so lazy that i don`t want even start programming something.. does this makes me a good programmer?

Morgan Schweers [PersonRank 0]

18 years ago #

Greetings,
Gah... I've had a similar article percolating in my head for years, and wish I'd written it, as I'd have said it very differently. It extends far beyond programming; Robert Heinlein even wrote about 'the laziest man in the world', who was too lazy to fail... (That was, in fact, the title I believe.) Another RH quote that is applicable, "Progress is made by lazy men looking for easier ways to do things."

The real trick, though, is laziness with focus. If you can focus on the problem well enough to build a solution that lets you be lazy, you've 'won'.

I think the 'dumb' part is a stretch to make a cute title. What you really want to emphasize is the programmer's humbleness before all that could possibly go wrong, and their laziness that makes them loathe dealing with the same thing going wrong the same way a second time.

-- Morgan Schweers, CyberFOX!

Rolf Bjaanes [PersonRank 0]

18 years ago #

Where did you find the story about the centipede? I know I've heard it before. If anyone know please get back to me at rolf(a-t)superimportant dot net

Stewart [PersonRank 0]

18 years ago #

I prefer to think of myself as efficient rather than lazy, why do something you don't need to?

Tjarko [PersonRank 0]

18 years ago #

People that do not understand the sarcasm in this article are in my humble opinion incredibly "smart", the words lazy and dumb shouldn't be taken that literal

I am a 100% sure that Philipp Lenssen himself is neither lazy or dumb, but thinks in that way.. and to be able to do that you have to have.... fill in the dots.

It's sarcams.. nicely poured with a bit of humor. Read between the lines.....

Philipp Lenssen [PersonRank 10]

18 years ago #

Rolf, I don't remember where I first read of the story with the centipede (or millipede). The variant I've heard first might even have been about the centipede trying to put on shoes...

As for some of the criticism, I'd like to emphasize that for both parts, being dumb and being lazy, I've written "this is only half the truth."

Duane Morin [PersonRank 0]

18 years ago #

I've often told my coworkers (both engineering and non) that "A good engineer is constantly looking for ways to write himself out of the loop." If marketing has to come to me 3 times a week to do something, then the lazy thing for me to do is write a tool for them to do it themselves. Ironically to write a good tool usually ends up taking more than short term effort since one of the reasons you were doing it yourself in the first place is probably because the task is too complex for the end user. Thus you don't just write up a tool that you could use, you have to write up a tool that the user can handle without shooting herself in the foot.

Ages ago I read something in "Player Piano", by Kurt Vonnegut (his view of the future written about 50 years ago in which everything has been perfectly engineered and there's really nothing left for anybody to *do* anymore). In it, a visiting dignitary from a foreign country has gone to visit a normal couple in their home, and sees all the "time saving" devices. He asks what people do with all this time that they've saved. Husband turns to wife, shrugs, and says, "Watch alot of tv, I guess."

Christopher [PersonRank 0]

18 years ago #

I always believed that good programmers are lazy programmers. They work really hard so they can do less.

McGurk [PersonRank 0]

18 years ago #

Fucken awesome. People who criticize this post are not lazy but are dumb, and therefore are shite programmers who need to take a nap.

Eelco Hillenius [PersonRank 0]

18 years ago #

Fun read. But it's crap. Lazy programmers don't test their code. They don't write documentation. They don't want to think further than their actual current problem. And they certainly don't want to reconsider their approaches once they get something more or less working.

According to your definitions, 80% of the programmers I see are great, while the other 20% suck. It's the other around of course. I think that junior programmers are usually the ones that think they are allready great, and don't need to learn much. Once they mature (and fell in the traps we all falll in at some point in our careers), they start to be better programmers. If they want. If they're not open for that, they weren't good programmers in the first place, and never will be.

Atelbie [PersonRank 0]

18 years ago #

If they knew what they were doing it wouldn't be called a research. Plus yes K.I.S.S. technique sometimes sells a hell of a lot.

Skoink [PersonRank 0]

18 years ago #

Well, when I relax and read it from the "top", this is a fun humurous article that put the "lazy" and "dumb" definition from another perpective.

Being "lazy" = motivation for efficiency and productivity

Being "dumb" = motivation for being smarter

But as Philipp said and emphasized, "this is only half the truth"

the1truecoolguy [PersonRank 0]

18 years ago #

Great article. I couldn't agree more. It was my inspiration for today's entry. The people who are disagreeing obviously missed the boat on this one...keep up the good work! :)

Cheers!

http://the1truecoolguy.blogspot.com

Eelco [PersonRank 0]

18 years ago #

Well... I have to admit the article was too long for my lazy, inpatient butt.

Louis Kessler [PersonRank 1]

18 years ago #

I've always had a related philosophy. Good Programmers make lots of mistakes.

(1) If you are afraid of making mistakes, you'll never attempt anything. (2) If you don't make mistakes, you'll never spend the time finding out why you made them and you won't learn anything. Conclusion: He who makes no mistakes doesn't do anything and knows nothing.

Note: "doesn't do anything" is different than "lazy". "knows nothing" is different than "dumb".

www.lkessler.com/behold/behoblog.shtml

Kerry Creeron [PersonRank 0]

18 years ago #

I vehemently disagree with this article.
First point of contention: "only lazy programmers will want to writeh the kind of tools that might replace them..." You allege that getting more done with these said tools is, in fact, lazy?

Increased productivity is the opposite of laziness.

Point two: "This makes a lazy programmer a good programmer."
Again, you misequate laziness, when what you are in fact talking about is the more productive programmer, who is supposedly 'lazy' getting more done. This is a logical contradiction. The so-called lazy programmers put the effort into developing productive tools, while the truly slothful programmers never invested the mental wherewithal to be productive.

Point three: "...to be a good programmer, he (or she) also must be incredibly unlazy when it comes to learning how to stay lazy..."

One cannot be both lazy and unlazy. This is a direct contradiction.

Your points about programmers who are 'smart', i.e. that they will stop learning and being critical toward their work are speculation. You have no justification for these shots in the dark. Your authoritarian tone in saying "it's best for the programmer to give up early and admit that it's always him and never the compiler..." does not contribute to your argument, and the high-nosed comment about character encoding is alienating.

In the next paragraph you go on to say "...there's a more crucial point why a good programmer must be dumb.... he must keep a fresh mindset and manage to think out of the box... this leads to the mindset of a child..."

You now equate being dumb with something entirely different, out-of-the-box thinking, and you imply that the mindset of a child is dumb, as well. Then you say, "the less you know, the more radical will your approaches be..." This is rampant speculation with no justification. What about hashing algorithms like MD5, SHA-1, deadlock-free algorithms, neural networks, and learning algorithms. People who 'know less' did not develop these algorithms. And by the same token that less is more, one would be advised to hire the 'dumbest' programmer they could find. This is, again, a false notion. In "The Mythical Man Month", and recently in Joel On Software's blog, the point is broached that the best programmers do work in 1/10th of the time of their counterparts. Joel mentions his empirical experience that these people are in his experience, the brightest in their field, and are therefore worth paying more for their genius.

I'm going to gloss over your sample conversation because it is all heresay, and my polemic has run long enough.

Another interesting point to consider: why, if dumb programmers are such an asset, do our programmers increase their productivity as they work at their jobs? From your argument, the more they know, the poorer their approach to the problem should be. This point really bears out your error in reasoning.

Finally, this is a website devoted to Google. Google hires incredible numbers of PhD's, and bright minds from across the globe. There could be no greater counterexample than google's dominance due to having legions of intelligent programmers who develop top-notch software.

This article really gets under my skin, and what makes it worse that 75 percent of the follow-up posts just eat it up. I'm trying not to be to ad hominem or elitist here, but this is really quite a neophytic take on software development.

Philipp Lenssen [PersonRank 10]

18 years ago #

Kerry writes:

> One cannot be both lazy and
> unlazy. This is a direct contradiction.

As for this and your other comments, you need to read between the lines to understand some things are only contradictory on the surface – like this line from a great Eric Burdon song:

"When I think of all the good times that's been wasted/ having good times."

kanika [PersonRank 0]

18 years ago #

ahahahahhahahahahha

Nick [PersonRank 0]

18 years ago #

Kerry,

You need to employ your programming skills in devising a resolution to the obvious bug in your sense of humor.

Tron [PersonRank 0]

18 years ago #

Kerry = nub

Casey [PersonRank 0]

18 years ago #

Assume that 'Users are Stupid' and you can't go far wrong.

Not becasue Users are Stupid per se – but becasue as far as the way computer people think, users just cannot and will never 'get it'

And if you start thinking that way, like normal people, you can't go far wrong.

Darko [PersonRank 0]

18 years ago #

I think that what are you talking about is not layziness but engineering approach. Your code won't be that good if you don't stop for a moment and think about what are you going
write. And of course you will write in such a manner that you
can use it later. Lazy people write code without thinking
about it.
But then again if you think too much, you end up writing
no code :)

I totally agree on the stupidity issue!

Orion [PersonRank 0]

18 years ago #

Guess someone said(we all know who..) :Stay hungry. Stay foolish."

Greg [PersonRank 0]

18 years ago #

Just because Kerry has dismantled his idea, which on the surface appeals to some logical reasoning, doesn't mean he lacks a sense of humor. It means that the attempt of the author to be humorous instead results in an inane post.

Ok, so essentially all Philipp is talking about is a K.I.S.S. doctrine within programming. Sure this works with user-end software since there is adequate predictive power to assume that the user has the IQ of a belt sander.

That is essentially where this post ends. Everything else is contradictory.

"Second (and I will elaborate a bit more on this because I find the concept to be less known than the first) a good programmer must be dumb. Why? Because if he’s smart, and he knows he is smart, he will:

a) stop learning
b) stop being critical towards his own work

Point a) will make it hard for him to try to find new techniques to allow him to work faster."

That's pretty inaccurate. I'm sure the smartest programmers out there got that way because they stopped learning. Right.

I, get what the author is getting at. There is this three-tiered hierarchy forming. On the bottom, you have the truly lazy and dumb programmers who are, in fact, lazy and dumb. And being lazy and dumb, they DON'T look for ways to improve efficiency. They create repetitive code because they are too stupid to find a simpler, albeit more advanced, algorithm. That would require brains. Next, you have the regular programmers who, for better or worse, make fine programs. However they don't apply the doctrine that Philipp points out in his article. They write code that they themselves understand and can work with, but do not tailor it enough towards the mindset of the user. Finally, you have the people that the author is trying to explain. The smartest will find ways to improve upon the work they did, and make sure that it will work in the simplest ways possible. This has NOTHING to do with being neither lazy nor dumb. They merely understand what is necessary to streamline a program.

And of course this is the mentality Philipp is trying to convey, but in trying to "read between the lines," as you so humbly suggest, leads nowhere. This article fails in its own theory, and remains horribly ambiguous.

Philipp Lenssen [PersonRank 10]

18 years ago #

I don't fully agree with the three steps you outline, Greg; the centipede, in the beginning, in fact does wonders with its feet. It just doesn't realize it. Some might consider the centipede dumb for not being able to answer the question, then "How do you do it?"

I think when a programmer starts to think "Am I really tackling complicated stuff, or could anyone who's dumb do this?" she will start gold-coating her programs, losing time. Her programs will still look much smarter on the outside. Certain questions on the opposite that you may ask in a meeting may be considered very dumb, in particular if they're easy and obvious questions. But it turns out behind many easy and obvious question is an easy and obvious answer that simply no one dares mention (let alone think about).

If my article remains ambigous, then I would like to say life itself is ambgious, and I'm happy to have reflected that. If it sparkled some ideas in your head and got you thinking, I'm also happy. I suppose this wasn't the kind of article to spark only "Yes, agreed"s.

i don't have a name [PersonRank 0]

18 years ago #

dood.

Adam [PersonRank 0]

18 years ago #

Great write up, i'm the drunken kung foo master. I will teach you well.

Jed [PersonRank 0]

18 years ago #

Hi i got a problem when coding..
i subconsciously pick my nose.
is i normal?

   thanks

Jed [PersonRank 0]

18 years ago #

But seriously,

I think programmers and artists are alike.. lazy and creative..

lazy, most artist that i had met were very disorganized.. thir rooms are dirty etc.. BUT when it comes to their work.. everything are clean and harmonious.

code (for programmer)
painting (for the artists).

creativity as from my definition "something out of nothing" a painting comes from nothing but paint and mind..
a program comes from nothing but the compiler and mind

oh well back to work..

Lazy [PersonRank 1]

18 years ago #

I'm so lazy I almost stopped.

Lazy Programmer Wanabee [PersonRank 0]

18 years ago #

Speaking of lazy programming (HTML programming, that is) – doesn't anyone else think that it's ridiculous that all the other search engines have made their search engine page layouts nearly identical to Google in a pathetic attempt to gain visitors?

Where's the originality?

Check them out if you haven't already:

http://search.yahoo.com/
http://search.msn.com/

Am i Lazy? [PersonRank 0]

18 years ago #

Well, the article did amuse me somewhat, but i really dont think 'lazy' is the correct terminology for it...and dont ask me what is..too lazy to look it up. laziness would mean we would be satisfied with the ways of original programming technique and NOT try and THINK of an easier way out, because 'why buy a better blender when the one you have works fine?' So. youre more or less defining how NOT lazy we are.
I

i define lazy... id rather not think of an eaiser way, just the way im used to or first encountered..

*yawns* tired..........buh bye

Amit [PersonRank 1]

18 years ago #

Now I'll try to B'come a lazy and dumb programmer :)

Nobody [PersonRank 1]

18 years ago #

A dumb programmer would write repetitive lines of code, making the code easy to read and maintain. The jar file will be smaller and more efficient because compression will be able to reduce into less bytes than some complex group of methods, classes, and yikes, interfaces.

XGen Technologies [PersonRank 1]

18 years ago #

Yes, Lazy Programmer Wanabee it's just stupid, microsoft have no experience in enterprise search engines so they copy google – and yet microsoft is trying to buy google and destroy it! and the same for yahoo their themplate is practicly googles... maby google should re-resign their templates to something more graphical that way if any others copyed them google could claim copyright

Awesome [PersonRank 0]

18 years ago #

Excellent article! Really truly excellent.

Sean Hagen [PersonRank 0]

18 years ago #

Really good article.

I think that the problem that a lot of people are having is how their definition of laziness differs. I think the article is only applying laziness to one area of being a programmer, that is, the writing of the code. Laziness shouldn't apply to when you're documenting or planning. That is truly just stupid, in my mind. Laziness in coding allows you to write smaller, cleaner, more compact code.

That being said, I also think that there is another attribute that makes a good coder. I'm not really sure what to call it, but I believe what comes closest is being able to go into a zen-like state while coding. To be able to code and become completly lost in the task of coding is an amazing thing. I've noticed that I usually fall into this zen-like state when I'm working on a personal project, something that I find entertaining. That never happens while I'm working on stuff that has been assigned to me. I also notice that the stuff I write while in this zen-like state is usually always better code (works properly the first time, less debugging, etc). This happen to anyone else?

xxx [PersonRank 0]

18 years ago #

should be unlazy to find better way to do things to avoid redundancy and not doing copy&paste job.

should be smart enough to realize
a) not to stop learning
b) not to stop being critical towards his own work

Jed [PersonRank 0]

18 years ago #

Zen state, yup happens to me.. sometimes i forget to eat and even resist to go for a potty break. must be adrenaline.
and after i code. i am totally exausted and irritable. but when i saw users actually operating my project its all worth the hard work.

atleta [PersonRank 0]

18 years ago #

Hi,

that 'zen-like' state that you're talking about is actually called flow. This is really a changed state of the mind when you focus totally on what you do (and this IS similar to the state of the mind used/developed by martial art practitioners).

I used to go into that state too, but unfortunately it's less and less frequent since I've 'become a professional'. It was quite frequent during the university years on private projects. I don't know if it's bacause I don't really have faith in what I do anymore or bacause we didn't have disruptions like e-mail and the web at our desks before...

Philipp Lenssen [PersonRank 10]

18 years ago #

That state is also called "zone"...

Daniel [PersonRank 0]

18 years ago #

Awesome article!
(this coming from a dumb, lazy programmer)

Thank you for the humor! It helped me today.

Mike Black [PersonRank 0]

18 years ago #

Deep insight and great article. Which I had dumber people around me.

George Jonaris [PersonRank 0]

18 years ago #

What can I say? You are telling the truth which I have to deal with everyday. Your use of oxymorons has created quite a steer as I can see from many people comments. I think it has touched on some egos I should say.

Steve Conover [PersonRank 0]

18 years ago #

Don Norman doesn't think Google's homepage is simple at all, and that MSN's and Yahoo's are actually simpler:

http://www.jnd.org/dn.mss/the_truth_about.html

Philipp Lenssen [PersonRank 10]

18 years ago #

Google simply puts on the front-page those services which are popular enough in terms of traffic to deserve it. I can't imagine Yahoo would get the same results because there's just too much on their homepage. In that way it's a portal and not a strict search interface. We all know it was Google's decision to put Search first in 1998, and that's what makes them successful. But there's nothing that says Google can't be a portal if they want to and believe it helps users. Of course they can, it's their approach. I know at least one site which didn't survive this in around 1998 and the years following: AltaVista. They tried to be everything at once, and lost their user base.
But Yahoo's doing better, we can see that. Still, if you want to make an argument in the style of "they do this on purpose, because every single link is relevant" you should show some kind of proof. Or else, you would say any sites that displays 1,000 links or so is "well organized because thhe company behind it is big."

By the way, when the author says...
>Take another careful look at Google's
> front page. Want a map? You have to
> click once to be offered the choice,
> then a second additional time to get
> to the map page.

... he must be referring to an older version, because "Local" is right on the front-page. Also, the site-map is in such easy reach – and is itself clearly structured – that I can't see any problems in reaching it, and secondary services through it.

Craig McCormick [PersonRank 1]

18 years ago #

As a wannabe 'real programmer' of some years, this article offers great comfort. I am lazy by nature and thanks to depression and associated issues, I am hyper-critical of everything that I do. Until now I have restricted myself to PHP, Perl, UNIX shell and other script languages. Many years ago, I was an aspiring 680x0 assembly coder on the good ol' Amiga and wrote several programs, releasing only one outside of my home. Why, because it was the only one that I was confident was as flawless as I could make it. This was because It was just such a simple app. The old 50Hz-60Hz switcher, with a bit of intelligence and after care.

I used to think that my utter lack of confidence in my work, was an indication that I wasn't really cut out for it all. Don't get me wrong, my programs were stable and did exactly what I intended them to do, no more, no less. It was just a slightly irrational complete lack of confidence in my own work, that stopped me sticking with it and resulted in me going towards what I deemed 'safer' languages. I've not created a vulnerability in any of my web apps, so in that sense, my confidence returns slightly.

This article has given me encouragement, allowing me to see what I thought were weaknesses, as strengths. I may never get anything finished 'on schedule', but at least I now see that it may well be worth starting. So, for my next challenge, I will begin learning C* (again) from the ground up.

Thank you.

On the Google issue, I can only echo many views already stated. Google have it spot-on and the world knows it. MS/Yahoo et al, are too diluted, too greedy and just way too over the top, to stand a hope of standing shoulder to shoulder with Google on search and maybe any other field that Google decide that they need to whip into shape.

Sumit Malik [PersonRank 0]

18 years ago #

Very good article.

Makarius [PersonRank 0]

18 years ago #

geez – and I became a programmer, because I'm lazy.
Nice blog

   Makarius

Socrates [PersonRank 0]

18 years ago #

All I know is that I know nothing.

Mentor [PersonRank 0]

18 years ago #

dont get wrong of my name people call me that in some cases...

anyway i like the article it hit me that much to think and be a programmer ,even that im not thinking that im going to be a programmer :-)

Lindsay [PersonRank 0]

18 years ago #

Thanks for this article. I totally agree with it. Being lazy really just means making the most of the least amount of effort. If I wrote it once, I sure don't want to write it again. And if I can make it as general and reusable as possible I don't have to.

Loved the tech support conversation. Seems like I've had that one a million times myself.

If you haven't seen it you might like Steven Krug's book _Don't Make Me Think_. It proves your points about the difference between Google and Yahoo and their UIs.

And extra kudos to you for including the reference to Scott McCloud. His book _Understanding Comics_ is one of my favorites!

Vimal Menon [PersonRank 0]

18 years ago #

Hi Philipp,

You forgot to mention a different kind of lazy programmers... the programmers who r lazy to think (haha like me) .. I have seen programmers copy pasting a piece of code in same program just because they dont like to create a function (cos they dont know how to design the particular function or cant remove the error generated by introducing the function, or simply cant think (or dont want to think) how to pass the parameters to the function, etc), they just repeat the code to avoid unwanted hassles. How will you term such programmers?? .. they surely r lazy :)

(hmm .. not all lazy programmers are good, not all good programmers are lazy, dynamicity is the spice of life .. :) a programmer can be lazy and can also be (so called) "unlazy" at different times, still being effective.. :))

My thoughts... If u r static, then u will be extinct in the evolution process :) .. so be lazy and be "unlazy", be smart & be stupid, .... be a boy & be a girl (Oops!! ... hahaha)

Paul [PersonRank 0]

18 years ago #

My name is Paul and I'm dumb, just dumb. Being dumb is fashionable :)

pinoy-programmer [PersonRank 0]

18 years ago #

Programmers are lazy?

Yes. Why do you have to do 2 things to accomplish one thing when you can do 1 thing and accomplish 2 things?

Progammers are dumb?

Nah, they are probably pretending to be one for some clients who doesn't pay well enough..

jon [PersonRank 0]

18 years ago #

i m laz nd a pgrmr

lestat_davao_programmer [PersonRank 0]

18 years ago #

hahahahaha funny...i am 100% convinced!

Exceller of i Dont think Tech. Bcoz to Lazy to do it. [PersonRank 0]

18 years ago #

Nice Read.

It elegantly demonstrate the craftiness of men blinding people from the real truth..

coder [PersonRank 1]

18 years ago #

i never have programmed anything.

i have written code though.

geekenparis [PersonRank 0]

18 years ago #

I'm totally agree!!!

Search-Engines-Web.com [PersonRank 10]

18 years ago #

This was Digg-ed about a year ago, and received about 1,000 Diggs

Just Digg-ed the Comments – and it has received Dozens of Diggs

They really like your Humor Threads

http://digg.com/programming/Good_Programmers_Must_be_Lazy_and_Dumb

Loiezar [PersonRank 0]

18 years ago #

A programmer who will reached his peak of laziness will soon realize that....

It would be better to stop making programs. Then find ways to hire someone else to do his job while he reaps the financial benefits doing nothing. Like all our bosses. Who above all, has reached the peak of dumbness and laziness and that is why... they get better sleep, better social life and better financial stability while absolutely doing nothing at all but ask dumb questions. :D

elguille [PersonRank 0]

18 years ago #

I think that a programmer "can" be a good programmer depending on how organized he/she is. He can have good programming skills, but at the time of programming, certain ammount of "hard work" has to be done so as to achieve a good user-end-result. Of course it takes a lot of work, but it has to be done. If it is not done it is because a programmer many times is confronted with many aspects that he has to deal and if he is not organized, the end product will be a bad product. There comes in the lazyness. If he doesn´t organize himself so as to not advance in developping at the same time all the aspects of a User Interfase problem (documentation, cases of use, design, etc) and moves on, he obviously will never end up with a good program.

What i can bring up new to the discussion has to do with "not moving on and being responsible" because many programmers are not organized, and they move on too quickly to get the skeleton without goint through all the aspects that have to be dealt with. Rushing up is wrong, and it has to do with a certain skill that a programmer should have and it is responsability. Responsability of not rushing up and not being lazy programmers, and doing not only the work they like to do, but the horrible work of documenting and writing down the cases of use of the code they are writing. Lazy programmers are bad programmers who usually are with the same project too much time, making a puzzle of it, and a fuss about it. But i define lazy in the sense that they just do a part of the work a programmer should do. If he is left like that, the software house is in big trouble.

And in that sense, a programmer can be a little big dumb. He can be sort of "repetitive working guy". But if what he does is enough in the basic rules of relational database or the skills needed in the project, he can be much more usefull than a "smart" prog. The smart one will probably "hide" all the underwork that he is not doing, trusting in his "well programmed code". Of course, he will probably be the one that understands that code.

Of course, i prefer a dumb, but disciplined, organized, programmer for most of big projects that deal with the complexity of an organization. But, if the project is big, a smart programmer is sometimes needed to hold in mind the complexity of all the project.

I think that both are needed. What i found over the years is that some people are "dumb" but reliable. Some are "dumb" and lazy. Some are "smart" but should not be let to code but they should be leading the project. I haven´t met yet any "smart and not lazy". Having both types, and if they understand that both are different and they both are needed, and that no one is better than the other (here we could enter the world of hubris, which i prefer for the moment to leave aside), we are on good wheels.

Sorry if i misspelled any word or concept. I´m a spanish speaker.
Guille.

aym 4all [PersonRank 0]

18 years ago #

well... I'll solve problems on my Birthday....
nice article...

aaron [PersonRank 0]

18 years ago #

whoa, this was a good article. Thanks!

Joe Mordetsky [PersonRank 0]

18 years ago #

There is truth in humor.

[signature removed]

Forum home

Advertisement

 
Blog  |  Forum     more >> Archive | Feed | Google's blogs | About
Advertisement

 

This site unofficially covers Google™ and more with some rights reserved. Join our forum!