Seven years ago, I set out to build my first tech startup. I had the product vision clear in my mind, but like many founders dealing with a technology-focused business for the first time, I didn’t have the technical skills to build it.
At that point, I didn’t have the money to hire an agency, so I dove straight into meetup events to find a technical co-founder or freelance developer.
I met a lot of tech folks who made the right noises. But at the time I was lost on who to pick. They were all suggesting different languages and frameworks and I didn’t have enough technical experience to know which was best for my product.
So, I went to a friend of mine who was CTO at a successful startup and asked for his advice.
I was over the moon when he told me he had the right developer for the job.
After his gleaming recommendation, I was positively certain this was the right move. Turns out it was the most dreadful decision I could have made.
The guy in question estimated that he could build the MVP for my product in two months.
Long story short, five months later I still didn’t have an MVP I could launch. I’d paid five months’ worth of salaries and had no clear vision of when he would deliver something.
I never did get an MVP. All I got was a corrosive working relationship that wore me down and left me wanting to give up.
All of this to say: you need to take an objective view as you make this decision. Choosing who will build your product is a vital business decision that will directly affect your startup’s chance of success. Even if you trust your buddy CTO, don’t just take their word as law before you do deeper assessments.
Seven years and 60 products later, here is the most organized list of steps I would give a fellow entrepreneur that was about to hire freelance developers to build their startup:
Are You Ready to Hire Freelance Developers for Your Startup?
Onboarding a freelance developer too soon is a huge risk for your startup. You need to first have a clear vision in your mind of how your product should behave – and how your users will move through it. Asking a freelance developer to make core product decisions is like asking your marketer to write code – unless they are a very special case, they’re simply the wrong person for the job.
That’s why it’s vital to do a proper product scope before you start talking to freelance developers. This is the most effective way to identify the right features to include in your MVP. It will help you build a clear roadmap that is lean by nature – reducing your time to market and costs.
Remember that it’s not all about design and development. It’s critical that you look at the product too – something many entrepreneurs forget.
Only after this critical step can you start searching for a freelance developer. The crux here is identifying the right person for the job. And for that, you need some tech knowledge.
I’m not suggesting you become a developer, far from it. Your time is better spent on the business side of your startup – developing your vision, reaching out to investors, advisors and potential clients, etc.
At the very least, however, you should learn the tech fundamentals. As well as research the technologies behind products similar to yours. Again the majority of tech decisions are also critical business decisions.
If you’ve got this far and aren’t sure if freelance developers are the right choice for you, that’s ok. You have other options such as hiring a CTO or working with a software development agency. I would suggest reading this article which has already helped a lot of entrepreneurs make the right decision for their startups.
If you’ve got this far and you are sure, then let’s dive straight into the first step, recognising the hard skills you need in freelance developers.
Hard Skills You Should Look For In Freelance Developers
Here’s a list of questions to ask yourself to ensure you have a freelancer with the right hard skills for the job:
Do They Suggest the Right Language?
As we’ve already touched on, you must hire freelance developers with experience in the right languages and tech stacks for your startup. There’s no point in hiring an expert in Ruby on Rails if the best language for your product is Node.js, for example. You also have to ensure that they have the technical expertise in that language to build your product.
Keep in mind here that if they suggest a language or framework without asking comprehensive questions about your project, they’re probably pushing the languages or framework they’re comfortable with – and it may not be the best choice for your startup.
Be aware of “fake gurus”. A prime example of this is a developer who tells you that “you can build any product in any language”. Honestly, this type of person should probably rethink their career choices. It’s like saying “you can travel from the UK to the US in any vehicle”. Sure you can go by bike, but unless you’re trying to prove something, a plane is most likely the right option.
A proper expert will:
- Be conservative regarding technology and approaches, acknowledging the need for thorough research and risk reduction analysis
- Not hesitate to conduct a full tech memorandum, but tend to leave some points open as the project matures
- Avoid trendy, hyped-up technologies unless thorough reasoning and evaluation deem it to be the best choice
If they don’t do any of the above or even miss out on one, it’s a red flag.
If you’re unsure of how to assess this, I would recommend talking to a non-biased tech stakeholder (like a friend who is a CTO for example). You can also reach out to us here for an informal conversation – we’d be happy to put you in touch with our CTO for some further information.
Do They Follow Adequate Standards?
Most likely, this person will be the first technical person to work with your startup. As such, they will be making technical decisions that affect the long term roadmap of your product. You should only work with freelance developers that follow the industry standards when it comes to organisation and documentation. If they don’t, it will be very difficult for other developers to work on their code as your startup expands and grows.
If they lack the technical expertise or are unable to follow industry standards, you could end up with a lot of ‘technical debt’.
This can include but isn’t limited to incorrect or substandard code or unwise choices in terms of tech stack and architecture.
In my experience, startups with a lot of technical debt often have to scrap their product and start again. Many founders can’t afford to do that. And those that do often face major time to market issues as a result of their technical debt.
Do They Know How to Estimate?
You’re going to rely on this person to deliver. If they estimate two months and then take six it will have a tremendous impact on your time to market, wallet and energy. Trust me, I’ve been there.
That’s why I always recommend benchmarking your candidate
Ask your candidate how long they estimate it will take to build your product.
Then ask a couple of unbiased tech advisors or software development agencies to do the same thing (most reputable agencies will do this for free).
If there is a time frame discrepancy above 50% between the benchmark and your candidate, and assuming you gave them a clear scope, be careful moving forward with them.
If they fail this small test, it could point to much more substantial time management issues. It could also point to a lack of experience.
Do They Have the Hard Skills?
- Do they suggest the right language?
- Do they follow adequate standards?
- Do they know how to estimate?
Soft Skills You Should Look For In Freelance Developers
Managing a business is all about the “three P”: People, Process and Product.
The “people” dimension in this case is translated to the soft skills of the developer. It’s not enough to hire freelance developers that are rockstars in their chosen language. They also have to have the right set of soft skills to increase the chances of a successful business partnership.
As I already mentioned, your early tech stakeholders will be responsible for tech decisions that will affect the roadmap of your startup. So you have to trust they’re reliable. If you cannot count on them to deliver when promised, you risk your startup before it launches. Take the story at the beginning of this article as an example – I never launched that product!
To ensure you find someone with all of these soft skills, you need to be able to communicate with each other. It’s granted that you’ll be facing problems together and you’re about to spend countless hours working together, so you need to be able to get on and have tough conversations.
If communication isn’t smooth you’ll triple your problems down the line.
“To put it bluntly, communication can make or break a startup.”
Do They Have the Soft Skills?
- Are they trustworthy?
- Can you rely on them to get the job done?
- Can you communicate transparently, even through tough conversations, and remain productive?
How to Interview Freelance Developers
The hiring process can be daunting, especially if you’re new to it.
Firstly, focus on soft skills. You want to make sure the freelance developer you choose is good at communication and really really intelligent.
I’ve been interviewing and hiring tech stakeholders for a long time. Honestly, one thing I’m really proud of is the team I’ve set up at Altar. I’m proud because I was able to gather folks that combine great soft skills with great technical ability, resulting in great company culture.
Of course, I’m more than happy to share with you a couple of questions I usually go through:
Goals: To assess the mindset qualities and handicaps of the candidate with open questions:
- Tell me your story
- Do you consider yourself lucky?
- Do you have a track record of doing something really well?
- What would the person who likes you least in the world say about you?
- What are your key values in work?
- What is the biggest risk you’ve ever taken?
- In a debate what do you believe is the best way to convince others that your opinion is the best?
Goals: To assess the emotional stability of the candidate and their alignment to the project:
- If you accept this gig what will you miss most about your current role?
- What will you miss least?
- What do you believe makes you grow and what do you believe might have prevented you from growing in the current role.
- What captivates you in this project?
Goals: To assess if the candidate can adequately communicate complex technical elements to a non-technical audience – whether that’s you, clients, investors or other key stakeholders.
- Explain a database in three sentences to your 8-year-old nephew (Here, you can replace “database” for any other topic e.g. product, UX/UI design, etc.)
A note here, If the candidate doesn’t create an example using something tangible, cross him off the list. An example here is how I explained the idea of “building anything with any technology” like travelling from the UK to the US by bike earlier in the article.
#4 Intelligence & Mathematical reasoning
Goals: To assess if the candidate will explore all the variables possible when solving a problem:
- How many ways can you think of to find a needle in a haystack?
- Estimate the number of tennis balls that can fit into a plane.
Here, while the viability of the solutions they come up with is important, what you’re really looking for is the number of variables that they consider.
A key trait in a good freelance developer is the ability to deconstruct the problem fully before tackling the solution. You want someone who takes the time to consider four to five variables. In my experience, this is much more valuable than someone who takes five minutes to consider two variables and execute the solution.
These questions will go a long way to help you ensure they possess the qualities you’re looking for.
Finally, before you onboard them for your whole project, you should first hire them for a trial project.
The Trial Run
When you get to a shortlist of profiles, I’d advocate running a trial to test the waters before you commit to the full project.
As is the case with agencies, some freelancers will try to close and push you to commit to the whole scope from the get-go. That is a red flag.
The professionals that are confident about their output shouldn’t push you to close the entire project before running a quick test to assess if you are both a good match.
This should be a relatively uncomplicated deliverable in the same technology that you plan to build your product in. You should also give them a feasible time frame to complete it. As an example, you could ask for a task that you know should take no more than two weeks and start with that.
If you aren’t sure what you should give a freelance developer when it comes to a technical challenge, I recommend reaching out to an unbiased techie friend. Alternatively, drop us a message, we’d be happy to help.
The outcome of this deliverable will tell you several things.
First, it will let you know that they can deliver on time. As we already mentioned, this is a vital quality for any freelance developer you hire. To be perfectly fair, when evaluating a potential deviation, you should allow for up to 20% deviation, which is normal. On the other hand, you should be concerned if there is a greater deviation for such a small deliverable.
Secondly, it will allow you to see the quality of their work first-hand. These factors combined will be a huge guide in your decision-making process. Of course, as a non-tech founder, you’ll be able to evaluate the user-facing interface but not the quality of the code. You can ask for help there both from your friendly neighbourhood CTO or an agency.
Where to Find Freelance Developers
The best way to find and hire freelance developers is through warm introductions, as with any potential stakeholder for your startup. If you’re yet to build these connections I would recommend going to meetups and industry events.
For example, here in Lisbon, we have WebSummit – however, there are countless events across the globe where you can meet freelance developers.
I recommend this route because in one two-hour event you’ll hear multiple perspectives on the same thing.
This will only enrich your point of view and broaden your horizons. Just because someone is talking about something you don’t understand doesn’t mean they know what they’re talking about. Hearing it from multiple people will help you identify the true experts from the posers.
When you start narrowing down what you’re looking for, then I would start to look for authorities in that domain. The authorities are usually the people writing about that topic.
So if you’re building a neural network for X, look for freelancers publishing articles about it – they’re probably the best bet.
If you can’t afford them, chase the people liking and commenting on these articles.
Just be aware that this method may take, at least, a couple of months.
If you don’t have two months plus to spend on this, then you should look into the alternatives – like online platforms.
Here are some I recommend:
For more information on the platforms mentioned above, check out this article.
Don’t just outreach to freelance developers who you want to hire. Reach out to other interesting profiles asking for advice. This could be a fellow entrepreneur who also built something in your industry, for example.
You’ll be surprised how many people will give you their time if you simply ask for it. After all, we all remember what it was like when we set out on our first project. Most of us got to where we are by asking for help. Now we get to return the favour.
Alternatives to Hiring Freelance Developers
As I mentioned at the start of this article, hiring a team of freelance developers isn’t for everyone. It comes with the added responsibility of managing them, which is no mean feat – especially if you lack tech expertise.
Sure, the founder of AppSumo, Noah Kagan, was able to build his core product in 48 hours with the help of freelance developers (to the tune of $60 no less). But it worked for him under very specific circumstances.
After all, Noah not only had a decent technical understanding, but he had also worked at Intel, was employee #30 at Facebook, and employee #4 at Mint, you get the idea. Seeing projects and teams start and grow was really second nature to him at that point.
If launching startups isn’t second nature to you, hiring freelance developers is still feasible, just not easy.
Managing your tech team isn’t an issue when you hire a CTO for example. As they will take on the responsibility of hiring and managing developers – as well as creating a roadmap for the technical side of your product.
Finding the perfect CTO, however, can take months, and even years. Time the majority of early-stage startups don’t have.
So, although this is the most idyllic option, you can often lose so much time looking for a CTO that you risk running out of money before you even launch.
The last option you have is to outsource to a reputable software development company. This comes with its own set of pitfalls and risks – which I explore in more detail here.
That being said, if you choose the right service provider, it can be a great way to get your product to market quickly, so you can validate if it is worth iterating on.
It will also put you in a much better position to attract top talent. Just like investors, potential CTOs prefer to see traction before they jump on a new project.
Again, if you’re unsure which path to go down, I recommend giving this article a read. There I list the pros and cons of each based on my experience.
Alternatively, for a quick, high-level view of the pros and cons of each, check out the table below.
It’s true that time is of the essence when building a startup, and freelancers are one of the fastest ways to get your MVP or proof of concept off the ground.
That being said, working with freelance developers is still an extremely risky option if you don’t know how to do it correctly.
So make sure that you first know what qualities you’re looking for in freelance developers.
Then, if you believe you’ve found the right match, make sure you stay in regular communication with them. Structure the process so that you can measure that the progress is as expected from day one. Don’t allow the problem to grow before it’s too late. Again, remember my fatal experience and try to avoid the same mistake.
Good luck & thanks for reading.