The first question to ask is, do you really need a programer?
Assuming you are past this stage and you really need a programmer, the next question to pose is, can you pay this programmer? Lots of startups want to get free help with development and don't have the cash to compensate the programmer, nor do they want to give out any equity. The question then becomes, who would want to do all this work for free? There has to be a value proposition to the programmer in some form - perhaps it provides the person with experience they need for their next gig. This then poses the next question: Are you getting the best resource to get the job done?
Generally it is always a good idea to first think through the matter of compensation before setting out to find a programmer (or any kind of technical or design resource for that matter). Once you can provide fair compensation (whether via cash, equity, in-kind services or other), you can post your job requirements in the social networks that your potential resources reside in.
For example, if you want to find an undergrad coding guru to help you with a custom web app with a database backend, you can post a job listing in a departmental mailing list by going through the academic department's administration office. Or if you want to find someone with experience and have seed funding to compensate them at market rates, you can post it in your own social networks and ask your professional contacts for referrals.
Special thanks: Martin Trust Centre, MIT