Arjan's World: October 2006
You are now being redirected to the new housing of Arjan's World. Click here in case nothing happens

Monday, October 30, 2006

Getting (Un)real - Is Joel Still Getting It?

Please take 15 minutes to read The Guerrilla Guide to Interviewing (version 3.0), I'll wait for you (if you really want, you can stop at the following citation):
The trick is telling the difference between the superstars and the maybes, because the secret is that you don’t want to hire any of the maybes. Ever.

OK, you're back. Good. Dis you finish the article? Or did you stop at the above quote. AFAIC this quote at about one third of the article stopped me short in reading it. Don't get me wrong: I have long thought Joel to be the greatest writer in Software Development. Had that opinion for years. And to be honest he still remains a great writer, being able to write long interesting essays with a good dose of humor. And isn't some sort of humor always a requirement to finish long articles? A lot of my experience in writing software was gained by reading his blog. Let me e.g. refer you to unprecedented and timeless articles like The Joel Test and The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!), which are among the best advise you can ever get as a developer. Just like any other article he wrote up until maybe a year ago.

But lately, well.. it seems he just keeps bashing the people below the top 1-2 % of us, Software Developers, so much, that I think it's more than is fair towards the vast majority of us.

Wouldn't you say that the uber obvious problem with this statement would be the following: How on earth is is possible to discern between the top 2 % and the rest (BEING THE OTHER 98 % OF SOFTWARE DEVELOPERS, OR: ALMOST ALL OF US, EXCEPT FOR THE ONES THAT CAN COMPARE TO PEOPLE LIKE LINUS HIMSELF? ). Sorry for screaming, but this message must get out. Looking around me, it is absolutely nonsense to say that almost all software developers around here (the Netherlands, but probably the same elsewhere) are not worth their salt.

Let me assert immediately that it's a difficult journey to acquire a new hire that's a good fit for a certain company. But the developer that doesn't fit the big corporate IT supplier might be a really big superstar at a small local shop or some small company selling, let's say, mortar and bricks. Mostly a matter of different personalities, it's the difference between the person that wants a fast car, phone, laptop and lots of other fast technology around him, and the one who is more into established technology. Maybe he likes .NET 1.1 more because it's proven technology (although he's still missing out on the .NET 2.0 stuff, but he will find out in time) . One of them on average will be more interested in the latest and greatest technologies (ASP.NET 2.0, AJAX, SharePoint Whatever), while the other one has a VB background and is getting up to speed with .NET lately. They're both equally good programmers, just living in different niches.Most of the time these guys know themselves a bit, so you won't find the suit showing up at the mortar-and-bricks company job interview.

An important point to make is that a new hire has to fit in the group of fellow programmers, designers, project leads and other people he has to cooperate with. You're a hotshot thinking you're the best of the world? You know, maybe you're even right, and you DO write lisp compilers for fun, in a weekend, in Assembler for the Nintendo DS (quote from the article). But even then, you're not writing lisp compilers at my company, but e.g. online ordering catalogs for the mortar-and-brick company. And we have a broken page which has to be fixed within an hour. Sales says there's an estimated loss of 5K an hour (hey, we're not that big), because it happens to be the credentials page of the shopping basket, which probably received an unknown update of some kind. Do you fix the page, or are you dreaming away in assembly thinking about your new date? Hello, right now there's 5 people pushing the check-out button, but nothing happens on their screen. One's already firing up Google and enters mortar brick company NYC as the search string. Do you want that to happen?

Allow me to draw a simple analogy: there's lots of talk about The Long Tail nowadays. The long tail in internet terms means that for example a staggering small number of weblogs are receiving an overwhelming majority of attention. This is even strengthened by the fact that once a blog starts receiving some attention a snowballing effect can take place: more and more people are linking to this blogger, he gets more Google Juice, etc.etc. Even my (nation-wide) newspaper recently ran an article about it, meaning my wife and parents might have encountered the term and understand its meaning. The long tail *also* means that books for which there was no market some years ago. This means people fixated on the top X (2 ??..!!) percent of books, which just generated the highest market share; while there's so much interesting material that's worth a read. It was just more profitable to market only heavy selling books. But not anymore. Now you can order any book you can dream of at Amazon, if if they don't have, someone can probably sell you a second hand copy.

And:
Never say: Maybe, I can’t tell. If you can’t tell, that means No Hire

Well, to be honest, if you have doubts about someone, of course you don't hire. But that probably has a lot more to do with personalities than that person being a Top Coder. The moment you have doubts is long past the point that you have decided that this person is at least a decent programmer, who could be reasonably productive at your company. Doubts are about personalities fitting in groups, not about someones technical abilities.

So, concluding (yes, I don't like to waste your time too much, just want to get a message through): don't fall for the trap that only 1% of all programmers is interesting enough to hire. It's just bare nonsense. Apart from that fact, even if it would be clear to anyone who is the top gun programmer, they would be hired away by the biggest firms without a doubt, and you (mortar and brick man, small local consultant) would be looking at them from the back...

Just my 2 cents, jump in if you like. For now, please let me finish the article now :-)

OK, have just read the remainder (before posting, so this is not an post edit). Joel talks about passion, which is a very important thing for a software developer to my opinion. He also mentions the fact that a Ph.D. title without a Getting Things Done mentality is a bad sign. While these are all good points, my criticism of his 2% Top Devs = OK, 98 % = CRAP stands firm to my opinion. It's just so been-there-done-that.

You are now being redirected to the new housing of Arjan's World. Click here in case nothing happens

Friday, October 27, 2006

LINKBLOG for October 27, 2006





»
Does Writing Code Matter? Jeff Atwood thinks we should spend less time coding and more time developing skills in other areas that complement our coding skills


»
Getting Real - The Book All 91 essays are now available for free on their site.


»
Why, precisely, do we build systems using the n-tier architectural model, again? Pragmatic Architecture: Layering: A Technical Article On MSDN By Ted Neward






»
Splash Screens and non-rectangular windows Eric Gunnerson's C# Compendium


»
The Great CodeBetter Eight-Week Fall Book Giveaway Brendan Tompkins @ codebetter.com


MSDN Magazine, November 2006

»
No Silver Bullet Just found another reason to read the famous article by Fred Brooks again


»
Good and Bad Installers Code and Coffee





You are now being redirected to the new housing of Arjan's World. Click here in case nothing happens

Wednesday, October 25, 2006

Lots of new products, these are interesting times!

You probably already know about all of them, but in case you have been hiding under a rock the last days/weeks, check them out:

Firefox 2.0 is released! Normally, I'd wait sometime before trying things out, but this is too good not to try. The announcement that you can have spelling control won me over:

Firefox Add-ons: the new spell-checking feature with lots of languages including my own, Dutch... Of course this comes in handy when writing blog posts in web forms, but also for a quick spell-check when your Office product doesn't have the specific language installed (e.g. when you miss the MS Proofing Tools).

Google put something new on the general public: a custom search engine, Haack has more on this. This only leaves the question, is there anything Google doesn't offer yet? One wonders when the day will see the light that we have to pay for our Google accounts.

B.t.w., you haven't missed out on Google Code - released some weeks ago - have you? With Google Code you can search in all public code repositories. Could be handy if you want to compare your coding style with others.

Well, actually these are just the biggest issues from this week. I didn't even mention Microsoft's ASP.NET Ajax framework from which you can download the CTP here. I probably forgot something, but wanted to get your attention for these big things.

You are now being redirected to the new housing of Arjan's World. Click here in case nothing happens

Wednesday, October 04, 2006

.NET 2.0 Tip: Please Understand The Meaning of .TryParse

.NET 2.0 has this nice method called .TryParse. It will Try to Parse something for you, be it some Integer, String, Boolean or Date. Then it let's you know if it succeeded. This means e.g. that a Boolean.TryParsewill return True if it can convert your input to a boolean.

So *don't* try something like this:

blnValue = Boolean.TryParse(stringContainingBooleanValue, blnValue)

It will happily return True when the string contains either "True" or "False" :-)

:-)