5 must-haves to get high-quality code with an offshore developer!
You tried hiring an Indian developer, received the first deliverables, they were terrible. Sounds familiar? Your problem was probably one of the following…
In the corporate world, you don’t have the time or the luxury of holding a developer’s hand to walk them through your latest project. When you need work done on an app, your website, or any other endeavor, you need it done quickly, correctly, and without the need for endless rounds of redos and false starts. At your level of responsibility, when you pull the trigger on an outside hire for a job, having the confidence that it will be done well and be done right are absolute necessities.
That’s why you have a local team of developers to turn to but are they worth the price you’re paying?
According to a Glassdoor survey, businesses pay about $90,000 per year for web developers and as high as $200.000 per year for some regions like New York, San-Fransisco, or Zurich. Whereas they can get the same services for about half that in India. No matter what size your budget is, the ability to save an additional $45,000 a year, particularly in the ongoing uncertainty of the COVID-19 era, is a saving that you can pivot and funnel right into other pressing needs in your firm.
Of course, going offshore to outsource your development projects carries with it one of the biggest questions in the business world. Is it worth it?
In the gig economy that has sprung up in the past 10–15 years, the opportunity to offshore skilled work to cheaper labor in other countries is always on the table. The problem is that foreign workers have a decidedly bad reputation for low-quality work. When your budget is vital and your turnaround window is rapidly closing, there’s no doubt that there are legions of companies and individuals in India, Vietnam, Egypt, and other developing nations that will agree to your terms and conditions in a heartbeat, but is the financial savings going to offset the potentially shoddy work you receive?
The unfortunate cliche that has a bad habit of coming true far too often is needing the rush developer job done, outsourcing it to a low bidder on a freelancer site, then checking the code and finding not only errors but features that you specifically asked for not showing up.
That causes a tidal wave of problems. If you have offshored the job to another country, you might be contending with language/culture differences. You’re now going to have to try to pin someone down in a different time zone and relate to them what is wrong and what needs to be fixed/changed. If you’ve already paid, you could be in a really bad spot where getting your money back or the work corrected becomes unlikely. If there are language or culture barriers, communicating your disappointment gets frustrating. And at the end of the day your biggest problem is going to be that the person you hired lives in a different country, and your options for recouping your money or applying pressure to get the work right are extremely limited.
How to avoid this messy situation and the utter powerlessness that it can fill you with? You need to be smarter, develop a plan, and do your due diligence with any third party you hire, regardless of how large or small it is. Let’s go through some examples of missteps to develop best practices on how to avoid this problem in the future.
Problem #1: A Poorly Planned Hiring Process
The interconnectivity of the digital workspace is a double-edged sword. In theory, you could identify a need for help on a project at 9:30 a.m., post a job listing on your favorite freelance marketplace platform at 9:45 a.m. and have someone hired and ready to start the job by 10 a.m. with the project due by the end of the day.
The downside is that doing things so quickly strips away your ability to vet the person or people you hire for the job, meaning you’re going on nothing more than a leap of faith, a filled-out profile, and perhaps some published samples somewhere of what they are capable of. No matter what country you’re hiring from or in, there’s no excuse not to take the time to conduct audio or video interviews to make sure that:
- You’re dealing with a real person
- The potential hire can understand the same language as you
- You can ask them some basic questions in real-time about the project and the necessary skills to ascertain their talent level.
- They understand completely what you are asking for when you need it, and the terms of the payment.
Depending on the size of the project, all that might take 60–90 minutes to do. Even if you want to interview 3–4 people, we’re still talking about maybe just a day of your workweek sacrificed to ensure you’re getting the right person. You have to make real contact with a real person because quite frankly, it’s really easy to spoof an identity, credentials, and expertise thanks to the speed and responsiveness of the Internet.
Anyone can easily sign up for the likes of Fiverr or Upwork and find a quality developer’s profile and simply clone their information, right down to their portfolio link. They drop the price of “their” services considerably to stand out and when you stumble across their profile or they apply for your job post, you think you’ve found the diamond in the rough.
If you send them a message, they can translate it using any of the hundreds of apps online and write you back in a reasonable facsimile of your native tongue to convince you they are perfect for the job. Go the extra step to validate who you are hiring.
Problem #2: You hired a company, you need an individual
When you only need the skills of one person, make it your top priority to only hire one person. If someone applies for the job with a company name or profile, you are letting too many uncontrollable factors get into the mix. The company owner or manager might have all the design and developer skills you need, but is everyone else who might work on your project at the same skill level or even live in the same country?
Who is going to be writing your code and what are their credentials? Will you be able to talk to them directly or do you have to go through your established point of contact from the interview/communication process? How are those employees and subcontractors treated by the company? Are they being paid pennies on the dollar per hour and doing a quality of work commensurate with what they are being paid?
These are dangerous areas to get into when you’re trying to get the best quality of work. No matter how impressive the person on the other end of the interview may seem, once they have your contract in hand, you’re relying on nothing but their word that their employees can handle your vision. In fact, when you hire an individual, make sure to have them put it in writing that they will be the only ones doing the work you’ve hired them for. Your company is too important to have someone who took an online course five years ago handling some of the coding simply because the boss is too busy on other projects.
Problem #3: No man is an island
Even if you are hiring a freelance developer who has been in business for 30 years, has multiple degrees, and claims to work best alone, you still need to incorporate that person into your business in order to get the best effort out of him or her.
Imagine contacting a local temping agency to provide you with a worker for a single-day project. Even if you think they won’t be back to your office ever again, you still are going to welcome them in, introduce them around the office, make sure they have everything they need and give them a hierarchy of the chain of command that they are working so they know where to put their completed work and who to go for questions.
You need to establish the same feeling of teamwork with your remote or offshore hires. If you’re doing a video interview, have a couple of other people on it, especially if they are going to have any input on the project. If you work in a specific workflow platform, give the freelancer access to the parts of it they need in order to keep you updated and let them join group discussions on the project.
This can also indicate to them that if this job goes well, there might be more work for them on the horizon, which should motivate them even more to give their best effort.
Problem #4: A Lack of Precision Instructions
When you gather your staff for a morning meeting and hand out assignments, you have the luxury of being able to make eye contact with every person in the room, read their body language and facial expressions, and keep your office door open throughout the day to let them know that if there are questions or if anyone needs clarification on an issue, you are right around the corner or across the hall.
Your remote and offshore hires have zero of those luxuries. So in place of person-to-person interaction, they need a high level of detail, very specific requirements, and a crystal-clear vision of exactly what you want from the project you are assigning them. Before you send out the write-up, it would be a great idea to have someone in your office look over the details to ensure what you are saying is what comes across on the ticket. Go the extra mile beyond that and include links to similar projects and things you would like to emulate and give detailed verbiage of the requirements you have for the project to be considered complete. Leave no room for interpretation of what you need.
Problem #5: Same Language, Different Meaning
Different words have different meanings to different people. Don’t believe us? Then you probably haven’t had a conversation with a teenager lately! Colloquialisms and expressions get blurred when you cross borders and oceans. For instance, people strive never to tell another person “no” in India because it is perceived as impolite and a way to lose business.
Check out that hilarious video about language barriers: https://youtu.be/DxxAwDHgQhE
Therefore when they say ‘yes’ to someone hiring them for a job, they might be saying it just to appease them or to convey the message that “I hear you.” Unfortunately, that is not nearly the same thing as “I’ll do it.” Getting people together on the same schedule of urgency can also be difficult, and not merely because of the huge gaps in time zones that occur when hiring someone on the other side of the world.
Saying “as soon as possible” might mean tomorrow morning to you, but could mean “when I get around to it” for your freelance developer in another country. Make sure to use concrete dates and times for meetings and deadlines so that there is no misunderstanding. Another idea is to hire a project manager in a country that you are often outsourcing to. That person can be your boots on the ground for navigating cultural differences and ensuring that your local workforce is living up to the terms of the agreement.
If you’re struggling with consistency from workers in the likes of India and Pakistan, then it might be time to move on from those countries altogether. Burgeoning tech workforces are on the rise in European nations such as Poland, Ukraine, Belarus, and Romania. We can help you hiring and set up R&D centers in those countries.
These countries might not yet enjoy India or Vietnam’s international reputation for technical excellence, but they are on the upswing, hungry for work, and have a culture more in line with that of the Western world when it comes to processing requests, understanding English, and adapting to a given timeline.
You can also check our guide to create a remote R&D center in Ukraine : https://medium.com/code-store/it-departments-a-complete-guide-to-creating-a-remote-team-in-eastern-europe-e27adc74439a