Over the last 2 years, I have reviewed 800 applicant resumes’, interviewed 212 and hired 50 freelancers. With the help of these freelancers, I was able to test 7 different MVP’s eventually leading to one successful product Gardener.GG . This blog series is my learnings from the last two years of building products with freelancers while keeping my day job.

This is my upwork profile to give you some perspective
1


Don’t hire people from high-income countries

Freelancers from high-income countries will sometimes lower their rates to an unsustainable level for their cost of living because they have no reviews or they want another project in their public portfolio. Like all developers, they will underestimate the complexity of a project. Once they realize the true complexity of the job it will no longer seem like a good trade for a 5 star review. I have made this mistake a few times, twice it happened that they were just rushing a totally unfinished product out the door; all the other times the developer simply stopped responding and showing up to meetings.

Even if the projects effort estimates are correct, developers from high income countries working on low budget projects simply do not have the right motivation for getting the job done. They are doing this only for the potential of getting a high budget project later, and people just don’t do well with delayed gratification.

In contrast freelancers from low income countries working on low budget projects can string together a regular stream of these projects into a living wage. They will take their tasks seriously and even if they made the mistake of underestimating complexity because these low budget projects are already enough to achieve their goal of being a fully free and independent freelancer.

Only hire people you like

Only Hiring people you like is common advice and is even more true for online freelance work because it is very hard to recover any negative relation over chat or skype.

I have often made the mistake of hiring someone I did not really like as a person because I got tired of searching for a good candidate for this position. I dreadfully recall the work with HM.. During the interview, he passed the technical questions and his English was good but I never felt like he was hearing me or perhaps just not thinking after he heard me, in general, I did not feel good but I hired him anyway to get things moving on this project. On the first delivery day, he delivered a feature which was not how I intended. Normally in these situations, with developers I like, I would assume it was my fault because I did not specify the feature well enough but with HM it irritated me and I interpreted it as his problem having not understood because of my initial judgment that he doesn’t think enough for himself. This not being a reason for termination we went on with the project for a while but every misunderstanding or mistake would significantly irritate me and make it increasingly unpleasant to work with him and on this project. Once you start dreading the project because you dislike the developer so much that you don’t want to talk to them it, of course, gets worse because you put as little effort into the specifications and meeting as possible. After 2 months I called it quits, paid him for the project but threw away the code and moved on.

My advice is : don’t get tired, don’t give up only stop searching once you find someone you like as a person and respect as a developer.

Don’t fall for the myth of the full-stack developer.

Because it is easier from a management perspective to hire a full stack developer people keep posting jobs with this kind of a description and freelancers try to match what they see in the list of job postings. This gives the illusion there is a market full of fullstack developers, but I can tell you the full stack developers you see they will not satisfy your standards of quality in both backend and frontend.

Backend is all about data structures, databases, cpu load multi threading numeric input and numeric output. You can define functional numeric tests which verify that the code they write is correct. Compare this to the visual perspective of Frontend. The input is human interaction that is highly irregular and the output are pixels which must match morph to different screen sizes. A good frontend developer cares about how things look and what is the experience. In contrast, a good backend developer cares about a function giving the correct output. Rarely you come across someone who enjoys switching between these two ways of thinking let alone being good at both of them.

Because of the difficulty of hiring frontend I have made the mistake again and again of asking my backend developer to create a “minimal” MVP frontend. But it always took far longer.

My advice: Get 3 separate people for Design, Frontend, and Backend.advice : Get 3 separate people for Design, Frontend and Backend.

Don’t hire people with a full time day job

While it is not necessary to have your freelancer be full time on your project I would highly discourage hiring someone who is working in a fulltime job locally. I have had numerous projects get stalled for a month or more because the developer said they had some urgent deadlines in their day job. When a full time freelancer has multiple projects, it is just as likely that they have some deadlines they have to meet in the middle of your project but they care just as much about finishing that deadline as they care about keeping you as a client. Freelancers with full-time jobs know they have this steady income that gives them safety and so they always prioritize that local job over the irregular side income you are giving them 

Don’t hire agencies

Working with agencies will have a lot of “sales” overhead before you get to ever talk to your developer or you may never talk to the developer directly. And if you do manage to talk to a developer who is good and you want to hire, then the relationship is not the same because there is a third controlling entity in the room. I found in this configuration that developers were often unhappy with their job. The agencies take a large cut of the pay and pressure developers to close projects quickly, if they don’t keep up good reviews they would get kicked out of the agency. Hiring someone out of an agency like this means you are fueling a bad work culture.

Most of the above downsides also apply for the situation when you hire one lead that speaks English but he/she passes on the work to another non english speaking lower level dev. Or any kind of other setup that has an intermediary between you and the developer.

My advice: Always filter for “independent” freelancers and make sure verify that the person you interview will also be doing the work.

Don’t hire people with fake/stolen profiles

It is common practice for people to get approved on upwork organized some reviews and then sell that account. Additionally, upwork does not have any advanced methods in place to verify photo/name/location. These accounts are used by people in southeast Asia, I guess because there is a bias against them speaking poor English and being an inconvenient time zone. I have found no way to filter them except during the interview, where you have to be good at judging accents or tell them beforehand that you will require video on during the call to verify identity. This may seem obviously bad but I wanted to mention it so you can pay attention and save time by ending interviews with fake profiles as quickly as possible.

Don’t hire a Social Media Manager

The Social Media Account Manager role has such a low barrier of entry that all sorts of undesirable people flood the market and poison the water. This makes the job description unattractive for anyone who would do it well. It is the position for which I had to interview the largest number of liars and fakes. A typical thing was that they would claim to have grown and manage some high profile account but when you ask for proof such as a screenshot of them logged in, they will find all sorts of excuses. The typical Social media worker also performs their tasks robotically without generalization ability. I wanted to start targeting Mastodon (a federated open source alternative to Twitter); I just could not get anyone to anyone to perform the same tasks but in this different interface.

To save yourself this kind of trouble I would suggest you to go with a Virtual Assistant whom you give some extra time and regular feedback to get the hang of social media work.

Even after experiencing all these downsides of hiring out to low cost freelancers I am still a huge proponent of delegating work even as a technical founder. Your technical skills will be crucial in selecting and managing your developers and there is enough to do outside of developing that should keep you busy during the entirety of the MVP building process. Finding good freelancers for low budget project is not easy but it’s worth the amount of time you save.

If you like this post please let me know which topic I should write about next in the comments. I was planning on :

1. How & When to pay freelancers ( hourly vs fixed price)

2. My freelancer interview process

3. The balance between loss of focus and micromanagement

4. An unsorted list of my failed projects and what I think went wrong

Or let me know any other topic you are interested in.