Alex Wilhelm is a technology blogger and entrepreneur. He is a co-founder of Contenture, an online payment platform handling small recurring payments, and blogs at TechGeist.net. Alex can be reached on Twitter @Alex.
Before you can even begin to think about hiring a web developer, you have extensive homework to do. These steps will save you endless headaches in the coming days.
Map project.
Get the scope of what you want as specific as possible. Decide exactly what you want built, where, why, and how. Once you have a developer on board, their time is money. By getting your plan straight now, you can save hundreds or thousands of dollars later by not losing time.
Determine what resources you are going to need. [ie. Heavy PHP built on a LAMP stack etc.]
You are going to have to look for a specific developer, so you must know what specific building blocks are going to be part of your project. If you truly do not know, you should probably scrap the project. I would recommended going over what languages/architectures that you think you need with an experienced friend. Usually half of them are cut out at this point. You may think that you need action script, but I doubt it.
Consider scale, what you might want to skimp on.
If there is an area of your project that you think might be open to scaling back, always keep that in mind. This is the place you can cut down on to make deadlines. Developers are always happy when you lower their work load and do not move the deadline.
Determine the budget that you have for the project, and for the developer.
You should already know this, but after you do the previous steps, you may have to change your numbers. If it is too expensive, stop. Development projects rarely end up under budget. You do not want to open a second mortgage sized can of worms.
Decide if you are willing to work with offshore development teams.
Before you can look, you need to know where you are looking. This is crucial. Offshore teams managed well can be money savers, but will require more of your time.
Check general market prices for the types of development you think you want to use.
As part of your continuing cost analysis, you need to keep your numbers correct. PHP work might have gone up 10% in the last month. Check all your inputs again.
Now that you know what you need, that you can afford it, and your project scope is in hand, you can get the talent that you need.
Start by looking for talent in your phone’s address book.
I always recommend working with people that you have before. It takes all the fun little surprises out of life.
Ask around if anyone knows of a good developer that is looking for work at the moment.
Second best to knowing someone is to get a referral. A well trusted cohort or friend my know just the jQuery help that you so need.
When that fails, get on Twitter.
Hit up your network and find someone. There is always someone looking for work, or knows someone that is. Fire some tweets with well hash tagged keywords. People following you will see them along with people that are searching Twitter for those keywords.
If that fails then get on Craigslist:
It is not ideal, but a Craigslist post will get your work noticed. Especially if you include compensation and length of project information.
Finally, if nothing works at all consider ODesk or eLance.
Although I personally tend to avoid the services, and paying a third part, these two websites are jam packed with developers that have time and expertise. However, you might have a harder time doing your homework on the team before you hire them on these websites.
Vet the person vigorously, get a good look at their portfolio, educational background, work exp, etc. The whole bit. Get 100% of everything that you want, nothing less.
Never hire someone until you have given the complete and thorough drubbing. It might work to skimp here on the occasion, but this hour of your time will repay itself twenty fold over the coming projects.
Bring the person on with a one month contract, that is, they can be let go after one month for poor performance. Make it clear that if following the one month if everything is going well, then they will be given an extended contract of XXXX dollars for X months.
Unless they are so qualified, that it would seem disrespectful to do this, I nearly always recommend not putting a new developer on contract from the get go. This is for the benefit of both you, and the coder. Until you know how that developer works (coders are very individualistic, which is great), you do not want to lock them down. They might find you to be annoying as hell, or vice versa. Do you both a favor, and work together for a month, and then decide if you want to proceed.
Other advice:
Listen to developers. If you already have a developer on staff, get them involved in the hiring process. They might not want to, but their input, expertise, and the like is absolutely crucial. They are going to be coding with the new guy, so they had best like him/her.