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
- 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)
- 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)
- 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?)
- 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)
- 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)
- 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
- 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)
- 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.)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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!







Interesting stuff. Obviously, the best programmers for you might not be the best for me…
I am also a programmer. But I’m definitely not a 10x. I might have been a 5x a decade or so ago, but I am currently losing interest in programming for a living and looking for something else — where I might even do some programming for fun.
Turns out I might have use for a programmer to do a small specialized task for me, which I can then maintain myself. Kind of a short cut in the learning process for an unfamiliar (to me, but popular) platform. I will keep your pointers in mind when searching.
@Matt Thanks for turning me on to bitbucket. I managed to get a local install of Subversion on my laptop, but it just seems too much hassle to use (I may have set it up sub-optimally). I just registered an account on bitbucket, and I will be archiving all of my personal projects there.
Whether you are hiring a programmer or a simple VA, a graphic artist or SEO, be prepared for a little heartache. Just like a traditional employee, some people are great to interview and their specs., are great but after a few days you realize that you two are not a good match. When that happens, let the person know, terminate the contract and move on. Don’t prolong it.
That’s why when I hire a programmer or VA etc., I don’t close the job/Ad for a week or so. That way, if things are not working out, I move forward with the next in line short listed candidate.
Hey Trey,
Glad John Reese suggested to read this, it is GREAT stuff. What is the site you hired your two guys from?
This knowledge in full force is powerful.
Cheers,
Mukul
Hi Trey,
Although I have yet to be in the apps biz, being a offliner myself also faced the same problem, and glad to see the tips you listed, really learned something and wish I see these tips few years ago.
Trey, may i know how you handle if a programmer provide great work initially(like for half a year), but performance starts to go down slope?
Honestly man, I let them go.
Thank. Great tips.
It spawned at least one more question.
A fixed price bid generally requires an unambiguous description of the project.
How many hours do you spend on writing the spec for $500-$1000 or the $3000 title?
Will a good programmer be able to get by with a few vague pictures and some bullet points? Or you saying “kinda like this mobile game but with vegetable icons?”
And are the requirements fluid? Suppose you want to tweak your app to improve conversions in the field. Or will you have hired them fulltime by that time, so it doesn’t matter?
As for the vague requirements, good programmers will clarify as much as he can before committing.
As for the tweaking, my approach would be minor tweaking would be free after release say, for the first three weeks after release. Big tweaks probably going to cost some hourly rates.
Trey,
Are the guys you hire ‘full time’ working hourly or by the project?
thanks
When I hire them full time they go on salary. We wire them once a month.
I would like to add: just do it!!!
I think many people afraid to hire programmers are just full of self limiting beliefs.
I just had my first full app made in 2 weeks from the third guy that responded to my ad… He built the prototype and showed it to me before I even chose him! Was I lucky? No!! I simply used vworkers crowd sourcing
option.
Great advice here Trey! Just do it! now is the time.
Dude, you are 100% right.
Thanks for tips Trey, I’ve just hired my first dev for a very small app and these are very helpful.
Rad post Trey, thanks so much for the great tips and benefit of your experience. Absolutely wonderful and practical, a rarity. You do rock!
Thanks!
Wow thats a fullly loaded post, thanks Trey!
great advice here Trey. As a programmer myself (a fairly good one I think) I’ve worked with a lot of other programmers over the years and know just how hard it can be to find qualified, intelligent people to code.
I would add a tip that most of the very best programmers out there are starting to develop a portfolio of sorts on sites like github.com and bitbucket.org. People that love to code, write a lot of it and often share some of it on these sites. If your programmer is active on these sites is generally a pretty good indication that they are life long learners who care about their craft.
It’s a little disheartening to hear that so many people stumble trying to build an app company at the finding a programmer stage. It’s such an exciting business to be in once you have games in the store that people enjoy playing.
Err, that should have said “I don’t really want to touch dirty, old, complex codebases myself, but it tends to be what pays the bills.”
That’s actually a good point. I hire people on odesk and… …you can get programmers who work cheaply (for the industry), but it’s so easy to get programmers who program dirtily. So far, that’s been pretty much all of them. Admittedly, I work on dirty, old, complex codebases, so I shouldn’t be surprised that awesome coders don’t want to touch that. I don’t really…
But searching github, that makes sense to me. It’s a little… …rude to cold-call-like, but sometimes you have to be to get in touch with people you want to work with. Maybe that’s what I’ll try next.
Agreed my man. Great thoughts and tips. Thanks
Hey man
When you go to different sites to advertise, do you use an alias or do you have your real profile on every site you advertise on?
Cheers
Trey,
Every word of this is spot on.
Pure gold.
Love your games man.