Digital programmer

Published on June 19th, 2012 | by treysmith

94

How to find a good programmer

Ok ladies and gentlemen, Last week I asked (via my email list) what was the biggest issue you guys had when creating an app.  We had a ton of responses and the most common question (by a landslide) was “How do we find a good programmer“. Not everyone said it that way, we heard many things like:

“How can I get a developer to deliver on time???” “Where can I get a programmer that I trust not to steal my code?” “I’m having a hard time finding RESPONSIVE programmers who can deliver on budget.” “To many programmers saying they can do things they can not, help!”

I’ve found it’s much easier to get a gangbuster designer than it is finding a great programmer.  The biggest reason there is PROOF that they are good.  Like many of you mentioned, you can’t really tell how good a programmer is by looking at a picture. I can tell if you someone’s design is good or not in 2 seconds.  I look for style, uniqueness and the over aesthetic.  You can’t see code quality in a picture. The good news is this:  All of these problems can be solved.  Remember, you are dealing with the same pool of people that me (and everyone else that finds great programmers) are dealing with, so please don’t fall into the negative mindset that “all the good guys are taken”. This is simply NOT TRUE. Right now there are 22,819 game developers and 40,669 app developers JUST on odesk: Even with the duplication I bet you have at least 50,000 programmers available JUST on that one website.  Pretty amazing as I remember when there were only 20K on there not long ago! So, how do we dig through 50,000 people to find someone good?! I’ve got a system that’s worked great for me.  I just hired two more programmers full time from an outsource site last week and they are starting July 1st.  They are phenomenal programmers and super awesome guys.  One of them is a game server specialist and the other one a cocos2d master.  This will put my team up to 5 full time employees and about 5 part time. My full time guys are all AAA top notch producers that could rival the best.  We push out amazing products faster than about anyone else I know for our team size, but it hasn’t all been roses and cherries.  I’ve spent over $40,000 on outsource sites and hire all sorts of people.  Good, bad, horrible and awesome. After 2 years of doing this, I’ve developed a specific way of doing things.  Here’s how I now consistently hire good guys:

The Ad

  1. I write ads quickly (You’re about to see a very common thread in all of this.  To move quickly.  This starts with the ad.  I keep my ads short and sweet.  I rarely discuss project details and put a focus on the fact that the project is unique and it will turn into something amazing.  Usually I write an ad in one pass and it takes about 5-6 minutes)
  2. I never search for someone, I only hire people that respond to an ad.  (This reason is simple… people that respond to your ad are hungry for work and interested in what you are doing.  Two very important things)
  3. I post ads like CRAZY (I post on multiple sites and post multiple times.  Sometimes I will post an ad even when I’m not actively looking, just to see whose out there.  Last week I posted 3 ads and had some amazing people reply.  I didn’t hire any of them.  They were great but not PERFECT.  I am not scared to post 10 ads before hiring someone.  Seriously, I’m psycho about this.  Whenever I talk to someone who is having problems, 99% of the time they’ve posted just a few ads and haven’t found someone.  Think about it this way, if every time I hire someone I go through 200 people and you go through 20, who do you think will end up with the best guy?)
  4. I ALWAYS go with my gut (Why didn’t I hire anyone from last weeks posting even though some seemed really good?  Different reasons.  Some seemed good not great.  Others didn’t reply to me quick enough when I messaged them.  Some I talked to on skype but they kept me waiting for a few minutes between interview questions.  If it’s not perfect, I move on)
  5. I move quickly (I don’t spend much time on each one, I am quick to hide someone if they don’t look perfect.  It’s better to scan 200 people quickly than review 20 people slowly)
  6. I don’t get bogged down (Ok, this is basically the same thing as moving quickly, but this is the biggest issue I see people having.  I really want to drill this down.  If you think it’s a pain in the ass to post a bunch of jobs or to go through a lot of people, then you are not moving quick enough.  You have to cover a lot of ground fast and look for diamonds in the rough)

The Interview

  1. If they don’t respond quickly during an interview, I close the interview immediately (I don’t wait around for 3 minutes every time they are responding.  I can’t stand that.  If that happens I just tell them it’s not working out and move on)
  2. If they are sarcastic or a smart ass, I close it immediately (This one baffles me.  I’d say about 1 out of 7 programmers I interview ends up being sarcastic or shows a bit of attitude.  I will never understand it but if that happens I immediately tell them it’s not working out and move on.  Don’t be scared to turn someone down.  I always just say “Look, it’s not personal but I don’t think this is working out.  Thanks though.”  Rarely will they even ask why.  If they do, I just say that I’m talking with another guy that is better suited.)
  3. I dive deep into their answers (This is huge for you guys.  First off I always question people about their talent.  I ask them point blank how good are they.  Could they make a game like this or that… what is the extent of their ability.  I might not know all the programming lingo, but I know how to ask them “Could you make a 3D shooter game?” or “Would you know how to create the server part of a turn based game?”.  I let them know it’s OK to answer no, that I am just trying to find out what all they are comfortable with.  If they say yes, I don’t just end it.  I say “Ok cool, how would you do it?”.  Then if they say I would use python I say “Is python hard, I don’t know it.  Is it common to use?  Is it scalable?”.  I dig and dig and dig and dig until I can tell they are either very competent or they are BSing.  The secret is the word “HOW”… no matter what they say you can always ask HOW is that done)
  4. I actually PLAY their previous games (I have never hired someone without first trying out one of their games and making sure it’s not a buggy mess)
  5. I only hire people that I bond with(If we don’t get along, I don’t hire them.  I want someone with a similar personality.  This is someone you will spend a LOT of time with so it really helps if both of you bond during the interview.  Again, go with your gut, if you get ANY weird feelings then don’t hire them EVER)
  6. If I am unsure of either price or their ability, I just offer a SMALL PORTION of the project (Ok, at this point in my career I don’t have to do this much, but I have done it in the past and it will help some of the newbies here.  If you are really unsure about someone but think it might be YOUR lack of knowledge and not them, then hire them to do 1/4 of the project at a set price.  If you are making a jumping game, get them to make a rough prototype with nothing but a bouncing circle jumping on rectangles.  If it’s a running game get them to make a circle that runs and jumps over squares.  Anything super simple like this should take a matter of 2-3 days max for a rough demo.  Pay them for that if they deliver on time and then work out a deal for the rest of the project.  Guys, if you are scared to jump in with someone this tip is REALLY strong.  It works well)
  7. Regardless, ALWAYS go full price and not hourly (Man, I used to always go hourly until a couple of times it cost me thousands.  Always demand them to look at the project as a whole and give you a price.  If the price is to high, then negotiate with them and cut features.  They will always negotiate with you.  I try to pay $500-$1000 for a cheap game and $2000-$3000 for a solid title.  If I’m going to make a high end title then I always hire them full time after testing them out on a cheap or medium game and do it internally.  Again, making a big title with an inexperienced person is a nightmare.  This completely avoids that from ever happening)
  8. Don’t pay anything until first prototype (Not only do I always do full pay, I also don’t give any money until they’ve done a prototype. Giving money before work has caused to many problems in the past)

Ok, so that’s 12 tips I use when hiring people.  The sites I like best are eLance, Odesk, Freelancer and Vworker. Something just hit me while I was writing this article.  I  realized that I knew all 5 of my full time employees were going to be COMPLETE badasses before I hired them.  When I found their profile and talked to them on skype, I immediately knew they would be great. I knew they would be A TEAM guys. They all had these things in common:

1. They responded quickly.

2. They were very knowledgeable.

3. They were respectful.

4. They were passionate.  They LOVED making games.

5. They wanted to be a part of something big.

There is a theory in Silicon Valley of 10X engineers.  Guys who can deliver 10X the results of a regular engineer.  All my full time guys are 10X guys.  Designers and programmers… and I knew they would be from the start. Now, that said, I haven’t mentioned the 30 other people I hired and don’t use anymore.  They are not ALL going to be 10X’ers… actually MOST will not, but I bet when you find them, you’ll know it immediately. The most important thing is don’t get bogged down.  Do quick passes and stop when someone really sticks out.  If you don’t find someone you like the first few times, then post again. I told some friends last year the best thing I’ve learned in business is to PLOW THROUGH.  If you hit a speed bump, then don’t stop.  If you have a bad batch of applicants 3 different times, then don’t start worrying.  Just plow through every obstacle until you’ve met your goal. It works wonders :) Talk soon, Trey P.S. – I use this basic system for hiring any type out outsourcer.  Designer, web designers, SEO, etc!

Tags: , , , , , , ,


About the Author

Trey Smith is the founder of Kayabit, a game company with over 10,000,000 downloads on mobile devices, Secret Headquarters, Inc, a marketing company that teaches entrepreneurs how to build their businesses and L-System records, a house music label from San Diego, CA.



94 Responses to How to find a good programmer

  1. Chris Burns says:

    Hi everyone, I have created 3 successful apps and have 5 more in development right now, and I definitely agree that finding great developers is the hardest thing about creating a successful app.

    If anyone here is looking for a team of great developers for the lowest cost. I am happy to team you up with my developers who are fantastic to work with.

    Contact me at c.bunrzy@hotmail.com if you want me to pass on my developers contact details to you :-)

  2. Ada says:

    Hi Trey and thanks for these precious advices! It’s true that us newbies are afraid to launch us because there are so many things and processes unknown to us…. Please tell me, how can we be sure that the developers are not stealing our code? And our idea? Is there a contract available? I am sorry if you already mentioned this previously; I may have overlooked it. I hope to hear from you soon.
    Many thanks
    Ada

  3. Art says:

    Terry, thanks a lot for an interesting post! Just a quick note – http://www.vworker.com link seems to be broken. Thanks!

  4. Eric Tippett says:

    Hey Trey,

    This is a very helpful article. I just had a specific problem in searching for a reliable programmer, that I hoped you could help me on.

    I have been having trouble finding a reliable programmer for almost 2 years now. I was wondering if I could try to quickly explain what I have been doing and maybe you could tell me what I am doing wrong. My game designs are piling up and not one has been created, so I am getting pretty stressed.

    First I asked everyone at my school to help program projects. They would accept and then drop out of the project or just dawdle around and barely communicate.

    So now I am currently asking for developers that know the Corona SDK. This is a SDK that can port to iOS and Android devices and is easier to program in then using a C language. This might be my problem since this may attract programmers that cant program C. It seems like everyone I work with on this site is slow and unreliable.

    When I get a response, I will Skype with them. They will sound very confident and say they can do everything that I want them to. They will have some game they worked on for a company and that is what I thought they could produce. I usually agree to pay them around $2000 to code the project.

    So far most of the programmers want pay upfront, what do I do about that?

    Stupidly, I did pay one of them upfront and am now regretting that decision of trust. He started on the menus, everything was moving at an okay pace. Then I paid him and he would take forever to deliver the game play updates and when he did, they would barely work.

    Do you pay in milestones or do you usually pay everyone at the end of completion?

    I was worried about paying in milestones. What if they ditch the project and I have to find another programmer. Then that programmer doesn’t understand what the last programmer did and has to start all over, costing me more money?

    What engine or language do you use to create your games and what would you recommend that I use?

    I am creating simple 2d games as well, so they arent crazy 3d projects or anything. I was only using the Corona SDK, so I could port easily to all devices but this is becoming a nightmare.

    Thanks for any help that you can give me, there is more to say but I trying to keep this as short as possible.

    Eric

    • Roy says:

      Eric, just a suggestion, but if you have a large project, there’s no reason that you have to deal in milestones or the whole thing either. Instead, just break it up into smaller bits that make sense. And if you’re going to work with any programmer, you pretty much have to see them at work first. You’re probably never going to get a large project done with someone you hired for the first time last week. So start them off on a small job, a small project, and then work your way up from there once you’re comfortable with each-other.

      Of course, in the game development space, ideas are a dime a dozen, execution is the hard part. And that includes my own ideas, for me. I’ve got lots of ideas, but the hard part is starting them and making them stick, it’s not the brainstorming part. :p

  5. Tim says:

    Hey Trey,

    I think I have an awesome game idea. I actually thought of it more than 20 years ago, but as a board game. Well, as you know, things have changed, yet my idea is still credible, only as an app now. It is loosely based on trivial pursuit, but has a twist. My problem is I don’t have the time, expertise, nor money to develop it. I am looking for a partner. Interested?

    Tim

  6. Paul says:

    Thanks for sharing all this good info Trey! Could you go into some detail about how you transition a developer from project to full-time status?

  7. terry says:

    Trey,

    I am just a new member of the AppLite2 team and all this is pretty scary to me.

    But what I can tell you is that your tips are absolutely amazing. And the one ting that you said that resonates with my experience is that you do know right away when you have a great programmer. They do have to have the skills but it is how they handle the difficult situations and how they work with you that really does make a huge difference.

    I think the one thing you didn’t mention and I know that you already do it – that is telling your programmers when they do a great job – when do go that extra mile to get things done. It is really important.

    • treysmith says:

      Thanks for the compliment Terry! Getting the team in place is the toughest (and most important) part, but since you have PM it will be easier ;)

  8. Pingback: Strategies On How To Make Money In Mobile Marketing | changealarm55

  9. Pingback: Using Social Media Chatter In Your Mobile Marketing | tailor9brown

  10. Pingback: Do You Need Help With Your Mobile Marketing Campaign? | satinteller65

  11. Greg Dawson says:

    Watched your recent App Empire video and then read this post … thank you, sir. I literally followed it to the T and had over 50 applicants in a few hours and was able to whittle down to 4 after sending the message, skyping, checking work, asking questions, yada yada … then was able to hire a top programmer for the appropriate budget within 24hrs. Phenomenal advice you’ve given, thank you.

  12. Dave says:

    Great advice Trey,

    I’m just curious about what defines an acceptable prototype. What are you looking for?

    • treysmith says:

      Something that shows off a proof of concept (if it was a jumping game, then showing a ball jumping on platforms would be fine for me)

  13. Terry says:

    Trey,

    I wanted to tell you that not only have you changed my business by allowing me to add the design and development of mobile video games via PM you also helped me save the other side of my business.

    Your approach works. There are great people out there with great skills that want to do great work.

    Thanks for opening up and sharing your approach. You are a special guy.

  14. Dave says:

    Our company uses Toptal.com with great success as we have a few developers with them. I highly recommend them.

  15. Michelle says:

    Thanks Trey, brilliant information. I have a project in mind but not sure what type of code/platform I need to have it developed under. How do I know the developer has the skills to develop the product against a list of features/requirements if I don’t know if what they are doing is what is required? I see an article coming on :D Cheers Michelle

  16. Perjan says:

    Dude, you rock!
    Thanks for all this info.

    I will go like crazy on Odesk now and post some jobs :).

    Thanks a lot.

  17. Pingback: Noise Reduction .41 | Preneur Marketing Blog

  18. Enrique Garibay says:

    After revisiting this article after some months, I recall you saying earlier how you have your game developers log into your machines to do their work. Is that still the case with everyone you hire?

    If not, what are you requiring that they provide you on an ongoing basis?

    Do you require that they give you periodic code dumps?

    Thanks.

    Enrique

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Back to Top ↑