Over the last few weeks I’ve had the privilege to try and repair two large websites that had been made with outsourced programmers from overseas. In both cases the sites were nothing more than cobbled together code from a hundred different sources, worked on by 20 different people who obviously had no blueprint to what the page was supposed to do, limited programming skills, and who thought a comment in the code would kill them.
One of the sites had pages that did no more than show some data stored in a database, and it had 6000 lines of code on most pages, it and took over 40 seconds to load.
In both cases the owners of the site had spent thousands getting the sites developed and they both had significant issues with user experience, design, page load time, functionality issues, and of course BUGS! What should have been a profitable site — was going bankrupt!
Both of the owners had spent thousands more getting the sites fixed, only to find out that the fix broke something else important (such as not allowing google to see the pages, or not gathering payment information properly, or giving away paid access to anyone who wasn’t logged in).
In both cases the website owner thought they were getting a great deal. It sure sounds like it doesn’t it? I mean you can get a whole team of programmers for $5 to $25 dollars an hour. Considering most quality American freelance programmers won’t touch a line of code until that hourly rate gets closer to $100 (or over it) unless it’s for a long range contract that has some kind of benefits as well.
There is a good reason for a freelance programmer to charge that much, but the main one being is that the “hours” we work for you are not our only investment. We have to keep up with the latest technologies, we have to keep a computer running with the latest software, and we have to deal with the same bills you do. Throw in the time we spend talking to you, planning, and just getting you as a client and we only “CODE” about 30 percent of our work time.
I somehow manage to support a family of 6 with with my web development skills – and I thank god every day that I’ve got my own websites that generate revenue so I’m not dependent on just freelance programming or employment by contract. Once you throw in all the time I spend learning, talking with clients, and hunting for clients I couldn’t earn enough to keep eating otherwise. Freelance programming for “small business” and “small websites” is tough. We do have to compete with the outsourced workers, and there are plenty of people that think cheap is fine – even when the finished product isn’t what they want or what they expected.
I’ve yet to see a large outsourced project that ended up delivering a quality product. I figured I couldn’t be the only one, so I started looking to see if I could find anyone who had a complex program developed that turned into a commercial success. Instead I found a lot of other programmers (and website owners) who had the same frustrations I’m having this week.
Here is what I found:
Disadvantages of Indian Outsourcing (a great read if you are thinking about outsourcing)
This is why GOOD freelancers here in the U.S. don’t outsource parts of a project to save you some money – (programmers guide to outsourcing).
There are thousands of pages like this out there along with web masters complaining about outsourced work.
I couldn’t find a single complex development project that was completed on-time, in-budget, and functional. There are many many talented programmers in the U.S. that speak your language, understand what you want, and can build it with best practices in mind. There are less programmers who get the marketing and seo side of things, but there are a lot of us too.
There are “best practices” in programming for a reason. They allow us to work efficiently, and deliver a stable product that is understandable, functional, testable, and above all working as intended. That means that while we might spend more time commenting, testing, communicating, and planning, we actually work a lot faster. Huh? How could we possibly do more planning and testing and work faster?
Well, the truth is that web developers and programmers are like a lot of other industries. We have learned skills that enable us to build something. Let’s say it’s a house instead of a web site.
If you were going to build yourself a house, would you pull up to the Home Depot and hire 20 immigrant workers to build it? Literally – just grab them and tell them to “build me a house”?
You sure wouldn’t, because you’d end up with who knows what, and it would never pass inspection and even if it kept the rain out you would be embarrassed by the finished result.
Just like when you are building a house you need a blueprint. You need to build to ‘code’ so it’s safe, and you need to be able to communicate so you end up with the counters in the kitchen you want, and the right kind of windows. Important features like doors and plumbing would be good as well, right?
When you hire me for example *(or any good freelancer) , you are going to get a huge planning stage. This stage is the equivalent of having a blueprint for your house, and a features list for each room. If this stage isn’t done well, you end up with a house that looks like it was designed by one of the Looney Toons cartoon characters
I’d love to be proven wrong (and I always like it when people agree with me), so if you’ve had any experience with outsourced programming work of any size, please leave a comment!