Take the 2-minute tour ×
The Workplace Stack Exchange is a question and answer site for members of the workforce navigating the professional setting. It's 100% free, no registration required.

I am developing a project for a client where I have a little bit of experience in a particular clientside framework - however not that much. There are times I have to go off and spend anywhere from 10 minutes to several hours researching something to understand it.

I told the client upfront that I wasn't a hot shot at all the technologies the site is using. However, being a 'normal' programmer I probably underestimated the time I thought things would take to get right, in other words where I thought something would take 5-10 minutes, I have found in many cases that it has taken up to an hour (or even two).

On a hourly rate situation as a freelancer to fix a number of issues for this particular project, should I keep the billing meter running while I'm off learning about a particular piece of functionality in a programming language or should I pause things?

share|improve this question
2  
I've edited the title to more accurately reflect your question. As I read it you're asking if you should bill for your 'learning curve' not for 'research'. Very different things. –  Stephen Jan 21 '13 at 15:05
1  
This question is about a specific work function (Billing) as opposed to being about general workplace activities. While I realize this is a common problem it is outside of the scope of this SE. –  Chad Jan 21 '13 at 20:41
    
@Stephen Yes, thanks for that - I can see how that makes it more clear. –  u2sonderzug Jan 23 '13 at 4:40
add comment

8 Answers

up vote 47 down vote accepted

It depends.

On the most part you do not bill for your education. Your 'payment' for it is the fact that you now have more experience and a more diversified skill set - that is in itself valuable.

However, this is conditional on the popularity of the framework. Some people end up working with arcane or very niche technologies, and the typical going expectation is that when you start looking at that sort of code, your ramp-up time should be compensated for. The problem is that the line between niche and mainstream technologies is often blurry. This is why IMHO the best way to go is to be very explicit about what you know and what you are familiar with and then bill for every hour of 'work', where work is defined as any time spent getting the project from where it is now to where the client wants it to be. This is fair because when it comes to experienced developers and multiple frameworks, the probability of finding someone with the exact skill set is very low. Most hiring managers settle for 'close enough and smart guy/girl'. At the end of the day, every project requires a new developer to take some time to figure things out. This is normal, and sometimes it involves brushing up on frameworks while other times it just means learning the models and workflows.

In closing, I'd like to say that this is fundamentally a question of bargaining power. When a client is looking for a .NET developer, the expectation is that you know .NET pretty well and aren't coming in to learn it because of the large sea of .NET developers out there. If the client is looking for someone with a list of cobbled-together interchangeable open source components, then due to the supply and demand of the market, the probability of finding someone exactly like that is so low that it's expected that developers will be compensated for learning it.

share|improve this answer
5  
this is the answer –  itaitay Jan 21 '13 at 16:00
7  
+1, I would add that if the client and developer have a history of success on other projects, it is not unusual for the client to continue using the developer even where their skills are a stretch for the new project. Many times familiarity with the customer and problem-domain trumps deficiencies in knowledge about the particular technology platform being used. Under such circumstances it is "OK" to bill for ramp up time. –  Angelo Jan 21 '13 at 17:41
2  
Yeah, I didn't want to add my own answer since this one is very good, but it really comes down to your relationship with the client. I typically bill for ramp up time if it is known going in that I will need to learn stuff, but do so at a very reduced rate or alternatively, I'll take the project at a fixed price for the project if it is small enough to justify a fixed price. My reason for billing at a reduced rate if they still want hourly is to make sure they have an idea of how much time is really going in to it as well as to help discourage rushing before learning enough to do it right. –  AJ Henderson Jan 21 '13 at 20:14
1  
I upvoted this answer as "the best" but I would like to point out that one avenue that hasn't been considered is simply discussing project related concerns to the client. Is it going to harm/improve/not-impact your relationship with your client if you clearly explain your situation? It is an excelent place to open a dialogue about how they would prefer you to handle this sort of billing. Perhaps the Client understands that their technology requirements are obscure, and that learning them is an obstacle to completing the project, and are willing to (help?) foot the bill. –  EtherDragon Jan 21 '13 at 22:28
    
Definitely don't bill for your education, but...also be sure you are billing at an hourly rate that can sustain your business (which should include an allotment for time and money spent on continuing education) –  DA. Mar 1 '13 at 2:42
add comment

I don't believe you should directly bill for this type of thing., However, your hourly rate should be high enough to allow you to spend time on educating yourself for all clients and for other down time (when you have no work or are doing administrative tasks like creating bills or looking for new jobs). So suppose you want to make (numbers completely made up and not a reflection of what you should actually charge.) $20 an hour. Normally in a week you might have work for 30 hours. YOU might spend 7 hours in educating yourself and anther 3 hours doing necessary tasks like creating bills, looking for more work etc. Now you also would like to be able to take some days off without it hurting your pocketbook and you need to cover your own benefits like retirement.

So for each hour you actually work you need to charge 20 for the task, 7 to makeup for the non-billable work time (rounded to the nearest dollar) and 3 to give you some money ahead to take some vacation days and 7 to pay for benefits. So your hourly rate is $37. Now you are billing only for actual work but the rate is high enough to cover everything else.

share|improve this answer
1  
+1 for making sure you're billing adequately. In some industries, for freelancers, 50% of your work week may end up being non-billable. –  DA. Mar 1 '13 at 3:01
add comment

It sounds like you want to bill the client for your initial lack of preparedness in taking on the project. From the perspective of a client, I would expect the person that I hire to possess the skills necessary to complete the project before they begin the project. Even if they didn't, I would, at the very least, expect that the time for which I am being charged is the time required to complete the tasks directly related to the project, not the time you would need to acquire the knowledge in order to complete the tasks.

That being said, if my needs were unique and you fully disclosed that you would require the acquisition of an additional set of skills to complete the project which would require additional compensation on my part before you began working on the project or subproject, it would then be my decision whether I compensated you for your learning time or chose not to do so. The key is the disclosure.

From an ethical standpoint, you painted yourself in a corner with your initial underestimation. You can just suck it up and chalk it toward experience (as in "I'll never do that again") or you can pad subsequent bills for this client to cover your education. Regardless of what you choose to do for this project, I would suggest giving yourself a little more cushion when estimating future projects to cover this type of situation (and others you may not have experienced yet).

share|improve this answer
add comment

I look at it the same way I look at hiring a contractor to do work in my house.

He doesn't bill me for use of the truck, nor for the use of the tools. But he does charge me enough for his labour to amortize those costs over a reasonable amount of time.

You've got to look at the total cost of your employment, and set your hourly rate over all jobs such that you can recover these costs.

Assume 2000 working hours a year, and a desired income of $50,000. That's $25 an hour.

Now put in 50 hours of learning, 200 admin, and we've reduced the billable hours to 1750, meaning our hourly rate now needs to be $28.50 to make the same income.

share|improve this answer
add comment

The other answers are good, but I just want to add something I've not seen mentioned. One consultant/contract programmer I was once acquainted with told me that he sometimes charged half his usual rate when he took on jobs where he knew he would need to learn a new technology. In these circumstances, he was up front with the client about his (lack of) experience, so their expectations were set lower than they might normally be. Also, he only did this for technologies he was interested in learning.

share|improve this answer
add comment

I look at the billing rate. As a contractor I take a range of projects. The projects range in how interesting they are and the billing rate.

If we say that 1.0 is the typical amount I bill, I will find myself on projects project that pay anywhere from 0.7 - 1.8.

So how I feel about billing for ramp up has a lot to do with the bill rate. On typical projects (1.0) I assume a 2week-1month ramp up. But I expect to have most of the technical skills needed.

On a project where I'm billing 1.3-1.8 I feel under the gun to be perfect, over perform and even under bill if I'm not proud of my work.

On a project paying 0.7 I am completely relaxed about learning on the job. In fact, I probably took the gig to learn.

share|improve this answer
add comment

To add my 2 cents worth - the more generic the issue, the less likely I am to bill time. If someone said they wanted me to write a system, and told me to do it in Ruby on Rails, I would be 'off the clock' while I was learning the fundamentals of ROR. First, this will be amortized over all future projects, since I'll have to know it to do any more ROR work. Second, I would pretty much have agreed to the project because I intended to learn ROR. The customer had a reasonable price in mind, and my charges would significantly outrun that price if I billed my educational hours.

A client asked me for something in C#, and I realized the right way to do it involved coding a 'custom comparer' for sorting elements in a collection. This would not necessarily amortize into other projects, and I could have done it another way that might have gotten the job done but would have been clumsier. I billed the client for this time, which in this case was about an hour. If I had done it via means I already understood, they might have saved half an hour - at least at the beginning. I can't speculate on whether this would have cost them at least as much later on in some maintenance issue.

share|improve this answer
add comment

Does anyone pay me to go to school?

If I'm a research Assistant or PhD, and doing groundbreaking work, then yes. Otherwise, no, cost of education is upon the individual.

Whether your schooling is at a typical university, or via vocational programs, this remains the same.

If the client's tech needs are no longer taught, and they can't find anyone else to do the work, then they pay for your time to research the solution.

share|improve this answer
    
I've seen several large companies that will pay for employees training courses and education because it means they get better-educated employees. MBA programs are often paid for by companies hoping to improve their managers' skills, for example. –  Yamikuronue Nov 4 '13 at 20:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.