

Ask HN: How do I judge the quality of a programmers work? - andrewfelix

I'm developing a curated list of freelance designers and programmers available for off-site hire. But I have no idea how to discern the quality of programmers. Is it possible to quantify it somehow?<p><i>PS. I am not a programmer.</i>
======
rachelbythebay
You could try to give them all a well-defined task and see how long it takes
to deliver a working solution. Then mix it up, and send them a copy of someone
else's code and have each one extend it to do a second well-defined task.
Repeat until you get a strong pattern which matches what you want to see in
the real world.

If you're lucky, this will show you who's capable of delivering working code,
who's capable of turning in work in a reasonable amount of time, who writes
maintainable code, and who can deal with maintaining code from other people.
You might also rig things to see how they do at documentation, support, or
other "meta" stuff, but that requires more rounds and more testing.

Basically, create a fake programming team and throw some stuff at them, and
then cull the ones who don't seem to be working out. If you can set it up so
you make more money back than this costs you, then you win.

------
gwillis13
This is just my opinion, but the word quality is a "generic" term. But if you
had to judge, a number of things that may be good to look at, is:

1) Are they commenting their code?

2) Formatting structure of code

3) Are there redundancies in logic, that over complicate a simple idea.

4) Are they using "common" best practices while developing the code?

5) How long is it taking them to create/implement base elements like
functions, classes, variables, etc.

These are just some ideas to look at. A lot of programmers are really great at
what they do, but lack organization of what they build. Some programmers are
great at organization, but over complicate simple ideas. It's variable based
on what your "expecting" with the end product.

Do you want, just get it done, and it works code?

Do you want clean, efficient, and best practices code?

~~~
Animus7
How is a non-programmer supposed to understand best practices, redundancies in
code, or time to implement a complex class?

I've been programming my entire life and I still wouldn't be able to tell you
if a Python class follows best practices simply because I don't know enough
python.

The problem is that a non-programmer can't quantify what makes a good
programmer any more than a non-mathematician can tell who writes the best
topology proofs.

I suppose anyone can get a feel for who "gets shit done" and who doesn't, but
then you're measuring something much less tangible than "programming".

~~~
gwillis13
Quality is a "measure". So regardless you still have to have a basic
understanding of what your considering "quality" and what isn't "quality" to
you. Otherwise you just shooting in the dark.

Make sure to read my post thoroughly, even I know what the OP is asking is
impossible without a basic understanding of what to measure by. I'm just
giving them ideas of what to research themselves to help apply some ideas for
their "quality" measure.

Also if you can't code a problem without requiring redundancies in your logic,
then you might be looking at the problem wrong. This is not absolute, but
there are better ways at problem solving in most cases.

edit: grammar

------
ankurdhama
Everyone has already mentioned the basics. What I would suggest that check
whether he or she can read some existing code and understand it and how
quickly then can do it. I just hate it when someone asks me give KT (knowledge
transfer) of some project to another team and ask me to take them through code
rather than high level design. I mean if you can't read someone else code and
get the intent/design out of it how you are supposed to write good code
yourself.

