Outsourcing web development
How to spot great talent and avoid wasting months on the wrong hire
If you’re a business founder at a tech startup you may be spending all of your time pitching engineers in hopes of finding a co-founder. Believe it or not, especially in the earliest stages, it’s perfectly okay to outsource a web development project in leu of recruiting a technical partner. If you do it the right way, your next contract hire might even become your co-founder.
Let’s assume you’ve lined up a handful of interviews through Elance or oDesk (more on this topic in a future post). Before the conversation even happens, the first step is preparation.
Be ready to answer the engineer’s questions
You don’t have to be a coder to have a basic understanding of what technology might be used to build your solution. If you’re completely new to this, part of your job should be to educate yourself on basic concepts like front-end vs. back-end programming and the different languages used.
This will be important in showing credibility not only to other developers, but prospective clients, investors, and advisors. You plan on leading a technology company after all.
Create a document detailing your product
Also known as a product specification document. If you’re in the idea stage of your product it’s very important to get as much detail as possible on paper. This will be especially helpful when you actually start working with the developer. Engineers are great at finding creative solutions to complicated problems, but if you don’t give them any direction you can’t expect them to magically build what you’re envisioning.
Make sure to outline every little detail of your product, from user behavior and workflow to where your Sign Up button should be. This will save you weeks on development time and enable the contract hire to start executing on your idea immediately.
Let’s assume you’ve done your homework and you have a Skype call scheduled with a promising prospect that has great reviews and a solid portfolio. What questions do you ask her?
1. Is she front-end, back-end, or full stack?
Front-end and back-end development are two very different sciences. Software architects are usually more mathematical and analytical while website designers tend to be on the creative side.
Back-end primarily focuses on effectively managing and manipulating data , or “behind the scenes” work whereas front-end development usually translates to what the user will actually experience/see on the screen.
If you’re speaking with a full stack engineer it’s worth asking if they have a preference or more experience with one discipline over the other. If you’re hiring someone to design your website, but they really prefer to be working on complicated data structures, neither party is likely to be satisfied with the end result.
2. What languages/frameworks does she prefer?
It’s important to hear about their experience with different languages and why they might prefer one over another. A solid engineer will be able to explain why they love the new Angular.js framework or why they’ll never work with Perl again (disclosure: I’m not a developer, but I’ve had to build regular expressions in Perl and I’d rather watch paint dry, get coated with another layer of paint, and then watch that layer dry).
Before the interview I recommend that you pitch some of your developer friends (or an online community) to get some feedback on what languages may work better for your solution. During the interview make sure to ask the prospect’s opinion on what the ideal technology stack would be.
A red flag is when the engineer tells you that they can “build it in anything you want”. You’re not hiring an intern to bring your coffee (though you should never do that with interns)…you’re looking for someone that can provide you with their expertise every step of the way. If this person can’t answer that simple question then it’s not likely that they’ll take leadership or ownership of solving complicated problems when they do inevitably arise.
3. What’s the timeframe for completing the project?
By this point the prospective hire should have a pretty good idea of the work needed to complete your project. At this stage you should also be able to make at least an educated guess on how long development will take — remember, you already talked to a few of your engineering buddies.
This is where a solid description of your product is important. It will ensure that you’re setting the right expectations for you and your hire. The last thing you want is an awesome engineer that is juggling multiple projects and can’t complete yours on time because you forgot to mention a huge piece of your technology that will take another month to build.
Of course there are many other things you should cover in your meeting, like gauging their interest in your idea (more interest = more passion), their experience, other commitments, ability to work in a team, how frequently you can expect to communicate throughout the process, etc. but the fundamental questions and steps above are certain to improve your chances on hiring a great contributor and even a potential future partner.