You'll find ads titled, "Website Developers $12/hr" or "Indian PHP Developers" or "Find Top Web Developers www.guru.com". With most top local web developers charging around $100.00 an hour, or $400.00 to $5,000.00 for a website, this can seem tempting. With today's connected world it's easier and easier to deal with workers anywhere in the world.
While it may be possible to have a good experience dealing with offshore programmers for your Web Development core Web Design project, my viewpoint is like that of the Emergency Room doctor's opinion of motorcycles. I've seen the carnage, and I would not recommend it.
Because I'm an experienced programmer, I tend to get quite a few calls from people who have websites that need to be rescued. Almost all of those calls come from people who have used offshore programmers. Some of the situations are heartbreaking, where people have spent thousands of dollars and have literally had to walk away from all of the code created, and start over. Most of the sites have cost far more than anticipated, even though the results, in some cases, have been unusable.
Unless you are an extremely experienced coder, and can review the code generated on a daily basis, do not hire an offshore programmer by the hour. I have seen offshore coders charge a client for 30 hours for something that I would have billed about 3 hours. It is not unheard of for offshore programmers to bill thousands of hours, and end up charging you far more than any domestic programmer would have billed you.
If you hire an offshore programmer by the project, expect to run into delays and up charges. If you advertise your project on one of the freelance websites, you'll be amazed that you may get 20 to 50 proposals within minutes. You will be getting proposals before anyone could have possibly read your listing. The reason is that many contractors will quickly bid whatever they think will attract you, knowing that during the interview process they can boost the price to something more reasonable. Additionally they know that there's a very good chance they'll be able to boost the price again during the project. They will complain about some issue or complication, and tell you that they need more money to go forward. They tend to do this towards the end of the project, when they know that your deadlines mean that you can't cancel the project and try to find someone else.
Usually the code quality from an outsourced agency is poor. You may be assigned a single person as your contact, but the work is actually being done by third tier, junior programmers. There is little continuity. Your project just goes to the next person on shift. So your code ends up with different styles, and protocols. That, and the fact that there are almost never any comments in the code, since the actual coders usually don't speak English, make debugging it so difficult and tedious. The lead developer only wants to know if it works well enough that the client will accept it. He doesn't care what shortcuts they took to make it do it.
Those shortcuts, and the poor coding, often affect the search engine rankings that you get. Your site is much less likely to rank well, since they seldom, if ever, worry about SEO. You could end up spending many times any programming savings on SEO services, trying to move your website up in the rankings. Ask them where their website ranks. My website is on Google's first or second page for my top keywords Web Developer Vancouver, Website Developer Vancouver, Database Expert Vancouver. I'll guarantee you that their site isn't on Google's first five pages for any plausible keyword.
You will also never get an offshore developer to make suggestions to improve your site, or give you information about other technologies that could be used that might better achieve your goals. When you are working with me, I'll be making recommendations on how to make your site work better and be more effective. I am hoping to build a long term relationship with my clients. The offshore coders just want your job out the door. It only has to work for a few days, long enough for you to approve the project and leave them good feedback. In most cases, twenty seconds after you've approved payment, you are dead to them.
If you have confidential information on your server, be sure that you have it protected and firewalled so that your offshore programmer does not have access to it. Once you have given an offshore programmer access to your server, work on the premise that they have downloaded everything on your server. You may have programs that you have had developed by other programmers. The offshore programmers will examine them to see if there are useful routines or processes that they can use in their projects. If you have proprietary information or trade secrets on your server, they probably aren't secrets anymore. Nondisclosure and non-competition agreements are almost impossible to enforce on an offshore contractor.
While I'm sure that not all offshore programmers are unethical, there seems to be an attitude that the more you take advantage of your customer the more you prove how clever you are. Within the offshore web development community, ethics, as we understand them, don't seem to be the guiding principle. I have seen contractors create webpages that were nothing but a façade. They did not perform any function. No code had been written to generate the expected result. But the page looked realistic, and the contractor was hoping, correctly, that the client would authorize payment to him before he discovered the ruse.
Offshore programmers often use frameworks such as Smarty or Code Igniter, if you are lucky, or other obscure or proprietary frameworks if you are not lucky. These frameworks make it faster to build your site, but if they don't code them well, debugging them is very difficult. Additionally, only a small percentage of local programmers use or understand those frameworks. That means you are choosing someone to fix your site from a very small pool, although that pool includes me.
Don't trust the star ratings of the freelancers. Some can be posted by shills. Contractors often threaten to give bad feedback to the client unless the client gives them a 5 out of 5 rating. Contractors have been known to withhold some critical part of the code until the client gives them a 5 out of 5 rating. Be suspicious if you see high star ratings with no comments or very tepid praise. Be very cautious if you see multiple projects where no feedback or star rating has been left.
Many offshore projects are abandoned. When you are looking at the list of contractors bidding on your project some sites show the contractor's completion rate. It is not unusual for this to be 60% or less. That means that only a little more than half of the contracts that this contractor started, were completed. Not that they were completed well. That they were completed at all. On hourly projects, you have no recourse at all if the contractor walks away from your project. On a fixed price contract, you may lose your deposit, or end up in endless arbitration.
So is it possible to have a good experience with an offshore programmer? I'm sure that some people must have successful experiences, since the websites are still there. But as I mentioned above I'm like the doctor in the Emergency Room watching the bodies come in, so my experience is not good. Be sure you keep your eyes wide open. If you do decide to use an offshore programmer, there's a good chance that you may be calling me in a few weeks or months anyway.