I just took a contract with a company that reached out to me for development help. Had 2 people contact me and they seemed really eager to have me on. Can I charge for my time spent refreshing my skills in a framework or language, React or typescript for example? I've worked with the technologies in the past (not learning them from scratch) but it's been some time. Is 2-3 hours acceptable?


Depends what you agreed with them. Are they expecting to get billed for this? During the conversations you've had with them, did you say "Sure I can do X; I've loads of experience but haven't looked at that for a while. I'll need to spend 1/2 day upskilling"?

I suggest not, given that you're asking the question here. For the sake of a smooth business relationship and a happy client, I'd swallow the cost of it.

Successful contracting includes managing your clients' expectations and "nickle and diming" your client at the very first opportunity doesn't sound like a great start to a new business relationship.


If the entire project is 20+ hours, stirring up a fuss over 2-3 hours seems unnecessary.

Assuming you are billing by the hour and that you have been transparent about how recent your experience is, I would bill those hours.

The only exception would be if the client insists on having every hour billed micro-explained, like coding, coding tests, documentation, dev-ops, deployment and so on. Personally, I might bill such a client extra for the added bureaucracy.

If the project is fixed-price, you 100% decide how to go about things.


This should be built into your hourly rate. Of course, the client also knows if you aren't a super pro at something - it will take you longer to complete the task. So again, it's built into the rate. If your rate is too low, this is a different issue.

  • What do you mean by "built into your hourly rate"? Do you mean that you don't bill hours spent learning on the job, but you make sure that your billable hours are priced high to compensate?
    – Flimm
    Aug 7 '20 at 16:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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