Hacker News new | ask | show | jobs
by ChristopherM 4093 days ago
I have always billed hourly, daily or weekly. I would never offer a "project" price. The client never really knows what they want, they just think they do. In order to properly estimate a project you have to know everything that needs to be done, then you have to draw up an iron-clad contract that prevents the client from claiming something new was, or should have been included in the price. It also gives the client no incentive to be economical with your time. By billing hourly their incentives are aligned with yours, they will want to waste the least amount of time possible in order to keep their billable hours down, they will drop features they really don't need, they will be unable to deny payment claiming the project wasn't completed. After all they are paying for your time, not for the result. The caveat of course is that you really have to deliver, and as you do they forget about the hourly billing. As long as they have problems and you keep solving them, they will just focus on getting their pain points taken care of.

Something else to consider, if you want to make real money you are a "consultant" not a freelancer and certainly not a contractor. Also create an LLC or corp, I have found that clients don't flinch at all when I am a real business, nor do they try to offer me a job instead of a consulting gig. For 5 years I could not pick up a single side gig because the potential client would always offer me a job, but refuse to offer me the gig they claimed I was coming in for. I would always explain to them that I needed to make "real" money, trading one low paying salaried job for another slightly higher paying salaried job did not help me one bit. I needed the ability to make 2-3 times what the typical senior software engineer makes. They would get offended, I would leave. Funny enough it wasn't until I quit my salaried job, with no gigs lined up, no plans to get another job that the gigs started to happen.

2 comments

I completely agree that clients respond to you differently when you're a real business instead of a freelancer, contractor, etc.

Once I started saying I owned a business and stopped saying I was a freelancer, I could immediately charge more and my referrals got better. I was no longer the "I know a guy that does development" person. I became the "I know a web company" referral and companies are expected to charge more than freelancers.

One question: before offering a gig to you, do clients offer you to take a technical interview? And do you agree to take it?
I have never been asked to do a technical interview before being offered a gig. They ask about my experience, from there they tell me about the problem they need solved. So far I've always been familiar with their problem, I will immediately follow up with a high level description of how I will solve their problem (this is during the meeting and without doing research).

For example my most recent gig, the client, a start-up, had a product already in the field. However for development and manufacturing testing they did not have any tools to test the device. They wanted a tool to manually control the device, if possible they wanted a custom script environment added, and they had some device driver issues. Because they already had working code for all of the functionality of the device I explained that I could port the existing code over to the test application. Based on the scripting requirement I recommended using IronPython, Scintilla .net for a nice context highlighting text edit interface, and for their device driver problem it was a matter of walking the device driver stack to make sure the intended device was selected as they had multiple identical devices attached. The hardest part was that the device was written in C++, but they wanted the tool written in C# using .NET. So I had to translate the working device while I was creating the tool. They did not question my ability after I quickly followed their explanation of what the device was, how it worked and what they wanted. Within a couple of days they emailed me a contract, and about a week later they shipped their hardware as I work from home and in another state.

I have turned down gigs because I don't "work" in California, I refuse to pay the ridiculous taxes and deal with all the paperwork. I live in Nevada where there are no state income taxes, one less headache to worry about. Telephone, email and Skype are all that are required to communicate.

As for doing a technical interview? If asked I would never do one, I am a professional. No one asks a Lawyer to solve some legal problems and write example contracts, no one asks a doctor to do some sample examinations and provide a written diagnosis. I have references, I will talk about past work as long as I am not giving away any confidential information. If that is not good enough than I don't need to waste my time with the client. They are free at any time to have me stop working for them if they are not satisfied, considering that recruiters charge 15-20% of a years salary to bring someone on board it's quite a bit cheaper to have me do some work and decide I'm not living up to their expectations (that's never happened).

> As for doing a technical interview? If asked I would never do one, I am a professional. No one asks a Lawyer...

I'm thinking exactly this, just wanted to make sure this practice of refusing to tech interviews exists, and it won't be considered as being rude... Thanks for the detailed answer!