Lessons Learnt from Freelancing as a Coder

March 2, 2008 1:58 am 8 comments

Share this Article

Author:

This is a guest post by Mansoor Adenwala. Mansoor is a blogger, corporate trainer, process advisor, and generally a solution-finder in the world of ICT. He currently works for Business Beam Pvt. Ltd in the capacity of Managing Advisor and is based in Islamabad, Pakistan.

Osama wrote about how he discovered there were 1173 freelancers on oDesk, which set off a pretty lively discussion on freelancing in Pakistan. I thought I’d add my two cents to the discussion, and maybe encourage some new people to join up the freelancing world.

I’ve been associated with Rentacoder.com for the last 5 years and done around 9 projects in this time. Though I’ve stopped earning through these means, its still a healthy backup to fall on incase there are ever hard times. I became a member of rentacoder in my university days, when lulls in study time were threatening to rust my coding skills. Also back then, I wanted to make some extra money and since my parents wouldn’t let me work in case my studies were affected, RAC it was. For the next year, I completed around 6 projects and had earned somewhere around $1200 (after paying all the requisite charges of the site and western union etc). Not bad as an extra pocket money. I also learned a couple of new things about both, myself and the coding world which shaped my career later on in life.

When you are freelancing, you really don’t know what you are getting yourself into. Initial thoughts are, its just another project, I’ll be able to do it without any problem. But its not. The first thing you learn is that earning money is not an easy task (the universal truth of adulthood). When you are doing university projects, the scope is largely defined by you. You can add features, remove features or even change them completely off your own and no one will complain much (except maybe a tough professor, but then who cares right?). When you freelance, you learn for the first time, requirements are important and its not as much fun when others are changing it!

Read onwards for more important lessons learnt

I remember this one project for live support system I did for an Indian company. The initial bid included a requirements document, for which I was supposed to code and deliver a standalone system. I won it and started working. A month down the road, they wanted it to be integrated with their original system. Still a month later, I was not only supposed to deliver it, but install and test it as well. That too, remotely! During these first six months that I worked on it, requirements kept changing, as the contact person kept changing, forcing me to rewrite large sections of the code. Eventually, after much delays, the system was finally ready as per their document and ready to be delivered. A senior person at their company came to test it and asks me ‘where is XXX feature?’. I replied ‘it wasn’t part of the original requirements hence not there’ to which they said ‘but that’s a standard feature! We want it!’. That ended my relationship with that company. I took the project in arbitration, won and claimed my money, but it didn’t leave a good taste in my mouth.The point here is, there are many challenges you learn freelancing that you wont when working in a software dev shop, especially those relating to handling a customer. In this case, scope creep took a 3 month project to 15 months, because at the time I wasn’t equipped to handle changes. However, my last project came in on-time because I had clearly communicated what I could deliver and when and set the scope and expectations as precisely as I could (I had even managed to get 5x times the original bid amount from the buyer because they realized later that changes were necessary and I charged them for each and every one of them). So as a freelancer, you learn how to manage requirements and your customer.

You also learn, on a fast track basis, how to estimate a project! Since you are the one whose reputation will be on the line here. While formal estimation was still way beyond my reach at those times, I ended up making a simplistic model, based on my experiences with past projects. For web design projects, I asked for 3 days per simple script, and 5-15 days for a complex one, which included time to code, test, bug fix, deliver UAT and sign off. So it became number of scripts x time for each script acc. to complexity. This worked very well for me but may not necessarily work for others. Another PM skill is task management or in formal terms ‘creating a work breakdown structure’. This is what you’ll deliver to the client to show them exactly how will you complete your project. Whether its followed or not is another story, for another day.

Yet another important skill learned through freelancing is expectations management! Your client will ask for a rock and expect the moon. If you want to succeed, you’ll learn to make them understand the difference and why, even though they’re asking for a rock, they actually want a mountain but not the moon (and if your suave enough, increase the bid amount to charge them for maybe a mountain range in the process). If i’m sounding confusing here, then you may want to read up on expectation management.

But the most important lesson which I learned as a freelancer, was knowing myself and my capabilities better. To give a little background, I was a pretty decent coder back in the day, and for years thought that my future career would be in front of a computer, writing innovative code to change the world because that’s what software engineers do. After doing four projects, I realized almost all software development is very different from what you do at university, is essentially all the same and gets less challenging with each successive project. This just wasn’t my cup of tea. I also learned that bidding on a project, engaging the prospective client in discussion, negotiating what I could and could not deliver, and winning the bid was, for me at least, more satisfying that coding and delivering the final product. Sure, coding is fun when your doing something innovative and creative but not as much as getting the project. I’m writing about this here to let you guys know, freelancing can bring out latent but amazing abilities in you and allow you to understand yourself better.

I’ll stop here, since this is a blog post, but believe me when I say, I haven’t even scratched the surface of how those years helped me out. Give it a try, you never know what new skills you might discover in the process. Because as they say, necessity is the mother of invention, and only when there is an immediate need for a certain skill, will you be able to learn it.

Share :
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • Twitter

Facebook comments:

8 Comments

  • I m loving it Mansoor Bhai!

  • thanks ali raza

  • Mansoor,

    Thank you for sharing the experience. This is very common in projects either you do freelance work or you are a big vendor providing solution to the customer; they will always keep on changing the scope. A project change request process should be a part of the initial contract and should be adhere to strict (a project manager responsibility!!). Even if a feature that you can do for free, a change request with 0$ should be raised as it maybe have impact on the project time, scope and cost.

    In reality its very hard to negotiate a good contract as the people on the other side know this as well that they will miss out on things and hence they want to squeeze you as much as possible. Worst is when you have to do things like Integration testing or SIT on external system which are not ready and then the project drags forever.

    My two cents .

    /Majid

  • Dear Mansoor;

    An impressive post, i hope I will handle to manage and utilize heat in myself which I am feeling after reading it.

    And I think a successful freelancer can become a successful entrepreneur. Because while doing projects for small term of different nature one can think a strong story for him. I think for if the work in office didn’t give you excitement then one should go for free lancing to check himself how smart he is. And how batter he can sell his code.

  • majid: that is definitely the case, and while in a company setting, a project manager or the customer facing person comes under heat, in freelancing, you have to manage that as well as take time out to code. so its an all around skillset that you develop.

    tahir: take the step and get into freelancing man! its fun and at the end of the day, the money is ALL yours :D

  • Asslam O Alikum!

    First of all, I like to appreciate your efforts of GreenWhite.org site. I start reading GreenWhite.org blogs from last two weeks. The site has good content and information for entrepreneurs. Again, I appreciate you.

    I have one question, Can you please advice me tips & tricks for time & cost estimation of a project…

    –| AimsLifeâ„¢ |–

  • wow..well written!!!
    I could certainly take a leaf or two out of your book of experience in the world of freelancing!!!

    Thanks for the insight into a journey that :looks: so simple..but really is SO complicated!! :)

  • Mansoor,

    Good post! And being a freelancer myself, I know exactly what you’re talking about. Working with buyers is not always easy, as you described, but it is the job of the coder to make sure of all these things before embarking on a project – especially a big one.

    As for me, I guess I am a bit different in the sense that coding is the way to go for me. For me, there’s nothing better than to keep challenging yourself with new problems and finding their solutions.

Leave a Reply


*

Recent Posts

  • General Business Incubation: False Hopes and Shattered Dreams…

    Business Incubation: False Hopes and Shattered Dreams…

    When a 19th century romantic French writer by the name of Victor Hugo said “Nothing is as powerful as an idea whose time has come” he obviously could not envision Pakistani bureaucracy. Not only can it reduce an idea to nothing more than its meager skeletal remains squirming in its own vile, it too often does.

    Come 2004, the IT bubble is about to burst in a military run, democratic, American influenced politically independent subcontinent country by the name of Pakistan. It is here in our story that along comes an idea. It is a simple idea yet revolutionary in every way, the idea to prepare this country for the…

    Read more →
  • Events General Home & Cars Expo 2012

    Home & Cars Expo 2012

    The past whole week I was really excited about going to the exhibition on 5th and 6th at expo center Lahore since the theme read “home expo and super car expo”. I was counting on seeing some innovative home solutions, fancy cars and a lot of appliances for both. As I entered the arena, an ear piercing heavy bike engine race greeted me. Oh wow nice, we have bikes here too… and lots of them, but let’s see if we have the actual products that are expected.

    First cars!! Honda Launched its new City Aspire at the event. This attracted a lot of young crowd who wanted to check it…

    Read more →
  • General Rock the ball with Pepsi

    Rock the ball with Pepsi

       NOTE: This is a sponsored post

    Football. The most popular sport in the world. That may be hard to believe, we being a die-hard cricket nation, but there are many amongst us who get their blood pumping whenever our favorite team kicks some balls (pun intended).  There’s excitement in the air, and the airwaves for that matter, when Spanish rivals Real Madrid and Barcelona are about to have a face-off on the field. Manchester United or Chelsea? The answer could incite either jeers or cheers, depending on who you’re surrounded by. It feels like you belong to an exclusive club really, not to mention how convenient it is to…

    Read more →
  • Coffee Session General Another SHAM ICT Funding Project

    Another SHAM ICT Funding Project

    There are two main things that are currently causing out growth in ICT to stall. One is the lack of original ideas, so most of the entrepreneurs either copy what is already around internationally or locally (same ideas of online shopping, online bidding) we still have not hit the jackpot with someone creating some thing like instagram or drawsomething and being acquired by one of the big names.

    The second issue always lamented by entrepreneurs is lack of any funding sources in Pakistan. Over the years we have seen efforts being made to create funds which would help but what ended happening that most of these funds either did…

    Read more →
  • Coffee Session General 8th Layer of Networking

    8th Layer of Networking

    We all know about the 7 layers of the OSI model. This is the framework by which computer networks are defined. Starting with the physical layer, going through the transport layer and finally culminating in the application layer where end user applications reside. I believe that this should be redefined to include and additional layer – the Social Layer. From the current vantage point, the Social Layer lies right above the Application layer – hence it is served by the Application layer.

    The 90s witnessed a boom in what is now referred to as web 1.0. This consisted of static applications hosted over the web. Static applications meant that…

    Read more →
  • General Mobile Apps Software & I.T. Pakistani IT company TenPearls launches car racing game with a bang

    Pakistani IT company TenPearls launches car racing game with a bang

    Pakistani IT industry has been progressing rapidly over the last few years. It is heartening to see that the industry players are innovating and working in different areas to establish their expertise.

    Recently, TenPearls, one of the leading IT companies of Pakistan, launched “Carumba!”, a 3D car racing game for iPhone and iPad. Carumba! has been designed and developed by TenPearls’ innovation labs. Launched as a free game, Carumba! allows users to earn coins during the race, and redeem them to unlock other cars and tracks or to get additional nitro boosts. It has also been integrated with Apple’s Game Center.

    The game has received very good response from…

    Read more →
  • Events General TEDx Event 2012

    TEDx Event 2012

    ‘Rethinking Pakistan’ [and my expression goes LOL and I will explain why] was the theme of the conference which took place at margalla hills Islamabad on March 31st 2011 organized by TEDx, lets just summarize here what TEDx is; before we further dig into the “theme” and happenings of this conference.

    TED (Technology, Entertainment and Design) and ’x’ denotes the independently organized events under the TED umbrella, mission is “Ideas worth spreading” and this events basically brings together individuals, communities and organizations with the opportunity to excite dialogue through TED-like experiences at the local level (geographically). The programs combine live presenters, performers and pre-recorded talks from some of the most brilliant…

    Read more →
  • Announcements Events General ICT Funds Final Projects

    ICT Funds Final Projects

      ICT R&D Fund aims to provide graduating students a chance to really make their final projects counts. I have always felt that students in their final year some times product excellent products which due to lack of any infrastructure and proper guidance plus funding just go in the Universities Libraries.

    Seems ICT R & D fund is giving these students a chance to take their projects to the next level by acquiring funding, if you are a final year student doing a project all you need is to get this form filled and submitted through your head of department .
    Last date for submission for forms is 31st

    Read more →
  • Coffee Session General Thiel Fellowship: right idea, wrong approach

    Thiel Fellowship: right idea, wrong approach

    I wanted to discuss the Thiel Fellowship and sort of run the idea among our readership to figure out if it was justified or not. Bay Area hedge fund manager Peter Thiel started a Fellowship program in his name about a year ago trying to capitalize not on start ups, but the smart kids who may actually come up with the next billion dollar idea.

    Let there be no mistake. Innovation solves problems. Bankers, lawyers and hot shot executives are good for only one thing: managing an existing infrastructure. It is the innovators who turn existing ideas on to their heads and enable breakthroughs. Considering the point above, it…

    Read more →