🐈
» Forums » Freelancers » Re: Billing clients for time to understand th...
Page options
mc_mosa
Community Member

Billing clients for time to understand their codebase

Hello everyone,

 

I'm working on an hourly contract - no manual time allowed, on an existing large-codebase project with a non-technical client.

Whenever the client asks me to add a new feature (somewhat similar to an existing feature), I take some time digging the existing feature and reading through the codebase figuring out the ins and outs and learning the code structure in order to follow it in the new feature, and after figuring it all out, I then start the timer and begin working on the new feature.

 

My question is, should I start the timer when I'm still reading through the codebase?

 

Note: I don't start the timer when I'm learning something new, even if I'm learning it for this project, but I believe that learning something will increase my own knowledge, so I don't bill the client for that. But reading through the existing codebase is actually a time spent for the client, hence my question.

ACCEPTED SOLUTION
kat303
Community Member


@Mohamed O wrote:

Hello everyone,

 

I'm working on an hourly contract - no manual time allowed, on an existing large-codebase project with a non-technical client.

Whenever the client asks me to add a new feature (somewhat similar to an existing feature), I take some time digging the existing feature and reading through the codebase figuring out the ins and outs and learning the code structure in order to follow it in the new feature, and after figuring it all out, I then start the timer and begin working on the new feature.

 

My question is, should I start the timer when I'm still reading through the codebase?

 

Note: I don't start the timer when I'm learning something new, even if I'm learning it for this project, but I believe that learning something will increase my own knowledge, so I don't bill the client for that. But reading through the existing codebase is actually a time spent for the client, hence my question.


 

Well, you can't add manual time to encompass the time spent reading through code because this client has not allowed manual time to be entered. You could use Tracker, but the screen shots it takes will not show that you are actively working on the clients project. And the client can, and most likely will dispute those "non working" screen shots and the hours they show.

 

So, that leaves communication as your only other option IMO. I think you should talk to this client, and explain to him just like you explained it here. and ask that he allow X amount of manual hours to account for the time spent reading through their code which is part of the job and is required in order to complete the rest of the job.  Since this client is a non tech guy, you will need to explain whatever you need to, in non tech terms.

View solution in original post

7 REPLIES 7
datasciencewonk
Community Member

If it's something additional the client wants me to do (let's say...add more content), then I bill for it.

 

If it's an oopsie on my part, then I don't bill the client. 

 

 

wlyonsatl
Community Member

What ever time you spend that is to the benefit of the client and their project, you should be billing for.

 

If you have to do a lot of research on a subject that is new to you and will be applicable to other projects, the most honest thing might be not to bill the current client for the full time you spend on that. But you should charge them for some of that time spent, because if you didn't do the research, you couldn't give them the best work product.

kat303
Community Member


@Mohamed O wrote:

Hello everyone,

 

I'm working on an hourly contract - no manual time allowed, on an existing large-codebase project with a non-technical client.

Whenever the client asks me to add a new feature (somewhat similar to an existing feature), I take some time digging the existing feature and reading through the codebase figuring out the ins and outs and learning the code structure in order to follow it in the new feature, and after figuring it all out, I then start the timer and begin working on the new feature.

 

My question is, should I start the timer when I'm still reading through the codebase?

 

Note: I don't start the timer when I'm learning something new, even if I'm learning it for this project, but I believe that learning something will increase my own knowledge, so I don't bill the client for that. But reading through the existing codebase is actually a time spent for the client, hence my question.


 

Well, you can't add manual time to encompass the time spent reading through code because this client has not allowed manual time to be entered. You could use Tracker, but the screen shots it takes will not show that you are actively working on the clients project. And the client can, and most likely will dispute those "non working" screen shots and the hours they show.

 

So, that leaves communication as your only other option IMO. I think you should talk to this client, and explain to him just like you explained it here. and ask that he allow X amount of manual hours to account for the time spent reading through their code which is part of the job and is required in order to complete the rest of the job.  Since this client is a non tech guy, you will need to explain whatever you need to, in non tech terms.

I call this "OPC"

 

Other People's Code.

 

And if you want me to jump into somebody else's code base... yeah, that is time-consuming and I'm going to need to be paid for it.

 

Kudos to the original poster for his thoughtful question.

yitwail
Community Member


Kathy T wrote: 

Well, you can't add manual time to encompass the time spent reading through code because this client has not allowed manual time to be entered. You could use Tracker, but the screen shots it takes will not show that you are actively working on the clients project. And the client can, and most likely will dispute those "non working" screen shots and the hours they show.


 Kathy, you make a good point, although it seems possible to me that reading code would show timetracker activity, if scrolling text counts as activity. Perhaps a moderator *or* a programmer who's attempted to use time tracker while reading external code can comment on this issue.

__________________________________________________
"No good deed goes unpunished." -- Clare Boothe Luce
AveryO
Community Manager
Community Manager

Hi John, 


Scrolling through text counts as activity. The app logs your activity level by counting the number of mouse clicks, scroll actions, and keystrokes you make. It also records to your Work Diary the name of the application you’re using and its active window at the time of the snapshot.


~ Avery
Upwork
yitwail
Community Member

Avery, thank you for clarifying.

__________________________________________________
"No good deed goes unpunished." -- Clare Boothe Luce
Latest Articles
Featured Topics
Learning Paths