Imagine this situation: You've got a great idea for a software product. Your rich uncle is bankrolling you, and you've got a tiny office. You can afford to hire two developers to get the project going. Pick the wrong ones, and you've got no product, no revenue, and a very unhappy uncle. How can you choose your developers so that this won't happen?
You might be tempted to hire cheap developers right out of college, or even cheaper ones freelancing from a distant country. Sometimes this can be a good choice, but not when you're launching an MVP. This isn't to say that you shouldn't contract the work; the point is that whether you hire or contract, you need really good people.
"Really good" doesn't mean just someone who can turn out the most lines of code per day. It doesn't mean just someone who knows every feature of a programming language. Those are good qualities, but not necessarily the most important ones for a startup project. Let's look at six characteristics of the ideal developers for your team:
- Individuals who can understand what you're aiming for and think of creative ways to do it. When you're starting out, you don't know what tools and technologies are best. You want an experienced generalist who has worked with the kind of product you're aiming for and knows more than one way to achieve it. You want a developer who will take your direction but not just dive into coding, one who'll give you constructive suggestions.
- Individuals who know how to work with you as the project progresses, developers who are willing to make even big changes when they prove necessary. In a startup software project, no matter how clear your vision is, you are finding your way as you go. Some things that you thought were easy will turn out to be painfully hard. Extras that you hadn't thought of may offer a huge benefit for a small amount of additional work.
- Individuals who know how to balance quality and speed. Well-written, tested code is important in any project, but it's critical in the early stages, when you're laying down the foundations of the design.
- Individuals who understand the importance of getting something ready to demo in a reasonably short time. Some developers approach projects with a grand plan in which nothing works until everything works. Your livelihood depends on being able to show potential customers (and maybe your uncle) a limited version of the functionality early on, not only so that they'll believe in you, but also so they can give feedback on how well it meets their needs.
- Individuals who can put in bursts of effort when it's critically needed. Deadlines have a way of turning up unexpectedly in startup projects.
- Individuals who can work well with other developers. People talk about "ninja" developers, but a ninja is someone who appears out of nowhere, does something amazing, and disappears again. Look for a "samurai" instead: A developer who's skilled, imaginative, and disciplined.
The kind of Agile engineers who work best in a startup team are ones who focus on business value and are looking to help your business succeed through software. With a startup team, you need people who can see the whole picture, devise solutions without a set model to follow, and deal with the unexpected.
Please contact us to learn how we can help you build the ideal development team.