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.
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.
Thanks, very interesting read. I'd also be interested in your interview process.
I'll dedicate one blog post specially to more detailed interviewing process.
What's the best employee profile, in terms of education, that you would hire?
Education doesn't matter. There's no institution that will make a good developer, only hard work and dedication will. My VA must be educated and have great knowledge of business management.
Much appreciated, for sharing your experience! However, I'm very interested to know your thoughts on when and how to pay people aswell.
People are usually payed per project not per hour. Keep following there will be specific post for that as well.
Thanks, a very interesting read. I'm also interested in which low-income countries are, in your opinion, the best to hire from. Any examples would be great! Cheers!
Ukraine and Balkan Countries(Serbia, Bosnia, Bulgaria, Romania etc...). Efficient workers who are passionate about their tasks. Cheers!
We like our development team: https://milestep.io/ - Ukraine
Additionally here are a few others (because when you post a job on angel list, you get a bunch of people looking for work):
Crownstack - India (Web and App Development)
No Rest Labs - SF, USA (Blockchain)
Very interesting Ruben, thanks for your experiences. I'm interested in your interview process, how long does it last and how much time do you spend on It's preparation?
Depends on the profile of employee I need. It doesn't take that much time since I have VA who do the pre-interview so I get only the finest developers who had applied. Thanks for reading I hope that it will help you!
Thank you. Very interesting. If you don't mind, I'll be adding this to my own post as a contrasting view / and or provide some extra content for the idea I'm processing.
If you're doing that please mention me and my product (https://gardener.gg) in your blog post. Thanks for reading!
Will need more help figuring out how to do this.
https://www.indiehackers.com/forum/when-outsourcing-does-work-idea-510a1c4589
I’m looking to build a DEV team at the moment. My lead DEV is concerned that what people say online about their experience and competency is totally different that their actual. Any tips on your freelancer interview process would be great.
We use: https://milestep.io/
No problems as of yet, though we haven't completed our project yet. So can't promise you anything, just that we like working with these guys and want to give back by sending them more business.
Get VA to do the first check, when you clear the fakes or inexperienced developers you do the interview with people who pass the first round, first ask them about the job see how experienced they are, then check their creativity by asking them what would they suggest you to do to improve your business. By doing that you'll see who is the best thinker of them, take that guy, he's creative, thinking with his own head and has real passion about the work he is going to do for you. Idea does not just discover a new method or a solution of a problem, it discovers how others think.
Can we get a list of the top freelancers you work with (if they are interested in more business). So that we can see if they will work with us. Based on your recommendation, I'm sure a few of us would hire them without vetting them like you did...lol...because some of us would rather let you do the work of vetting while we get back to developing.
I started keeping a poorly formatted google doc but its not really easy to read who was best. Would be great ifnall indiehackers had one place where we put conclusions about an interview we had with a freelancer.
Easier perhaps is aggregating the people whom i have worked with and given 5 stars
I agree. I think this platform should add a "Team" section along with their "Products" section so that we can show off who is a part of our team, refer our team members to projects that they may be interested in and share the resources and expertise we have with each other.
Sorry for jumping in between conversation but I can share if you need. Are you looking for Mobile APP, Web or chatbot?
Thanks Mihir. I'm not currently looking for anyone, but I'll follow you and let you know if I have anything for you in the future.
Thanks.
Hi Ruben,
great perspective on the process. Would be really interested to know when/if you prefer to hire hourly vs. project based. Not only from an hiring point of view, but also from a type of project point of view.
I'll make a new post in few days there you'll get explanation why I'm always hiring fixed price.But here is shorter version: First of all, even with higher fixed payment it costs me less because employee doesn't have an option to slack and get some extra hours by doing nothing.
If you have problems with this topic...Here is some guide about this topic. Steps to start IT outsourcing: Choose a reliable service provider, Check the portfolio, Communicate and arrange the meeting, Pick your pricing model. I found this and many other helpful information in Cleveroad company blog:https://www.cleveroad.com/blog/it-outsourcing-ukraine . You can check it maybe it will be useful to you.
this can be a great addition to this article https://www.cleveroad.com/blog/outsource-app-development
Did you hear something about nearshoring outsourcing in Romania? I'm definitely want to share with you great blog post:
https://www.nearshoring-info.ch/nearshoring-to-romania/
Absolutely agree with you. I am a recruiter and I want to say that I prefer to hire employees who were students from the CIS region. First of all, because as you mentioned that is better not to hire people from high-income countries. And also education there is really on a high quality level. Now I have several people working who were students of Odessa Medical University and attended it by
special program(https://leader-education.com/onmedu/) and I am absolutely satisfied with their work, these guys are real professionals.
I worked with plenty eastern European or other low COL agencies and every time had to completely scrap the project. mileage may vary but I definitely don't recommend going cheap on your product. Just my 2 cents.
Actually, there's a question before you hire: How do you spec the work to be done? By this I mean how do you describe the task, high level and in sufficient detail for a developer to actually get started. And what constraints do you set (db: mysqlp, pg,..; language/framework: RoR, php, vue, react, ...)?
I think spec'ing is a process. I write a section describing what business goal needs to be achieved. Then i write down for myself one possible stack which could solve this problem to make sure its possible. I cut that stack up into design, frontend, backend (possibly multiple backends if they can be nicely seperated) . Then i write a loose description for each in the job description. Then during the interview and after getting hired i work with the freelancer to make it super specific. This way they can agree on what they thing is within budget and they can let you know how they would do it. Because how they would do it is also how they would like it .
Tech I have some opinions but I am always open for new ones. But I only allow very well established tech with a large pool of potential people that could maintain. Although It is great that most of my projects are in python django/flask because then i can quickly move freelancers to another project if i need short term help there.
Hi Ruben, That makes sense, seeing a spec as a process, and refining it together with the freelancer.
If I understand correctly, you hire freelancers per hour. How then do you set the budget as from your comment "This way they can agree on what they thing is within budget and they can let you know how they would do it." Isn't the budget a result of the hours the freelancers put into this?
Great post! I have had this happen to me so many times that I gave up on the freelance market.
That was part of the reason we started https://www.coderassist.me
The goal is simple, remove the pain point that comes with hiring a developer or simply trying to build a product and streamline the process.
Actionable and useful. 👍👍👍
For me, after hiring 5+ freelancers in cross functional roles, it was definitely a roller coaster wrangling them as life happened. It's all about taking care of the people you hire especially ones that you take on full time. Otherwise, they just move on to the next shiny thing with you holding the bag.
Thanks for sharing!
Yea the non binding relationship gives freedom both ways . Definetly agree you have to 2atchout your dev's are still learning anf having fun or atleast not hating it for more than a few days in a row
This comment was deleted 5 years ago.
This comment was deleted 5 years ago.