I’ve answered many questions recently from entrepreneurs looking to start their own online business. Most of the people who’ve contacted me aren’t programmers themselves, so a frequent question has been, “How do I find a good programmer to create my website or web application?”. I wanted to give some tips to help with this common question.
Don’t Hire a Programmer for Non-Programming Tasks
First, if you just need a basic content-only website, like a blog or a website to tell about your upcoming product, or even a shopping cart site, there’s no need to hire a programmer. You can get a free website at WordPress.com, or get your own domain name and install the WordPress software yourself with one click. There are even free plugins for shopping carts if you want one.
If you want a nicer theme than the free WordPress themes, you can buy one for under $25 from themeforest.net. Or if you want a custom design, host a contest at 99designs.com, and then pay a slicing company like psd2html.com to turn it into an html site or WordPress theme for you. If you’re not sure how to buy a domain name or setup hosting on your website, you can learn how in under an hour by searching for tutorials on Google or YouTube. GoDaddy has an all in one solution that I’ve heard is pretty easy. Or you could probably hire someone on Upwork or Fiverr to set it all up for you for under $20. It’s simple, and just about anyone who says they can do it, will be able to.
5 Tips for Hiring a Programmer
Now, if you’re ready to create an actual online product, such as a web application to help real estate investors track their properties, or a scheduling tool for family therapists, this is where you’ll need a programmer. I don’t recommend taking this step until you’ve actually tested your idea, and done a little research and number crunching to make sure your business has a good chance at being successful. But assuming you’re ready to move forward, here are some tips for finding a good web application programmer:
1. Don’t hire one person to do everything
It’s rare to find someone who’s both a good programmer and a good designer. If you need a good design, hire a designer (or find a good template). If you need someone to slice up the design and turn it into html and css code, then use ones of the hundreds of slicing sites out there (google “html slicing” or “psd to html”). Don’t make your programmer do this stuff. Let them focus on the type of programming they’re good at. Having one person doing both programming and database management is usually fine, though, depending on their experience.
2. Hire your programmer full-time
Hiring someone on a temporary basis just to complete the project can work, but you’ll pay a lot more, lose out on loyalty, and months after the project is “done”, you’ll find bugs or realize you need some different features. If the project is ”over”, then your freelancer may have already moved onto other projects and no longer have time to help you. It’s hard to ever call web-based software “finished” if you want to keep growing. So hire a programmer full-time and permanently. They will appreciate it, and so will you.
3. Hire a programmer who has experience with frameworks
A programming framework is like a set of tools that makes it faster and easier to write software with consistent code. Rather than hiring someone who knows “PHP” to write your site from scratch, hire a programmer who has experience in a framework, such as Laravel, Ruby on Rails, or Django. These are usually the more experienced programmers. You’ll save a lot of time in development, and have less headache in maintenance. Using the framework will also make it easier to hand off the code to other programmers down the road, because they will be able to understand the code and where things are at, almost instantly.
4. Be Aware of Culture
While there are probably excellent developers in every country, there are cultural differences that can make working together more difficult unless you’re willing to make some changes in your expectations and communication. For example, the Indian head wobble is not only difficult for a U.S. manager to interpret in person, but the “I’m saying yes, but mean no” tendency can seep into writing, too. I’ve worked with excellent programmers from India, who do communicate well, but they can be difficult to find. I’ve also worked with Eastern Europeans who are amazing developers and good communicators, but more commonly, it feels like there is a barrier to open communication and I feel like I have to pry incessantly to get the information I need. This may all just be my lack of skill as a manager, but it’s led me to prefer hiring elsewhere.
One country I’ve had very little cultural and communication issues with is the Philippines. While developer skills vary widely, most of the Filipinos I’ve worked with have had near perfect English, and they tend to be honest, hard-working people who aim to please and do quality work. Of course, hiring developers from the U.S. will obviously be the easiest from a cultural perspective, but 5-10x more expensive, and not necessarily any better quality. Besides, many firms in the U.S. just outsource to other countries anyway, and make a killing off of you doing so.
5. Advertise on multiple sites
When outsourcing, you may first think to post your job listing on Upwork.com or hire quality talent through TopTal.com. These can be a great way to find programmers. But along with the built-in billing and screen monitoring benefits comes a higher cost, and many of these programmers only want short-term gigs. I’ve found fabulous programmers through Upwork, and TopTal is supposed to have only the best, but my favorite way to find long-term and full-time developers is on local Filipino job boards like onlinejobs.ph.
Bonus Tip #6. Create a Hiring Process
Once you have a few applicants, then comes the trick of determining who to hire. I’ve created a fairly elaborate 3-step process using Google forms, Docs, and email templates, to filter those who have the development skills, communication skills, personality, and cultural fit for my business. Of course I look at reviews and past work, if possible, and reach out to references of the ones who make it to the final stages. I also email them back and forth several times and make sure there won’t be any language barriers, and do an actual interview for my top picks. Sometimes I’ve even hired two or three programmers at once for a testing period, assigning them each a task to see who does it best or fastest, then keeping that programmer.
But all of this may be overkill in some situations. You’ll need to come up with a hiring process that works for you, asks the questions that are important for you and in your company in the position you’re hiring for.
I hope you’re found these tips helpful as you hire a programmer for your project. There are many ways to do it well. And these are some things I’ve found effective.
What tips have you found helpful when hiring a programmer, or when outsourcing other tasks?