

How to recognise a good programmer - swombat
http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/

======
jkush
I always ask two questions: What's the coolest hack or project you've ever
worked on? and What's the worst hack you've ever committed?

I like these questions because if a programmer is good (in my
opinion)...you'll see that person light up and get excited.

------
maurycy
I'd say that there's a better single indicator of a good programmer. Many
other valuable hobbies besides programming. Things like math, economy,
philosophy etc.

~~~
pius
Interestingly enough, those along with film, writing, and ping-pong are all
hobbies I've got, yet I remain an excellent programmer if I do say so myself.
;)

Programming is not a passion that has to blot out all others.

~~~
maurycy
I mean valuable hobbies. ;)

------
pius
This is good advice. In particular, I've never met a good programmer who
treated it as a strictly 9-to-5 thing.

------
edw519
Sorry, interesting little article, but I don't buy any of it.

A better title would have been, "A List of Some of the Traits That May
Correlate with Good Programmers". Would you bet your business on judgements
made from this list? I certainly wouldn't.

AFAIK, there's only one way to recognize a good progammer (or a good anything
else):

* * * * * * * DEMONSTRATED PERFORMANCE * * * * * * *

Did you do it?

On time and under budget?

Does it work well?

Does it satisfy the stakeholders?

How easily is it extended or maintained?

<add your own evaluators of demonstrated performance>

I also believe that if you can do it once, you can do it again.

Evaluating quality by anything other than demonstrated performance is stupid
and unfair to everyone involved.

~~~
joshwa
I think the article is talking about a new-hire situation, not evaluation of
one's own employees' efforts.

It'd be pretty hard to get metrics like yours in a hiring situation.

~~~
edw519
"It'd be pretty hard to get metrics like yours in a hiring situation."

And who here signed up for easy?

In a new hire situation, require examples of work done (on-line or otherwise).
Make them code. Give them a conditional mini-project. Get appraisals from
former clients, employers, co-workers. etc. etc. etc.

I could think of a hundred better ways to evaluate unknown talent that the
suggestions from this article.

~~~
Retric
I might jump though that for a 150k job and or a fairly long 150+$/h project
after the interview but IMO an extended interview process is a bad sign. If
you can't tell if someone can code in a 2-3 hour interview you're in really
bad shape and I probably want to avoid your team and your code.

Here are some real questions to separate the coder from the poser.

What's the worst hack you have ever done and why did you do it? What's you
least favorite language and why? What's the hardest problem you have ever
worked on? Why was it hard and how did you solve it? What's the most elegant
solution to a problem you have ever devised?

IMO: Trick questions and odd syntax issues are just as useless as asking about
their IDE of choice or how to solve a trivial problem.

PS: If you want to validate my credentials after while we nail down my fee
that's one thing, but I am not going to give out references early in the
process.

~~~
edw519
"Here are some real questions to separate the coder from the poser."

This is EXACTLY THE OPPOSITE of what I posted and everything I believe.

To repeat - there are NO questions or character traits to accurately assess
quality from B.S.

The only differentiator is DEMONSTRATED PERFORMANCE. You need to find a way to
determine this. I never suggested long interviews or trick questions (and have
never employed them). Whatever it takes to determine DEMONSTRATED PERFORMANCE
is necessary and sufficient.

And whoever downmodded my previous posts (and will probably take a hack at
this one too) either doesn't get it or hasn't been burned yet.

(Why is it that when I willingly share my hard earned skills and knowledge, I
get downmodded, and when I post a smarta$$ remark, I earn 20 unexpected
points?)

~~~
eru
I started restricting myself to smartass remarks for that reason.

By the way - a conditional mini-project seems like a good idea. Let them do
something small but useful - for full pay - and evaluate performance.

I guess I could live with that on the receiving end.

~~~
edw519
"I started restricting myself to smartass remarks for that reason."

I understand why someone would do that; it's easy and fun (especially if you
only have short breaks).

I implore you to reconsider. My own personal lack of peers to debate and
commisserate with drives me to this site. The karma may be the gravy, but the
experience is the meat. Sure would be nice to have you as part of it.

~~~
eru
I just went from smartass remarks to citing for even easier karma. I hope you
did not mind.

From a more serious point of view I agree. The quality of comments and
submissions attracts me to this site, too. Thanks for the warm welcome.

------
eru
From the comments: "I didn't even realised [career programmers] existed! I
assumed that all computer science/software engineering etc graduates were
previously teenage hackers."

------
edu
So, he will only hire a Ruby programmer?

I thinks it's time to proclame: _Ruby is the next Blub. Long life to Blub!_

------
mynameishere
#7 IBM sends them over and charges 160/hour.

~~~
Tichy
That would hardly be a good indicator.

~~~
eru
Too bad irony tags are invisible.

------
mov
Contribution to a free software project can be a good indicator too.

------
jamongkad
I can't believe he didn't include Ramaze in his #5 list. :-)

