I saw a question on advice for choosing a development partner on a closed list I’m on. Here are some thoughts.
Whether compensation is entirely in equity or not, there are some things you’ll want to keep in mind.
Purists are the folks who don’t like to work with existing code, and would rather start from scratch, avoiding the use of standard libraries and frameworks even. They’ll use words like clean and elegant a lot. You don’t want to work with them. You want people who can work with existing code and frameworks, who know how to hack on existing code, follow standards so others can pick up their work, and can read instructions.
Using an existing system or at least framework will save you tons of time and development cost. Don’t be overly worried about being wed to this system forever – it’s not unusual to do a complete rewrite of code when needed.
Back in the day when we used Perl I had a supervisor who had worked down the hall from the guy who wrote the CGI module for Perl – the standard library to write web code. He wouldn’t use it. He insisted on doing everything from scratch. That’s a waste of time, and you’re not leveraging work others are freely giving you.
We use systems like Drupal a lot. With a tremendous amount of functionality built in or freely available it makes development cheaper and faster, and gives you tried and tested code. It just makes sense not to reinvent the wheel. While you might get performance improvements by writing everything from scratch it will cost more, take longer and be harder to find people to maintain.
Keep your technical advice to yourself
Try to avoid making technical decisions and making them be set in stone for someone else to act on. You’re brining on someone to help with technology, so let them make these decisions.
I was approached once by a startup that wanted to build something from scratch using what was at the time a hot programming language. It was also very hard to find people available to work in that language, and we could have put the system together, at least as a prototype to show investors and get users, using Drupal within weeks. They really liked the idea of using this cool programming language. I didn’t join them. Funding dried up before anything was live.
Trust the people you trust are experts.
Find someone who knows the word “no”
I never want to hire someone who isn’t smarter than me, and you shouldn’t try to find someone who isn’t smarter than you as a partner. And just in case you think someone is smarter than you but you’re still trying to make your word absolute law I’ll clarify for you – you’re a jerk. You don’t want someone who will say yes to everything. You want someone to push back and tell you when an idea isn’t too great. Someone who will ask questions, take initiative and figure things out without being remote controlled.
I’ve worked with tons of developers from around the world. Some personalities, and some cultures, encourage people to say yes to everything and make something work no matter what. In my experience this is horrible. You’ll end up with things not working and corners cut all over the place. You want someone who tells you something is a bad idea, deadlines are impossible, here’s a better idea, etc.
Don’t insist someone needs to know everything
You may need someone to set up a mail server, maintain copiers, develop your site, make the mobile app and handle front end coding. Chances are this isn’t one person, and in general, the more skills you need expertise in, the lower the overall level of expertise. I’ve been in discussions with absolute top development talent who in all humility talked about how they couldn’t get a particular project or job because they couldn’t satisfy the requirements. If the business owners had known what they did to themselves they should have been screaming. Don’t try to find someone who knows everything. Don’t feel compelled to make job descriptions 1500 words long. Understand what skills are harder to find than others, what are core, and find those. If you encounter people who only know one skill but know it super well and are very well recommended, consider adjusting your requirement.
I hope these suggestions help. We work with a lot of small businesses and startups, so if you decide you want some help, let us know.