Why you should avoid using offshore developers

When I first launched a web development company in 2005, I couldn’t code. Coming from a design background, I had never worked on the technical side of the web, and had very little understanding of the languages and process involved in taking a static design to a functioning site. Looking back, I wasn’t even very good at design; I was just a salesman who knew how to use the basic feature set of a pirated Adobe suite!

As a result, I spent the majority of my time dealing with offshore developers, sourced through what at the time was known as Rent-a-Coder (which subsequently changed to vWorker and recently merged with Freelancer.com).

It was hell. Even with a grasp on what could and could not be created, and having a rough idea as to how the developers I was hiring would go about it, getting each and every task done was a painful experience.

This post details the main issues you are likely to encounter whilst working with offshore developers sourced through sites such as freelancer.com. Whilst I recognise the obvious bias that this post may seem to bring with it (Why are you not using Netsells for your project, anyway!?) I can honestly say that none of the points in this post are written with the sole intention of driving your business in our direction. Just a friendly heads up from somebody who has been there, done it and learnt a lot of lessons along the way.

Poor quality work

This is the big one. At the time when I was regularly sending work offshore to be built, I had no idea as to the standard of work that was being returned, and that I was subsequently passing onto my customers. Looking back at some of those older projects (and unfortunately, from more recent encounters this hasn’t changed much), the standard of coding is appalling. Bad code leads to huge difficulties with maintenance, slow websites, non-compliant websites and pressure on servers and resources to name just a few.

Poor quality communication

The issue with communication goes beyond the obvious language barriers. Whilst many of the people who bid on the projects like to try and convince you that they themselves will be doing the work – this is usually not the case. Whilst I’m sure this is not wholly accurate, I tend to image these developers working in a sort of ‘sweatshop’ environment. Hundreds of programmers, most likely in their teens, lined up in a warehouse in the distant depths of India being controlled by one or two ‘project managers’ who can speak English. These are the people who you are dealing with, and as a result every question, issue, clarification that is required requires this person to go and speak with the person actually building your website before getting back to you.

If you do decide to outsource offshore, avoid anybody who talks about his or her ‘team’ or ‘colleague’ – work directly with the person who is to be completing the work, and insist this is the case before you begin.

Oh, and the language barrier is a serious issue too.

Broken promises

Don’t believe the deadlines; they quite simply will not be met. Of the hundreds of projects I have sent offshore over the years, only a handful have been returned within the agreed deadline. Admittedly a lot of projects end up with small change requests after the deadline has been agreed – but this is a great excuse for a developer to suggest that another 2/3/4 days are required, regardless of the fact the change requested is a 5 minute change.

The problem in maintaining a relationship

Because of the nature of these websites (if you are not familiar, you post a project and receive bids from several coders, and after reviewing their feedback and costings you choose somebody to work with) it becomes very difficult to maintain a relationship with a good coder once you have found one. This is quite simply because they all realize that’s exactly what you want to do. You want to find a programmer who is good (and don’t get me wrong, they do exist on these sites) and then keep him all to yourself for any and all future work that is required. The problem is, in recognising that this is the dream scenario for you, they hike the prices as soon as you have completed a successful project with them. This means you either spend more each time you use the programmer, or start from stage one – and source somebody else.

Rising costs

This is a simple one – going offshore is nowhere near as cheap as it used to be. Yes I know you have to take into account you are dealing with emerging economies, minimum wage expectations and inflation, but even in doing so the prices are way more expensive than they once were and have increased disproportionally.

When I first outsourced a project offshore I remember paying $35 for the full development of a CMS driven website. This is what the better programmers now work on per hour.

With the number of projects being posted daily ever increasing, and the number of programmers listing themselves on the site on a daily basis increasing, you would surely expect this to have gone the other way. I can only presume that at some stage in the last few years, these ‘project managers’ (the ones stood with whips in the coding sweatshops!) have twigged onto the fact that development costs in the countries they are working with are so much higher, that they all bumped their prices up. I believe they started grouping together under a single name and charging much higher rates, benefitting everybody at their side and nobody at ours.

The never-ending requests for more work

Once you have sent a project offshore, there’s a good chance you will never want to do it again. “Thank god that’s over with, now I can move on” you might think. Wrong.

Expect 2/3 Skype messages per day, along with emails, calls, text messages, voice mails, Facebook messages, tweets and any other ways they can find to make each and every working day as annoying as possible for you.

Do you have more work available sir? We have a lot, but it certainly will not be going offshore again.

——-

Do you have any experiences in working with offshore developers, good or bad? Leave a comment, it would be great to hear how others have got on.

A CloudApp Droplet for Retina Screen users!

We use Cloudapp a silly amount on a daily basis to throw screenshots back and forth between each other over skype. It’s always fustrated me that the screenshots taken on the retina screen are 2x that of the standard screenshot. Making the image huge for when we’re embedding into issues on bitbucket and a large file in general.

Today, over lunch I threw together a Droplet based on cloudapp’s official screenshot droplet that does the exact same thing, but first resizes the image to half the resolution (and a much smaller filesize) prior to sending to the server, this makes things much quicker in most cases! :)

You can download it here. I don’t plan on introducing version numbers as it’s not really a big project (but will do if there is interest shown!). If you like using it or have any issues, please give me a shout in the comments!

- Sam

Remotely configure iPhone Email Accounts

On almost a daily basis, we find ourselves sat in the Netsells office complaining that customers are yet again having problems following our PDF guide for email setup on the iPhone. We also find ourselves regularly complaining that we never have enough time to work on personal projects that we can launch and market.

Today, that all changed! This week we have been designing, developing and now launching iphone-config.com, a free & easy to use tool that enables web designers and developers (or the frustrated friends and family of a technophobe!) to remotely setup email accounts on the iPhone and other iOS devices.

Continue reading

Sharing keychains between Macs

We are all starting to use more and more online services, each having their own login details and it’s getting harder to remember them all – especially in an office environment when multiple people need to access a service. Other than having the same password for everything or writing the passwords down, there’s not much you can do.

It occurred to me the other day that OSX stores user-made keychains in a single file. Remembering how I used to sync Things before they brought out (beta) cloud sync, I realised that it was possible to use the same technique with Dropbox to sync the keychain around the office.

Continue reading

Alfred md5 Extension

While working at Netsells, I’ve constantly found myself in need of converting a string to an md5 hash. This took too many steps to do, so I created an extension for the marvellous Alfred.

Once installed, you simply launch Alfred (I use cmd+space), type in md5 with a space followed by the string you wish to hash.

Once it’s done, you can paste it wherever you need to :) a35a88e89a88dc8e6a7a8dfb0104fdb4

Download Alfred md5 Extension

Tutorial: Custom iPhone tabbar using Appcelerator Titanium

We are no longer supporting this library and are unable to offer help. Sorry!

While working on v2 of the Endeavour iPhone app, I was faced with a need to create a custom tab bar, this seemed a much easier task when using titanium compared to Obj-C! I actually ended up writing a library that is available on the netsells github which I will show you how to use in this tutorial.
Continue reading