Search This Blog


Monday, September 1, 2008

Why Shout? Can't We just Talk?

Jeff Atwood started a programming Q&A website called StackOverflow. Judging from the response of the blogs, he seems to fail terribly-- not because he fails to create a successful programming community, but because the answers he suggested for the technical hurdles he faced were simply wrong. Lots of pundits saw his blunder, pounced on it gleefully and came up with less-than-gracious remark. As if they themselves have never make mistakes before. Ah.

The propensity of one programmer to run down on another is indeed puzzling. I mean, programming is evolving rapidly, the kind of jobs available ten years ago can be vastly different from the kind of jobs available now. Today you may be doing Windows desktop graphics development, and tomorrow you may need to do flashy Ajax Web development. Guess what, you can't simply take your experience in graphic development and plug it in else where. Each field has its own sets of rules, patterns, APIs and best practices to learn. Being master in AI doesn't mean that you can speak authoritatively in database development. without spending time with database development first. The field of programming is now so wide that specialization is inevitable.

The strength of a programmer lies not with his familiarity with a particular sets of language or APIs but in his ability to learn quickly and to solve the problems even though he doesn't have a lot of experience in it. If you can only solve the problems inside your domain and you definitely must work inside this domain and can't be bother to venture out of it then I afraid that you are not so much of a top-notch developer. I don't deny that familiarity with certain tools can help, but somehow when coming to solve the real world problems, what is more important is the mental power. Either you get it or don't.

So, when we want to step out of our little comfortable domain and go into something else, when we want to change our specialization, there will be times when we make mistakes, awful mistakes, silly mistakes. Please, don't you-- I mean those who are already in the field for so long that you can tell our mistakes in just a glance-- laugh and shout at us. We are here to learn, mistakes are allowed. And given enough time, we can catch up with you. We can be another Python, MySQL experts just like you. The only difference between you and us, is that we are also VB, Windows programming experts ( or ex-experts) and you are not.

When we do make mistakes, just point them out politely, there is no need to shout. There are people who was laughing at Joel Spolsky because he's just a VB guy and yet he dared to take on Enterprise development. No wonder he made this silly error about SQL injection! But wait, he's making a lot of money with FogBugz! Those who are mocking him, are you doing better than him?

I see no point in shouting, can't we just talk?


Bron said...

If you speak from a position of authority, then it's considered good taste to actually understand what you're talking about.

I suspect that there's some "tall poppy syndrome" here, but there's also a whole lot of:

"you who are an expert in another field are coming into my field and using your expert credentials to lend weight to a dangerously wrong argument. That's bogus"

And it is indeed bogus, which is why (for example) slashdot allows you choose not to apply the automatic 1 point bonus to your comment's score if you think it doesn't apply, even if you have good karma.

Jeff Atwood has good karma, but if he posts (-1 Flat Wrong) with his karma bonus, then he can expect to be flamed for it, same as anyone. The more credibility you have, the more there is to lose by straying outside your areas of competency.


Soon Hui said...

HI bron, thanks for your comment.

But I think that the developers who care to use Internet to look for solutions are mature enough not to trust any arguments based on authority but on merits of the arguments themselves.

Correcting other people's fault-- be it expert's or nobody's -- is always welcome, but things go a bit out of control when derogatory remarks are added in the mist of a reply. Just stick to the facts, no derogatory remarks, no shouting, and you are doing everyone a great service!

Anonymous said...

I'm not more successful than Microsoft, yet I feel absolutely no compunction in mocking them.

teambob said...

One developer's mistake is alright. I'm sure we have all written code worthy of

When that developer's mistake is propagated to hundreds of other developers (as Jeff Atwood has done) that is a nightmare.

Jeff Atwood is a very good writer. He must use his powers for good, not evil. He can do good adequately researching his articles.

Casper Bang said...

I agree, no need to shout. But just out of curiosity, have you ever listened to the StackOverflow podcast? Jeff is not really the problem, he's generally a pretty smart and interesting guy to listen to. My problem is Joel, a more ignorant and arrogant developer is hard to find.

Soon Hui said...

Hi Casper,

have you ever listened to the StackOverflow podcast?

Nope, never. Hope that this doesn't negate the point of my post :)

Casper Bang said...

"Nope, never. Hope that this doesn't negate the point of my post :)"

Nah not really. But it does perhaps bring forth why people have second doubts about the execution of StackOverflow. Judge for yourself, see if you last the whole episode: