Over the last five years I’ve probably hired over twenty developers, some have been for specific projects, others for ongoing assignments. There was a time where I have five different developers doing five different things, now I’ve consolidated down to two but they are doing more work that the five before them. While it would be wonderful if every developer was created equal, sadly they are not. The problem is, if you don’t know much about development yourself, you probably can’t do much to analyze the code a developer is writing.
Here’s the catch. You can pay someone $2,500 to write crappy code that will crash and burn when you need it most, or you can pay someone $1,500 to write amazing code that does even more than you want it to do. Yes, that’s right, it’s not all about cost, it’s about quality, but if you don’t know the difference then you could end-up wasting your hard-earned money.
I started-out by outsourcing all of my development work to places like India, Pakistan, and The Philippines. The reason? It was incredibly cheap. I could get a PHP developer for $10/hour rather than $50/hour here in the US. What I learned is a very valuable lesson. It would take my $10/hour developer 30 hours to do something a developer here in the US could do in 2-3 hours. This meant that while I was paying less per hour, I was paying more per project, and in the end I had to abandon much of the code that was written as I often find the quality and uniqueness of the code was not up to par.
Now I have two developers, both located here in the US, in fact both are here in Southern California. I learned a lot about the Zen and Art of Hiring Developers in my journey and thought it was time to do a post like this sharing some of the biggest lessons I learned with all of you.
- Avoid Outsourcing – while there is always a chance that you could find an amazing developer far far away, managing them and keeping track of what they are doing is next-to-impossible. Also motivating them and keeping them excited about what you are doing is also hard unless you have 40 hours of work a week for them. You don’t get the ability to build a real relationship with them and at the end of the day they really just see what you are giving them as work, and want to get it done as quickly as possible. Couple this with the time difference and your in trouble. I would only recommend outsourcing if you are a developer yourself, already have other developers working on the project, and have very specific tasks you are looking to get done. Otherwise realize that you’ll probably end-up paying more than $50/hour, even though you think you’re paying less than $20.
- Conduct a code review – if you hired a writer, wouldn’t you want to read what they are writing? The same is true for developers but often their code goes unchecked since the people hiring them don’t know how to code themselves. As a developer myself this was always critical to me and it should be critical to you as well. The longer someone writes code for you, the bigger hole you could be digging and yes, in the end, you could have something completely useless, or something that only your developer knows how to do. So if you don’t know how to code, don’t feel bad, but do find someone who does know how to code to review the code your developer is writing. You probably have a friend or two who’s a code geek, if not ping me and I’m happy to give it a quick look, as a blog reader you’re a friend of mine!
- Talk to previous employers – this applies to more than just developers but is critically important especially when hiring a developer. Talk to past employers and find-out how code the developer wrote is working now, were there lots of bugs? Did the project take longer than expected? Was the developer easy or hard to work with? I recommend these conversations take place on the phone, it should take less than five minutes and you’ll end-up learning even more than you planned to. After talking to 2-3 previous employers you should have a good idea if this is someone you want to work with.
- Set a Trial Period – with anyone that comes onboard at Linton Investments we always have a trial period. This is typically a month or two and I make it clear that during this time I will be evaluating their performance and making sure they know their stuff. This will also show you the calibre of work they offer. If they do a bad job during a trial period, imagine how they would do once they are fully onboard.
- Hop on the Phone – last but not least, you should hop on a phone call with the developer and have a real conversation with them. This is your chance to share the excitement and passion you have for the project. Working for you should be fun and you should find someone that gets excited about what you are doing. Avoid only communicating via email and Skype, there’s no replacement for a phone call and I highly recommend doing this before they write a single line of code for you.
So if you’re looking to add a developer to your team, good, a great developer can do amazing things for your business. Just remember that a terrible developer can cripple your business and force you to spin your wheels waiting for them to fix broken code. Take the time to find a good developer and turn those dreams of 1′s and 0′s into a reality.