Nobody Hates Software More Than Software Developers

As a developer you should be critical of your own work, but that doesn’t mean hating it, rather it means trying to perfect it.

There’s nothing wrong with tasking a pride in your work, and someone who thinks everything they write is bad, will probably only write bad code.

Last time you wanted programmers to be craftsmen, but I wouldn’t expect a craftsman would hate their work.

I sort of have to disagree with your last premise:
“What’s the worst code you’ve seen recently?
If their answer isn’t immediately and without any hesitation these two words:
My own.
Then you should end the interview as soon as possible. Sorry, pal. You don’t hate software enough yet. Maybe in a few more years, if you keep at it.”

While looking at my code depends on the code I’m looking at. If I wrote it last week, its probably pretty good per my current standards. If I’m looking as something I wrote 2 years ago, very different answer. And I have certainly seen some code recently that I couldn’t/wouldn’t have written in the past 10 years. I’m sure you will agree that software development is a growth process. I’m sure that 2 years from now, I will look at code I wrote today and say to myself, “GAWD, did I really do it that way??!?” :slight_smile:

Disclaimer: I own a mac and manage my photos through iPhoto.

That said, the only time I’ve ever installed software from a camera was with my recent Olympus DSLR purchase (a used e-520 i got for a song), and that was purely because of the raw conversion that comes with it.

Well, I’m definitely not gonna ace that interview. But my own code is the best I’ve seen recently. And by recently I mean the past 5 years.

And no, I don’t like my own code very much, every time I see it I want to rewrite it. It’s just that everything else I come across is so infinitely much worse.

It took me 15 years to figure out that no matter how incompetent I thought I was, I am a friggin’ coding genius compared to 90% of clueless morons out there.

So I’ve stopped hating my own code, thankyouverymuch. And now excuse me while I go refactor the crap I wrote last week…

Here here. I recently uninstalled a bunch of HP printer software from my parents’ PC. This one lousy inkjet printer had something like 6 applications installed to support! It even had an icon in the system tray, and was constantly looking for updates for telling me to install updates, or something. Get over yourself, HP, your dinky printer driver has no place in my system tray.

Captcha: drains yard

I think one reason software developers hate software is because we feel like we could make a better version of that program our self, “If I only had time…”. That’s probably not true though, and very rarely has it’s been done successfully.

On the other hand, one reason that I like Open Source is that if some small silly bug really annoys me I can just fix that thing, rebuild the program and be done with it. Only to have that option to fix problems myself if I want to takes away most of the hateful feelings.

I wish my code was the worst I’d seen recently – but ever since I learned how to give variables names rather than single letters, the bar is just too high for some.

HP software is the worst. You can always spot when a manager bought a new HP printer/camera - their laptop takes an hour to boot and the systray is full of a ‘dozen upload to web’ type apps.

It could be worse - each printer maker could decide to install their own word processor!

@Barry Picassa can read almost all raw image formats. You do need the Olympus software to upgrade the camera/lens firmware

@mgb Barry can’t run Picasa. He’s got a Mac. Poor Barry…

I beg to differ. Hating your own code is not healthy. Taking pride in your work makes you want to be better at it. Stop churning out bullshit just to fill the time.

Some of your writing is inspired but this is not one of them.

Can’t think of the number of times I’ve looked at code i wrote 2 months ago, and thought “what was i thinking when i wrote this?”

This post made me nod so hard that my head nearly fell off.

I sometimes hate my own code, and sometimes not. Almost without exception, though, the code I hate is the code without tests, and the code I love is the code with tests. I’m not a TDD zealot by any means, but the more I practice it, the better code I write. There’s a high correlation between tests written and readability/maintainability.

Well, yes. The worst code I’ve seen recently is, in fact, my own.

But I have NEVER produced anything as bad as the C code my ex-boss created. Switch statements 5 layers deep. A 10,000-line function, with ALL of the variables global to the entire function, including the one used only once at line 9500 (he didn’t know about adding { } for scoping when there was no looping or conditional logic involved), and variables named “count” and “total” that were used 20 different places in 20 different ways… that I had to maintain.

Hmm, I guess I won’t get hired in your interview process. My own code has problems, but I’ve always been really self-disciplined in cleaning it up on an ongoing and regular basis. Code a little, clean a little.

The worst code I’ve seen, I’ve seen from the way it runs, the actual source was hidden (as it should be, it is probably very embarrassing). Slow, bloated, inconsistent stuff were the manual is full of more exceptions than consistencies.

The next worst code I’ve seen was so because the authors chaotically applied design patterns and various rules of thumb to the point were the whole thing was wonderfully correct, yet total unreadable. I won’t want to be the one that has to touch that …

Paul.

> My own.

The key is to code with your eyes closed. Really. But then among all the crap that comes across your finger/key interface, you’ll miss the few beautiful, Tom-Hanks-I-have-created-fire! gem that comes along once in a blue moon and makes it all worthwhile.

Captcha: “remotest TRENTON” - Indeed. Where’s Wilson when you need him?

I don’t hate my own code, but there’s always that gut feeling that 5 minutes after it’s deployed you know you could’ve done something better. No different than the artist who has to finish the painting, song, novel, etc. at some point. You finish and move on to the next project and vow to do better than the last.

But like you, I do hate installing bundled software. First step after buying a new PC is always to wipe the HD and install from scratch.

I agree. I am a terrible programmer. In a lot of cases it’s more important to get the code out there, than to make sure it’s written properly. I suppose the only real question that’s bothering me is: What seperates us, the bad programmers, from the good programmers? Who ARE the good programmers?

Can I take this opportunity to moan about the Dell Mouse driver software I use. Two problems

  1. It doesn’t remember the custom settings for the button (I like the scroll wheel click to mean double click) so I have to put it in my startup group so it runs every day.
  2. Once it runs it then sets the remembered settings, so it could be worse I suppose. So all I have to do is click the OK button. Then the bad bit starts - the dialog slowly fades away. Someone’s written a loop to change the transparency gradually to 100% and then dismiss it. While it’s fading away this loop seems to use a lot of CPU because the mouse goes really slow, so it’s not like you can get on with something else. THIS IS SO ANNOYING.

Thanks, I feel better now.

Are you depressed?