« A Virtual Virtual Assistant | Home | Insidious »

First Attempt At Outsourcing

By Brick | January 5, 2008

First time here? If you would like to be notified the next time I write something, sign up for email alerts or subscribe to the RSS feed. Thanks for visiting!

One exercise I am working on right now is listing all of the things I do, both professionally and personally, and looking for activities that take up a lot of my time and only add incremental value. Perhaps some of these things are simply not worth doing or can easily be done by someone else. I work in the software industry, and one item I know I can outsource is the more mundane programming tasks I do as part of my job. There are components of the software I develop that would be difficult to outsource because it requires specialized expertise, the use of proprietary technology and/or sensitive client data. However, besides these exceptional cases, there is a lot of code I currently write that could easily be written by someone else.

At this point, a reasonable person might start by clearly defining the programming tasks to be performed and post the project on Elance, Rent A Coder, or a similar service. Of course, I had to try something different. I decided to contact a programmer overseas directly. How did I do this? A couple of years ago I had communicated with a developer (let’s call him “Ajay”) who had posted sample code on Planet Source Code, and we had since gone on to work on some open source stuff together. From these experiences I know he is a first rate programmer. To think, I had a potential VC (virtual coder) in front of my eyes the whole time!

My theory is that, in general, this may be an alternative way to find freelancers to do software development work. There are a lot of developers posting on Planet Source Code, Code Source, Code Guru and the like. By searching for programmers directly via these sites you can validate a candidate’s expertise and focus your search on a particular subject matter area before you even start the proposal process. Better yet, get a VA (virtual assistant) and have them do this for you! It’s just a theory and maybe Elance is a much more efficient approach, but it seems like fun to experiment a little!

Anyway, here is the email I sent Ajay:

Happy new year Ajay! I have a proposal for you to consider: I have some development work that I need to do, and I am wondering if you would be interested in helping me out. Compensation would be coming out of my personal funds, so I cannot afford a “corporate” rate if you could keep that in mind! Would you be interested in doing some work for me? If so, what kind of hourly compensation would you consider? If you are too busy, or not interested, or too expensive would you know other good programmers that might be interested?

He responded positively to this proposal. He suggested an hourly rate that is a little high in my opinion, but he indicated a willingness to negotiate on that. It looks like I am ready to move forward on farming out some work, and I am eager to at least give this a try.

I will start with a single, but meaningful programming task to see how it goes. I need to figure out a few things though. Since I did this kind of backwards, I need to go back now and very clearly and specifically describe the task to be done. Not only is this a best practice according to Ferriss and others, lack of clarity can create problems even before you have someone in mind to do the work. Some other issues to figure out:

If anyone has some experience in outsourcing programming work, I would love to hear you thoughts on these issues!

Popularity: 9% [?]

Topics: Outsourcing |

3 Responses to “First Attempt At Outsourcing”

  1. The Four Hour Trial Says:
    January 7th, 2008 at 12:01 am

    Hi Brick,

    Great post. I outsourced some work a few years ago via two different methods:

    1) Rent-A-Coder. Results: So, so.
    2) Forum Participants. I reviewed forums for the tool I was using and ended up POSTING to that forum for some help, with the “willing to pay sign” attached to it! The result: Excellent and cost effective.

    My task was something that I couldn’t easily figure out how to do and I was in a time crunch. It was also fairly specific. The rent-a-coder approach worked, but wasn’t very reusable. The other solution was SO EASY to use and so well designed that I’ve continued to use it for all other projects that needed this specific type of functionality.

    Here’s my suggestion: Get a fixed bid. Know your costs up front. If you are asking for a specific type of functionality then this shouldn’t be an unrealistic expectation. POST the project on eLance or RentACoder IN ADDITION to getting your bid from “Ajay.” There is nothing wrong with keeping things in check and getting competitive bids.

    You know as well as I do - you frequently get what you pay for. I don’t mind paying a little more for good, reusable, quality code. I just awarded a project to the SECOND HIGHEST bidder on eLance because something about their portfolio STUCK OUT from the rest. It was more than double the median bid price, but that was okay with me - as long as it is GOOD WORK. More to come on this - as tomorrow is the first deliverable! I’ll let you know how it goes on a post to my blog tomorrow.

    Ahhh…software will ALWAYS HAVE BUGS! I would personally never enter into an agreement that said I had to fix/maintain it! This isn’t because I don’t believe in my work, but I know that even the best development still produces bugs. Grace period…maybe! 30 days tops.

    My rule of thumb: No more than 50 to 70 lines of code (not counting comments) in any given routine. Basically, it better fit on my screen with one page view, no scrolling. The old procedure programming guys like to debate this and I have yet to lose! Code is cleaner, more understandable, more extensible, more maintanable and guess what: fewer defects! The people who wish to argue this fact will always lose! The ones who say it can’t be shortened because of x, y or z are wrong. I’ve yet to encounter a problem that couldn’t be broken down this way.

    More than you asked for, I know - but if you don’t have time to do a thorough scan of the code you are getting from your VA’s then that is one quick and dirty trick to identify the quality upfront! If you get a 500 liner then turn it back and have them refactor it.

    -M

  2. Brick Says:
    January 8th, 2008 at 6:09 am

    M, this is really valuable advice - thanks! It seems your experience validates my approach which is really nice to know, although I was willing to experiment anyway. I will definitely work with fixed bids, and posting on Elance to see how Ajay stacks up is a rather excellent idea.

    What you have probably surmised, is that Ajay is an attractive resource because he is a known entity and I already know the quality of his work. However, as you implicitly point out, he is not the only game in town, and one should always have options. My current boss will not even consider an important issue (including, ironically, hiring staff) unless he has at least two options on the table. Maybe that is a best practice of sorts!

  3. Outsourcing Update at The 4-Hour Workweek Journal Says:
    January 11th, 2008 at 6:47 am

    […] a previous post, I had outlined a strategy where I had identified a candidate to whom I might outsource some […]

Comments