Live data from Hacker News

Nobody Hates Software More Than Software Developers

codinghorror.com

21–30 of 50 posts

Re: Nobody Hates Software More Than Software Developers

#23
post #4
post #3

In fact, I think you can tell a competent software developer from an incompetent one with a single interview question: 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 immediately. Sorry, pal. You don't hate software enough yet. Maybe in a few more years. If you keep at it. I have always enjoyed Jeff's c…

The irony of you saying "almost everything I ever inherited was crap in one way or another" is that somebody probably said the exact same thing about your code. I bet you write amazing code, but when given a choice, programmers would rather have the joy of creating their own code than trying to interpret someone else's.

Let me try to sketch how bad it can get:

In the mid 80's I worked for a game company for about a year (Aackosoft, flightdeck, indy 500 on the Atari) and I inherited a project from another programmer. After reading the code for a couple of days I realized that he'd been planning his 'exit' for a considerable time. The could would assemble (the 68k part) and compile (the C part) but other than that you couldn't make heads or tails of it.

Every variable was named after a vegetable, a fruit or a plant and every subroutine after a famous person.

It took quite a while just to get things back to self documenting names, after that another month or so to restructure it to the point where it started to do what it was intended to do.

There would indeed have been much joy in writing it again, but there was just as much joy in figuring it out and getting it to work.

Re: Nobody Hates Software More Than Software Developers

#24
I'm a little bit nervous to say this, but this is another of Jeff's articles where I think "man, so many of this guy's problems would go away if he didn't hate Macs so much".

In my experience, Mac devs don't hate software, and Mac users don't have the instinctive "oh [App X I haven't heard of]? That's going to suck".

Gruber talked more about this in his Broken Windows essay -- http://daringfireball.net/2004/06/broken_windows -- and what he said about security is generally true for quality and polish as well. If I get a new app for the Mac, I know that it's going to have basic standards of fit and finish and will make a reasonable attempt at being a good Mac citizen, because otherwise the community will kill it.

When a new Mac app comes out, I'm usually fairly optimistic about what it will do. When a new Windows one appears, I'm sceptical.

This doesn't extend all the way to the quality of coding admittedly, but certainly at least until the iPhone came out Cocoa devs were a fairly select set of committed people, and the higher barrier to entry helped keep at least some of the crappiest C&P coders out of the platform.

Re: Nobody Hates Software More Than Software Developers

#25
Awareness of your own limits, and the likely quality of your work, is a good thing.

But this descends into self-flagellation. Waaaah, I suck, you suck, we all suck. We're all the equal-worst programmers EVER.

If you're doing research into programming languages, and you're explaining your work, or asking for funding, fine.

But coming from practicing programmers, it's a common, trite, pointless and irritating refrain containing zero useful information.

Re: Nobody Hates Software More Than Software Developers

#27
I remember that scene from "War of the Roses" where the Danny DeVito character tells the horror story of the Roses to talk a new client out of engaging in an ugly and bitter courtroom battle. I think his line was (paraphrasing here) "when a man who could charge you $250 an hour wants to tell you something for free, you should listen."

I often feel that way about software. Remember the stages of a software project?

1) wild enthusiasm 2) profound disillusionment 3) search for the guilty 4) punishment of the innocent 5) rewards and accolades for the non-participants

Can't remember exactly where I read that, but software developers have experienced them all, over and over.

I don't necessarily try to talk people out of a new development effort. After all, there are clearly times when we need to write software, and some projects are smashing successes. But I kind of feel like that breed of lawyer who tries to get clients to see litigation as a true last resort.

I say - is there anything already out there that could solve your problems without a new development effort? How far would a much simpler approach go toward solving your problems - could you live with it? Basically, I want clients to understand just how risky a full blown development effort truly is.

Of course, if you need business... well, nothing like an angry divorce to keep the billable hours up, and nothing like a flailing software project funded by deep pockets to keep the cash flow positive....

Re: Nobody Hates Software More Than Software Developers

#28
post #14
post #10

Earlier quoted context omitted.

Those are technical issues. The truly most nightmarish software to inherit is one that shouldn't have been writen to begin with: software made by people who either lack the programming skills, or the domain knowledge. Nothing worse than an accountant-turned-DBA's perl, or a system's programmer that just left you an steaming pile of MFC GUI. Worst of all, the person responsible for the mess is not long gone and forgot…

Now I can't sleep (why did we have to talk about bad code?) ``The Windows 3.1 Guru'' 1) That guy who knew too much about Windows 3.1 internals and never thought this newfangled "Windows for Workgroups" or "95" would never take off. Thank you, sir. Treating obaque structures for the unsigned chars they are has never posed a problem for me. All the documentation I needed was in those 4 pages of macros you left me (comp…

These would be richly funny if they were not so entirely true.

Re: Nobody Hates Software More Than Software Developers

#29
post #8
post #3

In fact, I think you can tell a competent software developer from an incompetent one with a single interview question: 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 immediately. Sorry, pal. You don't hate software enough yet. Maybe in a few more years. If you keep at it. I have always enjoyed Jeff's c…

As someone who has done some code reviews recently, I can tell you that my answer would definitely not be "My own." :)

Get out, see the world, look at other peoples' code (particularly the stuff they don't release publicly), and I can guarantee you will be surprised at what people can make run.

I believe there is a saying that there will always be [code] better than [yours]. The opposite is also true: There is always code out there which is worse than yours.

Re: Nobody Hates Software More Than Software Developers

#30
post #15
post #13

Earlier quoted context omitted.

Not as useless as your comment. Besides the "my code is the worst code" part, I thought he did an excellent job of explaining a software developer's natural aversion to software. I had my wife read it, and it helped her understand more about why I refused to pollute the computer with that CD that came with her new camera. Aside: I know it's a beloved HN meme to bash Atwood, but don't let that excuse us from being laz…

My comment does serve a purpose, to point out how useless this article is, since some people obviously don't notice it, and vote it up.

However, I find myself voting up some articles that I wouldn't recommend, but the comments have lots of value.
Post reply on HN