Many people come to me with questions about a project they want to have developed. Perhaps they have a business idea, perhaps they need some software to simplify their lifes. I know directly a few of them, others have asked hints to someone who directed them to me, others met me at some meet up or found me online, maybe reading this blog.
Many of these people do not have a background in software development and have struggled to find someone able to answer their questions: what do you think about this idea? Is it possible to implement this? How long would it take? How much should I pay for it?
Over time I started to realize how incredibly hard is to find good freelancer software developers for people who are not programmers themselves. Where to look for them? How to select them? The unfortunate truth is that out there it is a sort of jungle and most people in the business are just not very good. While any good developer can recognize someone who is very poorly prepared in less than ten minutes this is not the same for many clients. They end up picking someone because is the only one they could find or he could talk the talk (but not walk the walk) or perhaps because it offers a low price. I understand this: when you do not understand the differences in quality what else can you consider if not the price?
I believe that software is becoming more and more important but not everyone can or should be a developer, so more people have to learn how to deal with developers. They have to learn how to describe what they need, find freelancers, selecting them, understand how much to pay and communicate with them during the development. The problem is that they have no idea how to do any of this!
I started growing more curious about this problem so I read some material online. I found an incredible collection of idiotic pieces of advice. My favorite is the one which suggests to pick some questions on Stack Overflow and ask those questions to candidates. The idea is to check if the candidate reply exactly as in the best answer on Stack Overflow. Absolutely brilliant: asking about something you do not understand and hoping to hear the exact some words so that you can mark the answer as correct. What can possibly go wrong with that?
Many other suggests to just go on freelancer.com and pick the candidate asking the lowest fee. For my experience you are not going to be pleased with the results you would get with this strategy.
I was so frustrated with all of this that I thought I could write myself some common-sense advices, something based on my experience as developer. Those are simple ideas which are obvious for software developers but not so much for many clients who need to buy software and do not know how. After thinking on this topic for a few weeks I selected 10 steps to follow to get your project developed for you and I started sharing the in-progress pamphlet on leanpub. It is available there: 10 Advices to hire freelance software developers.
I am thinking to rename it:
10 Steps for hiring and working with a freelance software developer
How to find, select and communicate with a programmer to get your project done
Any suggestions on a better name?