On that programmer OCD topic...

Jan 12, 2009 11:26

From The Psychology of Computer Programming, by Gerald M. Weinberg, 1971: And speaking of garbage, one of the most easily identifiable personality needs in programming is a modicum of neatness. We are not speaking here of personal grooming, though in one case a programmer actually smelled so bad that nobody could sit next to him long enough to look ( Read more... )

Leave a comment

Comments 14

enf January 12 2009, 19:40:41 UTC
I hope the ability to remember where your papers are amidst the scattered piles can count as a substitute for keeping them organized...

If you are having any trouble finding the book, I have a copy.

Reply

ceejs January 12 2009, 20:40:48 UTC
I still have your book on timezones. It's on my coffee table. I looked at it just this very morning and had a spasm of guilt.

Reply

enf January 12 2009, 20:49:09 UTC
I sublet a furnished apartment in the summer of 1993. A couple of months later I discovered that I had accidentally left one of their dinner forks in a backpack and still had it. I'm still convinced that I'm going to remember to return it someday.

Reply


iko January 12 2009, 20:47:13 UTC
I knew someone in college who was a computer science major. Funny, neat, but from what I could tell, was not a very good programmer. She'd turn in well-documented machine problems, but they were almost always twice as long as necessary due to a lack of efficiency.

Reply

epileptikitty January 12 2009, 23:36:57 UTC
Good codecraft creates something someone else can read. Whether it works or is efficient is irrelevant; tomorrow its context will be different and so mutability is major. This topic never comes up in college.

Many topics never come up in college.

Reply

ceejs January 12 2009, 23:50:51 UTC
Though I feel that "working" is a reasonable requirement as well.

First, make it work right.
Then, make it fast. If necessary.
Though really, please, don't make it slow for stupid reasons.

Reply

iko January 13 2009, 00:00:02 UTC
Her code is neat, it's just ridiculous to follow and not scalable at all because of the massive number of exceptions written into it. She's the type of programmer that makes programming more difficult for herself because of how she approached the problem. She never stepped back and said "is there a pattern? Can I simplify this?". When one MP was built on a previous MP, she'd spend hours rewriting her first set of functions because what she had weren't scalable enough to handle the new set of requirements.

I'd argue that isn't good codecraft and she never really got the hang of it. (From what I understand now, she's established a career in marketing.)

Reply


fauxklore January 12 2009, 23:10:12 UTC
There is also a recent book about why disorganization and messiness are actually good for us. I can't recall the title or author offhand, but I probably have a slip of paper with those written on it somewhere on my desk.

Reply


That Book anonymous January 13 2009, 04:27:20 UTC
Yes, you do need to read that book.

So, in case you lost the link in that mess in your office, here it is:

The Psychology of Computer Programming

I hope you enjoy it. :-)

Gerald M. Weinberg

Reply

Re: That Book ceejs January 13 2009, 04:36:17 UTC
Amazon is sending me a copy :) I hope to enjoy it greatly. From all accounts it belongs next to my copies of Programming Pearls and The Mythical Man-Month.

Reply

Re: That Book anonymous January 13 2009, 05:47:58 UTC
Oh, so you're the egoless programmer dude! One of my cow-orkers was just threatening me, "Do you want me to point out the problems with your code?"
And for some reason I thought of you (though I didn't know it was you).

I don't know what to say to that. "No, no, it's much better if the company is ruined."

We make all this effort to give people a stake in the future of the company, and still almost anything is more important.

Reply


No on neatness anonymous January 19 2009, 20:50:18 UTC
That turns out to be a really terrible way to hire. Neatness of paper is irrelevant and not well correlated with value-as-a-programmer, though for large corporations who have no hope of hiring decent programmers I might try it.

Neatness of answers is tremendously important; do they reduce complex conditionals to simple ones, do they strip out excess variables, do they make the eventual solution as simple as possible-but no simpler?

Reply

Re: No on neatness ceejs January 19 2009, 21:13:35 UTC
I think the trait is overly tied to accidental details of historical period: at the time, people had desks with paper with printouts and so on. I have no paper anywhere on my desk at the moment, quite literally.

What caught me about that excerpt was how that habit of mind might be expressed today: with habitual fussiness about source formatting? with a higher-order neatness like the kind you describe?

Reply

Re: No on neatness anonymous January 23 2009, 09:23:00 UTC
I think you're mixing apples and oranges here. The example was: "written test and neatest paper returned". That's something you can still test, but it doesn't work.

Implied but not stated, "neatest correct answer". Still not good enough.

What they are testing for, the neat desk, I'm also not impressed by. But it's not the test.

Reply


Leave a comment

Up