

How to find reliable programmers? - tboxer854

So, I am sure we all have this problem.  But is there a way to find reliable programmers in the US/Canada?  I know services like elance exist, but they seem to be overrun by overseas programmers.  That is fine, but not what I am looking for.  Any ideas?
======
kjhughes
To find reliable programmers, start by being a reliable recruiter...

DO:

1\. Check with your inner circle first. You know their interests, skills, and
reliability. If they're not available, ask if they would vouch for anyone they
know that might be interested and available.

2\. Broaden your search to past associates who you have reason to believe
would appreciate hearing about the opportunity.

3\. Check the list you've been maintaining (!) of programmers whose public
work you admire and who have indicated availability for consulting work.

4\. Present the opportunity to relevant user groups or communities. Be sure
their policy welcomes such queries, especially if you're not a regularly
contributing member.

5\. Be upfront and explicit about available compensation. It wastes both
party's time trying to get a max $25/hr opportunity together with a min
$125/hr consultant.

6\. Consider permitting remote work. Some of the most effective teams I've
worked with have been distributed geographically. If you can make this work,
you've increased your pool of possible matches tremendously.

DON'T:

Assume that your need to find someone gives you license to be pest. The one
person who ends up in the position will appreciate that you found him/her. A
small group will appreciate the consideration. A somewhat larger group will
tolerate the intrusion. Most of the rest of the world won't want to be
interrupted. Try not to bother them.

------
lacker
It depends on a lot of things. Are you looking for contract work, or for a
full time employee? Are you looking for someone to take a lead role, or junior
to another programmer that you already have? Do you need experience with a
particular set of technologies? Can you spend enough to be competitive with
anyone else out there, or are you looking for a cheaper solution? Do they need
to live in a particular place or is remote okay?

------
terrellm
Many of the good programmers avoid services like eLance because they simply
can't compete against the lousy coders who will bid $200 to develop an eBay
clone in 7 days.

Perhaps you could look in the open source community of your language or
technology?

~~~
thetrumanshow
Yes, exactly.

Occasionally, maybe 4-5 times a year, I get burned out on whatever current
crazy startup idea I'm currently working on, and so I go looking for something
different to do for a week or two.

I spend around 2 minutes looking on Elance, Rentacoder, etc, and immediately
get discouraged (see above). Then, I spend some time looking at craigslist and
maybe apply to 1 post in an evening's time (it's a lot of work getting your
resume prepped to send). Then, a couple of days go by and I don't hear back
from the one poster I applied to (I assume they are too swamped with awesome
applicants to respond)...

So I go back to working on my project.

------
gte910h
Avoid: Elance, getacoder, rentacoder, guru

Craigslist is honestly better than those places.

Ask for references, samples of past work, etc. Good programmers will have to
ask you "of what kind of work" to narrow it down.

------
tom_b
Do you already know any hackers/programmers who you consider reliable?

Request a few small code samples from candidates with some short (a few
sentences description) of what/who/how the code was designed for and a little
bit of context (ie, was the code produced under a 24 hour deadline to fix a
critical bug or the result of a six month side project).

Have your existing reliable programmers skim over the submissions, looking for
a quick yes/no. Bring in (or video conference, whatever works for you) the yes
candidates, and actually treat the interview as a short work session.
Brainstorm about your project requirements, technology approaches, talk about
challenges you see, ask them for what challenges they see and how they would
approach the problem. [EDIT] - oh, make sure to vet the submitted code samples
too - if a candidate can't talk coherently about the submitted samples, I
would be in "thanks for coming" mode.

Ultimately, I'll echo what most posts here are saying - if some
hacker/programmer in your network says good things about a fellow
hacker/programmer, you're probably way ahead of the game.

If you're completely unable to evaluate technical candidate skills and have no
hacker/programmers in your personal network, I think you have to move back to
a suggestion by bjclark - "Hire a reputable company." Maybe you can even pay a
reputable software company to vet candidates for you - I've had poor
experiences with IT recruiting companies, but I've always been on the other
side of the table, trying to find a good technical recruiter to work with.

------
abyssknight
1\. Don't look for a programmer. Get a developer or an engineer. If they don't
know the difference between the two, that's strike one.

2\. Use your network. People you know, even friends of a friend, are far more
likely to be honest about their skills.

3\. If it looks too good to be true, test it. Ask for previous works, ask how
they would solve a problem, ask until you're convinced they can do the job.

4\. Be clear about what you want done. Draw up mockups, outlines, concept of
operations. The less the developer has to ad-lib, the less skilled they have
to be to get the job done. I'd venture to say that most of the mixups
developers make are due to requirement holes. If you know what you want, you
can verify its done the way you want it done too.

~~~
notauser
Even if the programmers you know are too busy to help out, then they can at
least help with the search.

Job adverts and assessment questions written and reviewed by technical people
look a whole lot different to ones written by the non-technical.

------
bjclark
Hire a reputable company, not a random guy. Hire someone that has a portfolio,
references, contracts, an office, a business phone number, an address, etc.

Oh, and be prepared to actually pay an appropriate amount of money. You do get
what you pay for.

------
retroryan
Programmers who read hacker news is a good starting indicator :) I would also
look at their previous work and how much of an online presence they have,
articles, open source projects, blogs, websites, etc. And a shameless plug -
if you need an independent and highly reliable programmer, drop me a line ryan
at anvilflex.com

------
jhancock
If your in any city in US/Canada that has even a small startup culture, go to
their meetups. I can think of 20 U.S. cities that would be easy to hook into
the local IT scene. Tell us where you are and maybe someone can plug you in.

Also, many of the online resources such as elance and oDesk have US and
Canadian profiles.

------
liangzan
By recommendation. Get to know good programmers. Then ask them for their
recommendations.

------
jmonkey
craigslist

------
morbidkk
stackoverflow/jobs.37signals

------
californiaguy2
Good, reliable programmers are very expensive. Think $200k/year minimum.

This might not have entered into your vision of reality but I assure you
that's how it works. If you keep getting shafted by cheap programming "talent"
and keep looking for more, you might just be a fucking idiot.

~~~
tsally
_If you keep getting shafted by cheap programming "talent" and keep looking
for more, you might just be a fucking idiot._

Swearing and making poor extrapolations off of a simple query doesn't make you
cool. It actually makes you look like the idiot, not him.

~~~
californiaguy2
I wasn't trying to be cool, I was answering his question in a straight forward
and honest manner. Other people seem to be more interested in trying to blow
smoke up his ass talking about interesting problem domains and how money
doesn't matter.

~~~
astrec
I was actually replying to you, not him, with an observation drawn from my
experience employing a great many programmers of differing ability, including
perhaps half a dozen great programmers.

In terms of great programmers, money is often subordinate to a great many
other things, hence adjunct. Note I didn't say money doesn't matter.

Let me illustrate by paraphrasing the conversations I have on occasion.

    
    
      Ordinary Programmer: I'm quitting.
      Me: Why?
      OP: I can get $15k more at X.
      Me: Will you stay if I match it?
      OP: Yes.
    
      Great Programmer: I'm quitting.
      Me: Why?
      GP: I've got a great opportunity to work over at X with Y  doing Z.
      Me: Look, I can't afford to lose you: If it's a matter of money I'll match it. 
      Me: Perhaps we can see how Z might work for us....
      GP: Actually I'm pretty keen on working with Y. 
      GP: It's not about the money, believe it or not I'm taking a bit of a cut.
      Me: I see. Is there anything I can do to make you stay?
      GP: Nope. Hey, once I'm settled in you should come and meet Y.

~~~
steverb
In my experience Option B above only occurs when leaving a lousy work place.
I've done the same thing twice.

But after about 2 years of not making money at the "great place to work" I end
up having to move on to something that is also interesting, but actually pays.

But then again, I never accept a counter offer. If I was worth 15k more to
you, then why the hell weren't you paying that to start with? That just shows
a lack of respect.

~~~
btilly
Absolutely don't accept counter offers. The main reason they are offered is so
that the company can have you leave on their schedule, not yours. Even if this
isn't their agenda, you've created a poisoned atmosphere which will make
something you're unhappy with be even worse.

