Hi Fellow Entrepreneurs,
I have been doing a lot of research on hiring the right developer to add to our team. During that process we decided to go the freelancer route. During my online research I found one of the best complete resources on the subject that I would love to share with you all if that is ever of interest to you at https://www.codementor.io/blog/ultimate-guide-for-hiring-freelance-developers-1o92072302.
Our situation is that we have a specific project to hire for and looking for the best fit to get the job done. The best case scenario in the future is that this developer is an awesome fit. They are excited about the company, the products that we are building, and the problem we are solving. They are so excited that they decide to join our team to lead and build the rest of our software platforms.
The difficulty I'm having is should I focus my energy on local talent or broaden my search to remote developers? There are pros and cons to both. I have experienced them with my prior engagement with developers in India which has been difficult to say the least.
This time around I want to build a much stronger relationship with the developer that has the potential to grow into something more meaningful to the company. It just seems more difficult to do if you both are a long distance apart and can only communicate through video chats and emails. I'm kind of a people person and have to physically see and talk to you from time to time especially if it is as important as helping build our flagship product.
What are you thoughts?
I am in the outsourcing business, for customer support, quality assurance and back-office, and have used developers successfully in the past. The onus is upon you to fully vet the candidates for your specific project. This can be as simple as asking for references and then following up with them and getting examples of their work. Creating documentation that's specific and has milestones will also help potential candidates determine their ability to deliver. Tie milestones to payouts and never, ever pay upfront.
In my experience it's really about the people. Both local or remote options can work if you have the right person. There are cases where it's advantageous to be co-located but these days it's pretty efficient to work offsite (and in some cases can be beneficial (if the work is reasonably well defined and you don't need access to a lot of equipment or services that are only available onsite)).
You can get dedicated, hard-working and invested folks both locally and remotely. The challenge with remote work is finding the right candidate(s) and managing the communication/project.
Conversely to some of the other comments I haven't had much luck with companies with stables of engineers (whether in India, China, etc.) I most of those situations there was a lot of flux and it was nearly impossible to manage. Perhaps if the project is cookie-cutter stuff where you're just banging out screens and it's all defined that might work out. However, if you're looking for someone to do something novel and considered then it really takes time for someone to learn the intricacies of the problem and to evolve a quality solution that you'll be happy with long-term. And, for that to happen I believe you need to build a long-term relationship with the individual(s) in question. So, language/communication (which is often discounted) becomes very important in order to be able to discuss the finer points of an issue and collaborate effectively on a solution.
So, my feeling is that if you just need someone to implement a well defined project with off-the-shelf tools/expertise then an offshore company makes sense, but if it's critical to your core-product and you want to co-evolve a solution than this becomes a critical hire and the individual(s) should be hired according to that and with an eye to making them a part of your team (whether they sit at a local or remote desk).
Interesting ! Search for smart teams who can add value to your business . have collaborative approach, your business will cross borders.
I think a key reason why those relationships (with remote/offshore staff) don't sometimes work is because of lack of context.
If an engineer - however skilled and technically sound they might be - writes code without a good understanding of the 'big picture', there is already a disconnect. The output will be lacking and expectations won't be met.
On the part of the remote team, it is important for them to ask the right questions, work towards the larger goal of the client/ company, go the extra mile and always be proactive, more so because they are remote.
It takes two to tango.
With my many years of Experience in IT
offshoring business I have found the following Tips
1. Always have Requirements well documented
2 Start the day with a 15 minutes sprint
3 Hire from a company
4 Always have a two weeks sprint meeting
5 Always let the developer know your comments
6 Don't hesitate to communicate
7 If the skill sets are not in tune with your requirement don't hesitate to make changes
8 All this is effective if you work through a company
Here is my experience of wasting money , time and energy on outsourcing. After spending 6 months trying to find a tech co founder with no luck I gave up looking for one. Frustrated but still eager to go on, I scraped my saving and decided to outsource the project with 2 freelance developers. 5 months and $20k later, when the app was “ready” and I was excited to put it in the app store, I found out it doesn’t work properly, it is slow and over 300 MB in size which no one will download. After a few more months of frustration and borderline insanity I went to a meetup(Silicon Roundabout) to meet a tech co-founder and one of their guest speaker was Codica which pitched themselves as a coding bootcamp/ incubator, where they take entrepreneurs that have a business idea and they teach you how to code. All of the students are entrepreneurs that are non technical and want to build an MVP. I was skeptical as I wasn’t a developer and I study philosophy in Uni. I went to one of their full day workshops and was Impressed with the detail and the patience of the professors. I joined their intro into coding for 4 weeks and then continued with the advanced 4 weeks afterwards.
After finally learning how to code and have still an elementary understanding, I had a look at the code from the freelance developers, and had another breakdown. About half of the code was recycled and just boilerplate code that was useless after Apple release Swift 3. It was full of cocoa pods(3rd party code) which again was not maintained and was unusable. What I learned that is hard to convince developers to work with you for free. It is hard to communicate to developers when you outsource it and they will take advantage of you.
Hope this helps.
Hire local developers that you can work with in person and hold them accountable for their actions. Remote can disappear without a trace. Try to hire top talent.
Paying a good salary for A candidates = A+ work. High upfront costs.
Paying for B candidates = C grade work, lower upfront costs, higher longterm cost fixing the mess.
I would say hiring the cheapest Upwork remote workers will get you nowhere, what I can recommend is development studios, I have worked with them in Philippines, Poland and Argentina and have gotten the help I needed. Two of them formed into long term contacts which I would rely upon again.
I've seen that both have their pros and cons. Personally, I've hired people locally and remotely and see a pattern here:
Local freelancers will almost always be significantly more expensive than overseas, but the quality is typically better. I've noticed that local freelancers can adapt to problems quicker and think on their own without having to be told exactly what to do and how to do it.
On the flip side, remote freelancers are very affordable but sometimes lack in quality and problem-solving / decision making. However, this depends on where they are located. For example, in the past, I've worked with a development firm in Italy -and working with them was terrific. However, on the other hand, I've hired people from India and their success rate is much lower. I've even had developers/designers from India quit halfway through the job because a higher paid gig was offered elsewhere, or they found out the project was too advanced.
I recommend hiring remote for small jobs. These jobs aren't going to make-or-break your product, so even if the worse happens, you're not losing much.
However, for long-term relationships, I would recommend hiring locally, or with a high reputation team abroad. I would advise against hiring an individual from abroad whom you do not have a track record with.
It sounds like you want a local developer from the way you're describing it. You want them to believe in the product but also be skilled in their craft. If budget is no issue I would find someone from within the same country and help them relocate. Like the quote says "You get what you pay for" most of the time.