You have an idea. It needs to be a website or mobile app. You can visualize how people would use it. But you need help building it since you can’t build it yourself. You are a non-technical person. You need to hire a programmer. But how do you hire a programmer if you’re not one and don’t know what to look for?
Below are my 10 principle guidelines for hiring a programmer:
The founders of 37Signals put it simply, “Never hire anyone to do a job until you’ve tried to do it yourself first.” Because things change so rapidly with programming, programmers are always learning. Learning is in their DNA. If they don’t know something, they learn it. You should too, or at least attempt to learn.
To get started, ask friends who program what books or articles to read. If you don’t know any programmers, go to a local Meetup group for programmers. Become a sponge and practice what you learn. Better yet, sign up to an online software course or enroll at an extensive software school. You’ll invest 3-6 months of time but will save yourself money and time in the future.
Paul Graham clearly explains why, “The problem is not so much the day-to-day management. Really good hackers are practically self-managing. The problem is, if you’re not a hacker, you can’t tell who the good hackers are.” Learning about programming will help you tell which programmers are good.
Make it interesting
There are now 4-5 available opportunities for every software developer. Why will your opportunity stand out, and what do you have to offer? Remember, the most important quality of any great programmer is that they love to program. In “Great Hackers,” Paul Graham says, “Ordinary programmers write code to pay the bills. Great hackers think of it as something they do for fun, and which they’re delighted to find people will pay them for.” Take the extra time to think about what you want to build and what you can offer. Make your idea as attractive as possible. Start with offering a programmer an interesting problem to solve.
Be transparent about what you can offer, and don’t hide details. If you don’t have money you better start learning. If you have cash then pay extra for a quality programmer. A great programmer will build it right the first time and architect a strong foundation that will make your product more attractive to a programmer later on. If you have cash and raised a capital be sure to offer equity but only do so to sweeten the deal. Cash is king.
If you’re starting at the idea stage don’t overwhelm a programmer with the grand vision. Stick to building Version 1. Limit your hundred features to the three most important features. Let programmers know what you want the product to do and what you’re trying to build. Leave off all details that the programmer doesn’t need to know. Be concise, programmers love that.
Open Source Contributions
Some of the biggest companies such as Google, Facebook, and Yahoo now use a programmers open source contribution as a proxy for technical skill and passion for programming. They will often program all day at work and contribute to the open source at night, for free! This makes open source programmers passionate about their craft. Also, keep in mind that someone who loves what they do tends to be more reliable and trustworthy.
Ask an open source programmer to send links to her Github profile. For those unfamiliar with Github, think of it as a library where programmers store all of their code. If a hacker doesn’t contribute to open source ask “why not?”
Ask a programmer for links to three projects she is most proud of. You probably won’t understand how it was built but you will get to see what she built. It’ll give you an opportunity to see what you want but maybe couldn’t explain. You’ll be able to look at her projects and say, “I want part of this and some of that.” She’ll understand technically what needs to be built.
Although great programmers are practically self-managing, it’s still important to understand how they manage getting something done and meeting deadlines. Ask her about the successes and failures she’s experienced shipping something. Ask about the lessons learned from those experiences. You probably won’t understand everything she says but you’ll be able to hear how well she communicates.
Randy Nelson of Pixar points out that “mastery in anything is a really good predictor of mastering something else.” Are they a thought leader on something related to programming? Have they mastered something outside of programming? What matters is that they have mastered something and know how to do it. This tells you a lot about a person without asking them directly about their work ethic and personality.
Since 95% of software developers are already employed, it’s more important than ever to target passive candidates when hiring. Don’t get stuck in all or nothing mode. Everyone wants a technical co-founder or full-time hacker. Full-time programmers get offered six figures with many benefits. Focus on the things you can do, and work toward the things that are temporarily out of reach. Hire a freelance programmer. It’s the quickest way to get your project built and in front of customers. Plus, hiring someone on full-time is a big decision with a lot of unknowns. Hiring someone for a project will let you see how well they handle solving problems and how well they work with your team. Hiring a freelance programmer will save you a lot of time and cash.
How do they communicate?
Communication is one of the most essential reasons why a project is successful or fails. If they don’t communicate well doing the interview that won’t change when you hire them. If you are not transparent from the start they will probably jump ship once they know the truth. Since you only know a little about programming you’ll have a hard time understanding what’s going on. Try to find a programmer who can explain technical things in a way that you, a non-technical person, can understand.
Set expectations about what is being built, when it will be built by, and how much it will cost. Paul Graham writes, “The less you understand about programming, the more you’re going to rely on this person to translate what’s going on to you.”
Ask for a referral
This one is straightforward. Ask a programmer for three client referrals and three developer referrals. Client referrals are important to understanding how they communicate and what they are capable of building. Developer referrals will give you a better snapshot of how they work with other people.
This isn’t a perfect list but this will help you get started. Don’t be afraid to ask questions. Programmers love to help if they see a genuine interest from you to learn.