3 ms·
When I used to do consulting, I never charged the client for me learning how to solve their problem. I always charged them for the time it took to actually solv
by cstejerean 10y ago
When I used to do consulting, I never charged the client for me learning how to solve their problem. I always charged them for the time it took to actually solve the problem. So if I encountered something I didn't know how to do, or some problem I had no idea how to solve, I would learn or figure that out on my own time.
Some exceptions to this, for example if I am trying to unfuck something the client was responsible for, or they hired me specifically to solve this problem and I was clear up front that I would charge them for the time it took to figure out wtf was going on.
But let's say I decided to write a bit of Python code to solve a problem. And then I run into some obscure bug in one of the libraries I selected. If I can't figure that out quickly then I pause the project and switch to debugging the library and maybe even submitting a pull request, then I go back to the client project. Same if I need to learn some new library, or a new language, etc. If it's not the client's fault that I selected a library that had edge cases I wasn't aware of, why should they pay me to figure that out?
- nopassrecover 10y agoAgree for time spent learning new frameworks and technologies (i.e. generalist self-improvement that will be applicable to many clients and is part of your advertised skill-sets), but I would disagree on the example you've given (encountering an obscure bug during development). Isn't this kind of learning really a discovery process inherent to analysis and development? To take an old anecdote of the engineer who charges $1 for making a chalk mark and $9999 for knowing where to make the mark - if you're going "off the clock" while you work out where to make the mark (i.e. debugging a library), are you then charging higher rates when you "know where to make the mark"?
- cstejerean 10y agoYes, I used to charge much higher rates precisely because I either know how to solve the problem or I'll figure it out on my own time. This protects the client from the technical risk of the solutions I recommend, and that makes sense, because they are not technology experts. By me taking on that risk it forces me to be more careful about what technology choices I make. So I use tools that are battle tested, things that I've use do in production before and I know where the pitfalls are. I don't pick the new shiny thing just because I read 3 blog posts and played with it on the weekends. When I hire a photographer to take pictures I don't expect to pay the photographer when their camera malfunctions and they are trying to format their SD card. Or if they just bought a new camera and haven't figured out how to adjust the white balance, etc. I don't see why hiring someone to solve problems with technology should be all that different.
- bigmanwalter 10y agoI like the way you worded that! I have the same philosophy and I find it brings a rare form of sanity to my consulting projects.
- edoceo 10y agoI consulted for 15+ years, now I hire consultant for my startup on the regular. I billed for figuring it out, I expect those I hire to bill for figuring it out. See, I hired you for a solution. This includes "unfuck"ing, figuring, learning and stuff. But, like everyone else is saying: the soft skill of communication is critical. A surprise bill of +5k is different than a "this might cost an extra $5k". Also, perhaps unique but with 20+ years in tech many times when my the hired gun comes in with a sticking point I can point to both business case for trying a different path and a technical path forward too.
- cstejerean 10y agoThat's ok if you are fine with paying for it. To me the whole point of a hired gun is hiring someone that is profficient with the tools they are bringing to the table. And I bet outside of tech you would be really disappointed if your mechanic charged you for the time it took to figure out why their car lift wasn't working, or your contractor charged you for the time it took to troubleshoot their power tools, etc. So why is it so different when the tools involve software?
- aerovistae 10y agoNote that I'm not trouble-shooting my own tools: the client custom designed the pcb this microchip is soldered to.
- coupdejarnac 10y agoAre you using a dev kit to develop or using the client board? This is a pretty salient piece of information. If you don't have a dev kit, order one immediately. Microchip's kits are pretty cheap- make sure to get the in circuit debugger too if you don't already have one.