The kiss of death for developers

03/07/06

I've often thought that sucking less every year is how humble programmers improve. You should be unhappy with code you wrote a year ago. If you aren't, that means either A) you haven't learned anything in a year, your code can't be improved, or C) you never revisit old code. All of these are the kiss of death for software developers.

They are also, therefore, the kiss of death for open-source software projects.

And yet, somehow, both new and experienced developers look at new and even gently-used open-source software efforts and expect them to be perfect. Not even, "this works as advertised" perfect, but "this is exactly how I would have written it" perfect. Never mind that, if they had written it, it would suck in a year, too.

This has been bothering me for a long time, and boils down to this maxim: "Everything's hard until you've done it once." Computation is hard. Search is hard. Concurrency is hard. Interfaces are hard. It's easy for smart people to believe that what they know today has always been known by everyone, and to conclude that, if you don't know it yet, you are a total dunce. Don't fall into that trap, people.

One of the things I like best about the Python community in particular is a healthy dose of humility. Let's keep it going.

1 comment

Amen! I'm constantly disappointed with what I did previously, although I admit to not going back to old code as often as I probably should. 'Course I'm not all that happy with what I wrote just last month, but that's me.

It's always annoying when people look down upon others for being a newbie (alt. newb, n00b) for that very simplest of reasons: you were once new at (insert activity here) too.