2013-06-25 at

How to Judge a Computer Programmer

programming is a craft; there's no profession because the environment around the craft changes too quickly for a stable definition to develop; the only way to judge a craftsperson is by the historical quality of their work.

Back in the day...

... I tested a) fundamental thinking skills and b) speed of learning.

(We might disagree about a) though.)

So to me, a) refers to very low-level (in the wetware) things like logical reasoning ability. For a LAMP web developer, I used to first test their ability to do SQL join statements. If they didn't know this, I'd test b) by teaching them the relevant SQL syntax on the spot, then changing the parameters, and asking them to rewrite the query. If they could do this, they were basically demonstrating that b) was good, so a) would never be a problem. If they had a) but not b) at least I could use them in the short term.

If they couldn't hack the SQL, I'd test a) again by using CSS selectors instead. Then I'd test b) with CSS selectors.

If they failed both a) and b) with both SQL joins and CSS selectors, I basically had the view that they would be useless on day one, and slow to pick things up in the future.

Also see this.

No comments :

Post a Comment