I was browsing the Monastery today, and an interesting question arose from
bmhm.
This question was how much to charge for a small Perl script that someone had requested.
My immediate reaction from the description was to say that I wouldn't charge for it at all, due to simplicity.. Other beliefs were dont' turn down payment which is offered, which is also a good way to look at things.
However, I'm wondering about the following things that may be relevant to this, and wondered what the experiences with other out there may be:
- Unpaid Friendly: This is work you do for someone, that due to the simplicity/your general inclination towards the work at hand, you choose not to charge for.
- Paid: This is work you charge for, and all work goes through the corporate books.
On the face of it, it looks a no brainer, and most people would choose to go for the second item, they payin work.
However, after running a company here in the UK, there is one, not so cheap little item that comes into play.
Indemnity insurance.
I know it's not so much just a Perl question, but, it's something that would be interesting to see the light of experience out there, as well as my own.
For much of my earlier time in writing, I wrote the unpaid friendly code (usually in C,ADA, Pascal, shell or similar.. It took me a while to get into Perl, and I'm no kicking myself. :) ).
The understanding of this fragment of code was that somebody wanted it, and often had problems getting a budget for doing things. The payment was in goodwill. The real onus of testing and approval was on the person I wrote for.. If it went well, all fine and good.. If it bombed.. Then I'd see what I could do.. But there was really no comeback on it..
Now, if that work had been paid for, I'd be obligated to ensure that all things were considered (even if I'd not been told everything at the start, which goes back to the earlier discussion on a good spec document). If something unexpected cropped up, then I'd be possibly be in a rather heavy firing line from the purchasing company.
The solution for a freelancer is to carry this indemnity insurance.
For someone starting in life, the cost is often prohibitive for the starting coder, who wants to dip their toes in the water and see how it goes.
The way I got into freelance work originally was by the 'friendly' route. I did free small work for quite a few people in my spare time, and did my best to ensure good quality and usability.
Over time, more people came back, wondering if I could do bigger things. So, as exercises for myself, I'd do them on a friendly basis with a lot of research and learning for myself.
The real time that I started charging however was when I entered the contracting arena, at which point, I
had to obtain the necessary insurance.
At this point though, I was way past the level of writing simple scripts for people, more for a time constraint, rather than the willingness to do it.
Which again comes back to the original point of where the starting small scripts and work fit into the picture.
The ruminations of the much enlightened Monks of this monastery would be most welcome.
Malk