Live data from Hacker News

How to recognise a good programmer

inter-sections.net

31–40 of 51 posts

Re: How to recognise a good programmer

#31

The list of qualities here would indicate a good person in any profession, not just programming. I think these challenges only exist because we (as a society) have learned to accept schooling as the indicator of qualification.

Schooling might not work so well as qualification, but take care not to trivialize the problem. You can't really figure out how good someone is until you've worked with them, unless they have a long string of accomplishments. Schooling might be a little above noise, but at least it functions as a fairly reliable minimum bar.

Based on the deluge of resumes I've seen coming into tech shops lately, the bar set by college degrees is so low that you need to dig to find it.

Re: How to recognise a good programmer

#32

The list of qualities here would indicate a good person in any profession, not just programming. I think these challenges only exist because we (as a society) have learned to accept schooling as the indicator of qualification.

Anyone with these traits probably is good, but a programmer that doesn't have them is almost certainly not good. I imagine there are plenty of plumbers and accountants who don't work on personal projects, have hidden experience, or play with bleeding-edge technologies and are still good. In those fields, schooling is still probably the best indicator of qualification.

The more artistic the profession, the less telling someone's formal education seems to be. Since programs can do anything that our minds can think, programming tasks range from the hardest of hard sciences (say, compiler optimization) to pure art (videogames, for example). I suspect the best compiler optimizers went to (and perhaps now work for) the best schools, while I doubt there's much correlation between schooling and great game developers.

Re: How to recognise a good programmer

#33

Earlier quoted context omitted.

Try asking them. "Hey, do you find most of your colleagues are familiar with your code or do you find most of them have trouble getting up to speed with it?" You can ask this question in a very neutral tone, one that implies that the colleagues may have been at fault. And then, be very careful to determine whether the colleagues really weren't at fault. If you're trying to hire a very smart person, you may find someo…

I've witnessed solo programmers writing brilliant but inscrutable code in Smalltalk. Bittorrent's code also fit this description for awhile. Someone who writes inscrutable code in J2EE in BigCo might do so because he's hobbled by their coding standards. But he might be one of those folks who is a brilliant coder but has no sense of what is intention revealing to those reading his code.

I agree. All I can say is... the OP mentions indicators. It is absolutely correct that they are merely hints. You still have to interview them and/or test them and/or check references from former employers and/or check references from former colleagues, and/or...

In this particular case I speak as someone who has received both praise for my ability to write code that my colleages find crystal clear and vilification for writing code that my colleagues find inscrutible.

Did I mention code samples? I have code I can share. I like it when I'm interviewing and someone has code they can share.

Re: How to recognise a good programmer

#34

Earlier quoted context omitted.

Schooling might not work so well as qualification, but take care not to trivialize the problem. You can't really figure out how good someone is until you've worked with them, unless they have a long string of accomplishments. Schooling might be a little above noise, but at least it functions as a fairly reliable minimum bar.

Based on the deluge of resumes I've seen coming into tech shops lately, the bar set by college degrees is so low that you need to dig to find it.

[deleted]

Re: How to recognise a good programmer

#37
post #14

Earlier quoted context omitted.

Freud was once asked what he though a normal person should be able to do well. The questioner probably expected a complicated, a "deep" answer. But Freud simply said, "Lieben und arbeiten" ("to love and to work"). It pays to ponder on this simple formula; it gets deeper as you think about it. For when Freud said "love", he meant the expansiveness of generosity as well as sexual love; when he said "love and work," he…

On the other hand, someone said: "You can't be normal and expect abnormal results".

I like this philosophical quote:

Kant, "To be is to do"

Nietszche, "To do is to be"

Sinatra, "Do be do be do"

Re: How to recognise a good programmer

#38
post #29

I only use one criteria: demonstrated performance.

You mentioned that in the previous posting of this article, but I wasn't around to reply back then :-)

I agree that demonstrated performance is the ideal, but there are two problems with it:

1) it's slow and expensive. Who do you ask to demonstrate performance? You need some initial filter to cut out most of the crud, otherwise you'll spend all your seed money getting people to demonstrate performance. These indicators allow you to perform some sort of preselection, at least. Also, if you're interviewing, you'll find that most good people get snapped up before you have a chance of seeing their performance, so you'll miss out on 90+% of good hires.

2) What if you don't know how to tell good performance from bad? You can't reply that "a non-technical guy has no business hiring a technical guy". This article is aimed at business guys, and they have the very real problem of needing to basically boot-strap their business's technical expertise starting from nothing. This article can help recognise a good cofounder too. At that point "demonstrated performance" is fairly irrelevant, since as a business guy you wouldn't be able to tell good performance from bad - however, you can still tell passion from lack of it, or hidden experience from purely on-the-job experience.

Re: How to recognise a good programmer

#39
post #36

Introverts are generally good programmers.

That is a preposterous claim! Perhaps you meant that good programmers are often introverts?

I think programmers in general are often relatively introverted, however my anecdotal experience is that good programmers are not on average more introverted than bad programmers. So introversion is a really bad indicator.

Re: How to recognise a good programmer

#40
post #32

The list of qualities here would indicate a good person in any profession, not just programming. I think these challenges only exist because we (as a society) have learned to accept schooling as the indicator of qualification.

Anyone with these traits probably is good, but a programmer that doesn't have them is almost certainly not good. I imagine there are plenty of plumbers and accountants who don't work on personal projects, have hidden experience, or play with bleeding-edge technologies and are still good. In those fields, schooling is still probably the best indicator of qualification. The more artistic the profession, the less tellin…

a programmer that doesn't have them is almost certainly not good

Maybe that is true if your bag is Web 2.0 AJAX Rails etc etc. But I'll bet the people writing "serious" software (for example, safety-critical embedded systems) are treating it exactly the same as say Civil Engineers treat their jobs. I'd be very reluctant to call them "not good", how reliable is their work compared to the average website?

Post reply on HN