The Zen and Art of Hiring Developers

SONY DSC

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.

  1. 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.
  2. 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!
  3. 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.
  4. 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.
  5. 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.

Photo Credit – Vvillamon via Compfight cc

{ 5 comments… add one }

  • Schwartz's Anus January 23, 2013, 11:58 am

    #1 Rule: Avoid INDIANS/PAKISTANIS!!!

    They are GENRALLY crooks who see westerners as cows to be milked

    Fom MY experience of using 10 Indians, ALL eventually had plenty of excuses to stop working (and wanting to get paid):

    – mystery illness
    – death in family
    – powercuts

    These mofos esp project manager will ‘delegate’ to some novice to do the spagetti code.

    BEFORE the start, they will promise the earth
    Their pitch is YES to everything

    Then when the shit hits the fan, said Project manager will point the finger at everyone but himself

    If your project gets done, it will be by sheer luck after going thru 10 indians
    And only after MUCH headache & chasing, wastee energy & time!

    AVOID THESE MOFOS!

    Go for a European or American!!

    PS Before anyone shouts out “raciss” (sic), this is from MY EXPERIENCE

    Reply
  • Jacek January 23, 2013, 11:59 am

    Hi Morgan
    It looks like finding a good reliable web developer is a common type of problem everywhere around the globe. I surprised You did not mention looking at one’s portfolio as an important thing. I just learned the hard way that an impressive portfolio can not guarantee a good results all the time and with every project as we will never know the number of one’s failed projects. The other thing is the ratings based on client’s opinions. Just recently I had a website built by a very fast, communicative and professional web developer. But once I gave a great opinion about him he’s gone. I’d like to hire him for another project but I guess he’s busy which just might be the result of my good opinion of him 🙂

    Reply
  • @Domains January 23, 2013, 2:31 pm

    I wonder why these talented coders aren’t building their own sites, and are working for someone else? You’d think they’d rather build their own business, but maybe not all are the entrepreneurial type.

    Reply
  • Morgan January 23, 2013, 2:36 pm

    @Jacek – very true and looking at their past portfolio should definitely be a part of the process. I see that as part of #3 as talking to past employers really means looking at previous work they have done. It is true that good developers can easily be spread thin, that’s why fostering a good relationship is so critical with any member of your team.

    @Domains – not everyone wants to take on the risk and responsibility that comes with running your own company, in fact most people do not. For those developers who do want to take this on, they often do.

    Reply
  • mano January 23, 2013, 7:00 pm

    Pay Peanut….. and get a monkey and we shall blame the monkey.

    Reply

Leave a Comment