Freelance Programming, The Benefits and Pitfalls

Having been away for the last 6-9 months the affiliate commissions still dribbling in from old projects is coming to an end and I need to get back into business. It’s gotten to the point now where I need money and I need it fast. I’ve started working back on my affiliate stuff but, as we all know, SEO takes time. So, to pay the bills, I’ve been doing some freelance programming work through ScriptLance.

I’ve always been a bit sceptical of these freelancing websites, having been ripped off as a buyer in the past, while outsourcing content creation and link-building. Though, naturally, this time around there have been a few bad moments, my experience has been mostly positive. But, as there have been bad moments, I thought I’d share them.

  • Project Specification Changes
  • As any programmer knows, setting out the specifications of a project ahead of time is a must so that the direction of the project is known and both the programmer and client know what needs to be accomplished. Unfortunately, some clients seem to think that half-way through a project it’s perfectly acceptable to change the requirements with complete disregard for any of the work that’s already been done.

    Although frustrating, this isn’t too much of an issue if the client is willing to pay for the extra development time needed, however this is not always the case. This leaves the programmer in a tricky position, with two choices:

    1.) Abandon the project and risk not getting paid for the work already completed.

    2.) Spend the extra time working on the project to the new specifications and get paid, although not the full amount for time spent.

    Neither of these is particularly desirable. When I recently found myself in this position I chose to take the loss and finish the project, purely because I’m new to ScriptLance and can’t afford the inevitable bad review that would come from abandoning the project, despite it ultimately being the client’s fault.

    In future I intend to not start any project unless suitable milestones have been agreed upon and incremental payment is made at each milestone. Subsequent changes would then require revision of the milestones and new payment agreements put in place.

  • Third World Competition
  • It seems to be the case that with almost all project postings, no matter how low you bid, there is always somebody else willing to go lower. It would seem that almost all of these are programmers from third world countries like India or the Philippines that can afford to work for peanuts.

    While the best clients/buyers do seem to be willing to pay a little extra for English speaking, educated, programmers. They also only hire programmers with lots of good feedback and massive portfolios to show.

    I’ve found myself take on a couple of jobs for rates that would seem exploitative, purely to get my portfolio and ratings up high enough that in the future I can put in a reasonable bid on a project and have it considered.

    This point kind of leads on to the next…

  • Unrealistic Expectations
  • Having put in a ridiculously low bid and been chosen for the job, it is now your responsibility to complete it.

    Clients, having previously employed the services of third world programmers, willing to work for $2 an hour, take you on for a project and expect that you, like your competition, are willing to spend 12 hours on a 2 hour job, testing and weeding out any tiny little bugs. I’m sorry, but if you’re paying $30 for a script, I am not going to spend 2 days playing around with it because you don’t like this or that. It works. Project over. Any more time spent on it will cost you extra.

    Now that may seem like I’m saying that I do the bare minimum the project requires, hacking together some shitty code, but that is not the case. The code you get from me will be error free and work to the project’s specifications, anything extra is going to cost you that, extra.

  • Not Getting Paid
  • Fortunately, I haven’t found myself in this position. Although, from what I hear, it’s only a matter of time. Personally I will only begin work once funds have been placed in escrow, which is an OK system, though not perfect. If/When the time comes, we shall see just how well it works, although I have a feeling that, like eBay/PayPal, disputes will most likely favour the buyer rather than the seller.

The Upside!

You’d be forgiven for thinking that, given all these negative things I’ve had to say about freelance programming, I hate it. But, quite the opposite is true, I love it! There’s many reasons why feelancing is better, as I’m sure you can imagine, my personal reasons are:

  • Freedom
  • Having been self-employed for nearly 5 years, just the idea of having a boss again is enough to make me want to puke. Freelancing, like affiliate marketing, gives me the freedom to work when I want to work. I can accept or refuse projects at my discretion with nobody breathing down my neck.

    Being back in education, this is ideal. I can work around my college schedule. I would highly recommend freelance programming to any other students. It’s also really good programming practice for your classes! We recently began learning .NET at college and I’ve just completed my first paid project in it. I learned more on that one project than I have in the last 6 weeks at college.

  • Building A Client Base
  • As a good programmer, that completes projects on time, to specification and is willing to go that little bit further to ensuring your client receives the product they expect, you are in the perfect position to build up a loyal client base.

    In the two weeks that I’ve been freelance programming, I’ve had 7 clients, of these 3 have come straight back to me for more work.

    This is also a good reason to take on the small, boring, jobs that nobody else wants. Having completed a few day-long jobs for low pay, I have now been offered work on bigger projects and the prospect of long-term work.

    Building a relationship with your clients is essential. Two clients have already said that I am the best programmer they’ve ever worked with and offered me jobs that could span the next 6 months. I’m not the ‘best programmer’ in a technical sense, I just understand the importance of building business relationships and am a good person to work with.

Holy shit, this was supposed to be a quick little update, turned into a mammoth essay! I best leave it here.

I suppose I do have a few more words of wisdom that I could share, but they’ll have to wait for another post.

Have fun and if you’re thinking of programming on a freelance basis check out ScriptLance.

If you’re also a freelance programmer I’d love to hear where you get your business. As they say, variety is the spice of life.


Leave a Reply