Wednesday, June 20, 2012

Exactly how much should I charge for this job

Thinking about how much to charge my client
For most developers it is hard to pick a horse when it comes to billing clients for work done for them. It's major to a developer as poverty eradication is to my country's government. Luckily for the developer there are options to choose from and pointers to picking the right horse.

Cut to the chase Mike. How much should I charge? The super simplest answer is... Don't charge. Give it out for free... and no, I haven't been smoking anything. I only said that was the super simplest answer. Obviously you don't like this option. Let's move down to the simplest answer. 

Charge based on a similar project you have already done for someone else. What if I haven't done any similar work for anyone? Let's move to the simpler answer. 

Take stock of what car, gadgets or dressing your client brings to your first two meetings. Evaluate that in monetary terms and charge something your client's worth. What if the client knows this trick and decides to come on foot, in shorts and Tshirt with a Nokia 3310 as the only gadget. He may even show up with a 1998 diary to show you how too broke he is to buy the latest diary. Hmmm!! That's a smart client but you are definitely smarter, the reason why he requires your services. Let's move, this time up to the hardest answer which is the professional approach many experienced developers use. Oh wait before we do that, there is a simple answer I missed. It used to be my favorite approach to billing back in the day. It's the "client must pay for my woes" approach and is best explained with a scenario.

Girlfriend is giving you pressure and has given you an ultimatum to marry her, not the traditional wedding but the 'leave-him-broke' one. You need to move out of your parents before the flamboyant wedding. You did a quick calculation and realized you needed approximately 25k to pull all these stunts off and still come out alive. Just then God smiled on you and sent this client your way. BAMM!! you hit him hard with all your woes. 30k. This is so very unprofessional but you can either get lucky or get jilted by your girlfriend.

The more professional approach
There are 2 forms of billing. Fixed project billing and time-spent based billing. For freelancers and developers doing side jobs, I'd recommend the time-spent approach. This approach requires that you do 2 very important things.
- Know your worth and 
- Determine your hourly rate (how much you'd charge for every hour you spend working)

It's important to have an hourly rate and also be able to track how much time you spend on a project. In determining this, you don't have the freedom to pick any random ridiculous hourly rate since there are standard rates for the software development industry - web development in this case. Based on what value you place on yourself, your hourly rate can either be a little above or below the industry standard. Multiplying your hourly rate by the total number of hours will give you the total cost of the project. Ahem!! That's second grade mathematics.

A few factors affect pricing both upwards and downwards (sounds like the stock market). 

Your environment:
It's no doubt that pricing cannot be the same even on the same continent. A developer in South Africa can charge much higher than a developer in Ghana. A developer in Ghana can charge much higher than a developer in Togo. South Africa has a more mature technology environment where clients know the value software adds to their businesses. This makes charging higher more meaningful and acceptable. The case in Ghana is different but worse in Togo. Though there are going web developer rates, you may hardly get any jobs or probably send clients to their early graves should you charge like a South African developer while in Ghana. Ask other developers around you what their rates are. That'll help you make an informed decision on what your rate should be.

Your positive track record and experience:
This is something you can use to your advantage only if your track record is positive. I am not hating on anyone but its no secret that Jay-Z can charge more for tickets to his show than Kanye West because, Jay-Z is the people's choice. He is top rated. Well, even though I jealously dare to say the ladies will pay more to go see Justin Bieber or Usher, I believe you get my point which is, people will always be willing to pay premium for the best. If you have developed a few great stuff that are in the public domain, they can serve as reasons for you to squeeze a little extra out of clients. There definitely will be some willing to pay. If you are an experienced developer you definitely won't be going with the industry-standard hourly rate. The client needs to pay for the maintenance of that gray hair.

If your track record has question marks, you may need to drop your rates a bit to get enough work to redeem your image.

After arriving at a total cost of the project what next?
Hourly rate x Total hours on project = Total cost of the project, is not the end of your world of pain. You need to consider a few more things before finally submitting the bill to the client.

Discounts
It's important to give first time clients some discount. Discounts have an invisible way of letting clients want to come back to you for further business. Don't be greedy. Do it! How much discount you give is entirely up to you but shouldn't end up with you insulting the client with every line of code you write. There are also times when after arriving at a total cost you genuinely know the client will not be able to foot that bill. Discount it for him. Clearly state your discounts on your invoices so clients know you are doing them a favour.

Insulting amounts
I won't be surprised if you don't believe this because I couldn't believe my eyes and ears either the day it happened to me. A client (a very big company) felt so insulted when I gave them  an invoice with an amount in the few thousands. The guy actually raged as though I had broken his only daughter's heart. All I did was present an honest bill based on how much time I was really going to spend on the project. He saw it as too small, which he interpreted as the work not being valuable enough. The lesson I learnt from that episode is what I asked you to do in paragraph 4 but thought I was kidding. Sometimes you really need to evaluate the worth of your client and give them a bill worth their status. Strange but that's what makes life interesting - the different characters and characteristics.

In conclusion
Just an advice. Never charge a client without hearing in full detail what their specifications are. Never! Not even if they promise to give you a befitting burial. Don't let them succeed in coercing you into giving them an 'estimated cost' based on your experience with a similar project. You'd regret if you did. You'd end up frowning throughout the lifespan of the project. Each line of comment of your code will end with :( 


6 comments:

  1. I like the article. Not like other Ghanaian blog articles I've read. Keep up the good work :)

    ReplyDelete
  2. Ram (Human Ram :) )June 21, 2012 at 11:25 AM

    really interesting article. i enjoyed reading it.. dont forget the 10% aspect for the big companies, very important ;)

    ReplyDelete
  3. t's really true Mikky. Learnt something from this. Zenk for sharing your experience.

    ReplyDelete