Wednesday, December 17, 2008

They Overflowed Me

A couple weeks back I stumbled on another of Joel Spolsky's ideas. He's one of the founders of Fog Creek Software. I read his blog every week. It's called "Joel on Software". You find things there that don't show up in other places.

One of these I actually got to via, then backtracked to his blog.

It was about a new site based on one of his ideas. The idea was "I thought that the programming community could do...a Q&A site with voting and editing."

He has a problem: more ideas than time or money to chase after them, but this time he got lucky. Someone he knew decided to pick up the ball and run with it.
In the beginning of August, the beta opened to a small group of just a few hundred developers. The site lit up instantly! People were asking questions and, for the most part, getting answers! And the voting was working too. In most questions, you could see that the best answers were voted up promptly.
Well, hey. I checked it out.

Then I put it on my list of dailies. I fire it up every day to see what I can see. Sometimes I pick up two or three unexpected tips about things. Enough that, with my other finds elsewhere, I don't even have enough time to keep up on my reading now.

So here are the rules for questions, straight from Stack Overflow's FAQ page:
What kind of questions can I ask here?

Programming questions, of course! As long as your question is:
  • detailed and specific
  • written clearly and simply
  • of interest to at least one other programmer somewhere
... it is welcome here. No question is too trivial or too "newbie". Oh yes, and it should be about programming. You know, with a computer.

Eventually I remembered that I had a question too. It's about a tool I use. The tool isn't specific enough that it's used only for programming, not like a debugger, and my question wasn't something like what is the best way to add a 31 bit number and a 32 bit number.

But I've seen a lot of more general questions asked, and this one of mine has been bugging me for over six months. The tool I use is used by all people who develop web sites. Some versions of it are actually directly involved in the programming process. I don't happen to use it that way, but it's still important to me, and because it isn't working properly since I switched from Windows to Linux, I thought that maybe this was the right place to ask.

I was careful too. I thought about what my problem was, and stayed on the straight and narrow. I was specific about the problem and how I knew it wasn't "just me". I gave examples. I did pretty well.

In the past few months I've probably spent at least a full day, maybe two, trying to find an answer. No luck at all anywhere else. Maybe now. So I posted my question and waited. No one else had asked it. I checked that first.

I gave it a day and a half, then went back. There was only one "answer" posted, but my question had received 45 views. The "answer" came from one of the insiders. One of the people who had "rights". What he said was that the question I had asked was not a programming question, and therefore he had "closed" it.

Well, thanks a lot guys.

At first I felt like a total idiot.

Rule number one is to find out what the rules are. I hadn't done that. I'd seen questions, and answers, and just popped mine in there too. Based on what I've seen on Stack Overflow, my question was perfectly ordinary, but I'd obviously blown it, so I checked the About page and the FAQ.

We don't run Stack Overflow. You do. Stack Overflow is collaboratively built and maintained by your fellow programmers. Once the system learns to trust you, you'll be able to edit anything, much like Wikipedia. With your help, we can build good answers to every imaginable programming question together. No matter what programming language you use, or what operating system you call home -- better programming is our goal.

So, if a question is about programming and at least one other person is interested in it, then it's OK. And "We don't run Stack Overflow. You do."

Yeah, right. That must be the problem. Too many people asking questions? Asking questions some insider didn't feel were worthy? Catching someone on a bad day? What exactly was the deal, and why didn't the guy who pulled the trigger on me let my question get eaten by the wolves if that was the way the game was supposed to run? That would be fine by me.

I just wanted an answer. One is all I need. I still don't have it.

Last night I decided to see what kinds of questions were getting closed by this open and collaborative process run by insiders, and there was a question about questions getting closed. The original version of it had been closed, after someone decided that it was not a programming question, then it was reopened after the questioner contacted someone.

There was a good discussion of the issue. One thing I especially liked was the quoted response of one of the insiders who is not supposed to exist who missed profanity only by a hairsbreadth as he closed someone else's question. This is pretty telling. You know, in fact it was a little scary.

These folks have started a new site so others can collaborate on common issues and now they have decided (or some of them) to be censors. Nasty censors. To revile visitors to their site. To belittle them. To deny them the service that they advertise.


How long do you suppose this is going to keep running?

But I've seen it before.

I had the extreme fortune of doing my first for-pay programming on a mainframe system. One thing about it is a little different from everything since, and that is that there aren't quite so many adolescent smart asses in the office. You mostly get middle-aged to elderly dumb asses in suits, but it's a different problem.

It wasn't until I got into PC programming, client-server work, and web development that I had to put up with a lot of crabby autistic authoritarian screamers, know-it-alls who couldn't stand anything unless it was done their way. These are the people who will work themselves into a foaming carpet chewing shrieking froth over trivialities. Things are either correct or incorrect, and they get to choose.

This sort of personality is all too common among programmer types, and a lot of them have gotten away with it for decades. The world is actually moving toward more collaboration and consensus, to the point that I've recently read the words of respected leaders in the new software world saying they'd rather hire a good programmer who had excellent verbal and interpersonal skills than a brilliant programmer who was at best adequate at communicating and cooperating. None too soon.

Yeah, nevertheless, the guy at Stack Overflow still thinks I'm an idiot, but I don't any more. I did play by the rules, and got shot out of the sky. I'm still going to check in there every day to see what I can learn but hey, do you think I'll ask another question? Do you?

And how many other people are there out here like me?


Fog Creek Software
Joel on Software
Stack Overflow programming Q&A
Info: Stack Overflow Launches
Info: How Hard Could It Be?: The Unproven Path


Post a Comment