Freelance Programmer Survival Manual
luaz.blogspot.com
luaz.blogspot.com
> I will give a lower price to a customer who I believe to have good character, and I would hike up the price if he is a demanding or difficult to deal with type
Please don't. Your beliefs don't matter. Even the coolest guy can come out as a PITA or a scammer. Or even if he's cool, he can have partners who will make your life a living hell. In the end, it's all about the money. Just charge what you're worth, so you don't regret it.
Charging more lets people know you're serious. Low paying customers typically ask for way more "can you just" tasks, like changing the font colour a dozen times or moving something "just a little to to right". You don't call your lawyer to change the typeface on your legal letters.
Interesting. I keep getting complaints and lowball offers all the time.
But I do agree, should not under-charge.
Worst case scenario.. I am out a week's work.
*so far, I've never been stiffed.
When requested to do something I think is wrong, a favorite response of mine is:
What you are asking me to do is like saying: "please hit my finger with a hammer". that said, it is your finger and your hammer , so I'll do what you decide.
Or.. for xx hours I can go as far as I can, then you can judge if it is worth it.
My rate is high, but I usually over deliver per hour worked, so it is a good deal for someone who has already wasted money with "cheap" developers.
The key is trust and communication, I do spend a lot of time talking with customers to make sure that we understand each other (I charge for talk time, texts are mostly free)
Deliverables are usually a web based demo they can play with (and send feedback on) or a run of unit tests.
*setting up servers (git,jenkings,fitnesse,apache,mysql,etc are common deliverables too)
The above said, I never start the next iteration till paypal says the money is there.
Also, you can use the popular agile approach which is popular; in that case you define stories per sprint (which in smaller projects are a week usually) and every monday morning you agree with the client upon the stories to be done that week. When you finished the last story, the client needs to pay the price for that week and go on with the next week. This keeps both sides alert and doesn't allow for slacking on both sides. It can go very wrong if you agree to too much, then you get the dark side of agile which means you'll be working every weekend 24 hours/day to make that monday morning.
When I freelanced, I evaluated clients on three criteria:
* had I worked with them in the past?
* did I know anyone who had worked with them in the past?
* everyone else
If I trusted them or people who had worked with them, it made the engagement easier all around (though you still need a contract!).
As far as finding new clients, I relied on word of mouth, which probably didn't lead to as many opportunities as would have occurred if I was more active in various communities, but I was ok with that at the time.
Also, I wonder what the author moved on to?
I didn't try any elance stuff, because I felt it's a race to the bottom price with programmers from India.
I move on to develop a restaurant review website (sort of lifestyle business): http://food.malaysiamostwanted.com/
Clients like digital and creative agencies, funded startups and corporates (managers that don't have access to internal dev resources, but still have dev needs). They use freelancers and they don't come with a lot of issues small clients have.
Interested to hear from freelancers as to how and why they work for smaller clients.
That was my reasoning at least when I was a freelancer; that's why I didn't continue doing that and started hiring people quite soon; the risk of losing a big client is too stressful. YOU depend on it; you feel it immediately. Funded startups; I would never do that anymore as freelancer. I had a few; cases in point here. Working on a project for 3-4 months only to see the funding had run out and the company was broke => no money. Funded startups are horrible to work with/for if you cannot peek into their reserves and financial situation. They will play nice weather until the very last moment (they have to of course) when you receive an official letter that they are gone and you can call some lawyer to get in line for your money (which you will never get).
If you don't want to 'work from home', I would say corporates (at least in north EU) are your very best bet at stability. I know guys who have held stable freelance jobs for decades at huge corporations. It's like having a job though, so I don't really see the point.
It can also make you complacent so you won't bother marketing yourself so much. That means that if they do decide to ditch you then you are in trouble.
Perhaps the answer is to provide smaller niche services (performance optimisation , pen-testing, UX design) to larger clients and charging a higher hourly rate so you don't end up becoming their general purpose code monkey.
Another point is that smaller clients are more straightforward with me. They just want to get their project done. Big-Co. usually has a list of stupid requirements and proposals that make me waste too much time. In my experience, smaller clients have always paid in time. Big-Co, not so much.
Many local clients (especially from non-IT companies) are not sophisticated enough to use services such as elance, thus they are fairly happy to found a programmer which they could work with locally (my customer still expect face-to-face communication).
Eventually I did landed on a semi-government job, where they pay is probably 3x more lucrative than smaller clients, but longer duration + more politics + more stress to handle the human side of things.
The worst is "uneducated" clients, meaning they don't know how custom software development works, and asking why you charge 10x more than off-the-shelve accounting software and still deliver a product "full of bugs" (you should have tested vigorously and solve all the bugs, right?).
I came from years as a contractor for large Fortune 100's who pretty much beg me to come back as a contractor but won't/can't send me projects as a remote freelancer. It is to radical for their business culture.