5 ms·
One additional note: Automate wherever possible. Especially if you're a developer there are no excuses. Automatically log your time using something like Time
by aantix 15y ago
One additional note:
Automate wherever possible. Especially if you're a developer there are no excuses. Automatically log your time using something like Time Sink ( http://manytricks.com/timesink/ http://manytricks.com/timesink/ ). Adopt a convention for your git commits so that you can use some of your git messages as line items for your invoice (e.g. anything with "Feature: " in the front)
I wrote a gem called "Big Bucks No Whammies" ( https://github.com/aantix/big_bucks_no_whammies https://github.com/aantix/big_bucks_no_whammies ) specifically for my billing purposes.
- tptacek 15y agoI'm a little confused by web developers' fascination with time tracking. In my practice, if I'm working for you for a significant chunk of a day, that's the day, gone. I am more likely to just do work for you for free than to bill in less than 8-hour increments. Do you really invoice clients for "11 hours, 3 minutes"? I think I'd go so far as to say that the "N minutes" part of that invoice actually looks a little unprofessional. (I'm sure you're a consummate professional, though!)
- patio11 15y agoI think time-tracking has fascination for a certain bracket of freelancers because it is an easy, low-stress way to rescue waste from the business: you are actually doing more work then you are invoicing, so if you actually tracked it better your billings go up and your client will be happy and it doesn't hurt any shadow beliefs about the evilness of making money. There are better ways to accomplish these goals, like switching to daily rates (or weekly rates). No client worth having cares what your work structure looks like if you're capable of producing -- just move to a day rate, give them your honest best effort, and deliver results. e.g. Most of my clients are pretty happy with me. None of them would perceive value from me slicing out 7 minutes from an invoice because, e.g., I wrote a post on HN. (They just profoundly don't care about that, they care about the deliverables, the feeling of happiness they get working with me, and -- ideally -- measurable results as a result of the engagement.)
- tptacek 15y agoI figured you'd say something like this; just to make my bias clear, I'm pretty close to thinking "use of automated time tracking or paying for web services to manage time tracking is a symptom of a broken business model". Harvest is a lovely web application, but something would have to have gone wrong with my consulting practice for us to want to use it.
- _lc1i 15y ago"No client worth having cares what your work structure looks like if you're capable of producing" That is very easy to say when you are an established freelancer with work being thrown at you. Just starting out though, there is a fine balance between what's ideal and staying afloat.
- tptacek 15y agoIf you want to run your business suboptimally in the hopes that it will attract your first clients, that's fine, but you shouldn't do so while pretending that it's the right way to run a business. I have a hard time thinking of clients who are particularly well-served by, say, 3-hour billings. Customers that need sporadic work like this are probably far better served by retainer arrangements. If you find yourself doing lots of 1, 2, and 3-hour projects, you should consider a staff augmentation arrangement instead of project billing. For the most part, I think all consultants kid themselves about how productive they are juggling multiple projects in a day. It's not as if this is some great insight on my part. I'm a developer; I've read all the same stuff as you. I just paid close attention to the stuff about getting "in flow". Re-read Joel Spolsky's "Fire and Motion" essay.
- jdminhbg 15y ago> In my practice, if I'm working for you for a significant chunk of a day, that's the day, gone. In my practice, I'm more productive working on two or three different projects throughout the day. So I bill for the part of the day I'm actually using for that client.
- tptacek 15y agoI would be more productive if I worked nights and weekends, but since nobody would pay the bill rate premium that inconvenience merits, it benefits nobody for me to do that. Sometimes programmers actually want to interleave multiple projects. Maybe you have two totally different codebases to work on; perhaps one is backend async code, and the other is Javascript UI. Both are a week's worth of work, but you'd burn out if you did either straight through. Fine: interleave the projects. But that decision is orthogonal to your billing increment. Bill full days exclusively. You will find as your business matures that every single client you want to keep won't blink if you round that 5-hour project they need up to a full day. Call it your minimum billable increment. Offer, if you want, to chunk a bunch of small projects into a day; this is one way to prospect for more hours at a long-term client.
- _lc1i 15y agoHourly billing gives a freelancer a lot more flexibility on their day. What if the number of hours you work for a client on any given day (or week) is highly variable? For example, you work off hours when you can. Or you are splitting time between clients. Or the amount of work a client has on-site wanes and spikes unpredictably. Or you feel like leaving at noon every Thursday and Friday. I am still newish to freelancing, but I do not feel comfortable billing an full 8 hour day for just showing up in any of the above scenarios. And I certainly would not want to give me time away for free if I did not hit some minimum.
- tptacek 15y agoWhat if the number of hours you work for a client is highly variable? Bill them for a full day. What if the client genuinely just needs a 1-line change every once in awhile? Set up a retainer arrangement that allocates 1-2 billable days to them every month, use-it-or-lose-it. The clients who will both refuse to arrange a retainer and refuse a minimum increment are almost by definition pathological, and you should not work for them. In reality: virtually everyone you'd ever want to work for is fine with a 1-day minimum. If you are so low on the food chain that your clients aren't, I strongly advise you to climb up the food chain instead of figuring out better ways to extract value from terrible clients.
- _lc1i 15y agoIf I am regularly working onsite at a client, and I leave early on my own accord, I am not going to bill a full day. How would that be fair to the client? Sure, billing for a full day is optimal for my business, but I don't see how it's optimal for the client. I do not use hourly increments because my clients are awful or because I am low on the food chain. I choose hourly because it's the most straightforward way for me to provide my clients a hired hand while retaining flexibility on any given work day.
- chc 15y agoIf you work for 7 hours and 58 minutes, do you give them a two-minute discount out of a sense of fairness? Probably not. patio11 and tptacek's point is that for the kind of clients you probably want, a three-hour discount is not significantly more "optimal" than a two-minute discount. If the client agrees to a minimum billing increment of a day and you are doing the work you're paid to do, then it's fair. If you give them more than that, what you're being isn't fair, it's generous.
- enobrev 15y ago> Do you really invoice clients for "11 hours, 3 minutes"? I would certainly hope not. I personally tend to round to the half day (including down to zero), and sometimes to the next hour depending on the client, the frequency of work, how much we've worked on together over time, etc. I think you might be skipping over the personal benefit of time tracking. Sure after a few years of freelance development, Most estimates get easier, but only because you know how long things have taken in the past. If I didn't track all my hours in the past, I'd have no idea how to estimate tasks, much less entire projects. The hardest part when I was first starting out was estimation. After a couple years of getting it wrong - and eating hours instead of food - I was finally able to get my estimates within a couple days. Of course when projects get more innovative, it gets difficult to judge how long things will take, but I can still count on the parts I already know to build a groundwork for how long most of the project should take. Otherwise, I've found charging down to the hour can be a good practice for new clients with small intro projects to make it immediately clear that they will pay my high hourly rate for the work they request. It's a filter. Over time, I'll probably eat plenty of hours for one-offs and whatnot. But I certainly don't want a new client to think so until a relationship has been developed.
- driverdan 15y agoThat's exactly what I do for long term clients with open ended projects. I use Freshbooks' timer to track my time. Whatever that totals to is what gets billed. For close-ended projects I generally quote up front and track my time for my own purposes. For scope changes and other additional expenses I often use a timer and bill actual time.
- adrianhoward 15y agoOne productivity hack that I've used a few times is to flip it around. Rather than track work time - I track non-work time. I set aside 20 hours (or whatever) of coding time for a project during the week - and then track all the things that stop me doing that and subtract it from the total. By focusing on tracking the interruptions rather than the work - the impact of poor multi-tasking/poor-scheduling becomes much more obvious. [Edit: And in case it wasn't obvious - the time is tracked for me, not the client]
- Produce 15y agoThis is an excellent idea.
- damoncali 15y agoDepends on the project and client. If the client cares at all, I just write down how long something took. If it's 1.05 hours, so be it. BUT... I don't generally do anything that isn't at least a half day, totaled up. But if I do 3 things in that half day, I find some clients benefit from seeing how much time each thing took. It helps them to get more realistic about their time expectations. Other clients could give a toss, and for them, I just send a one line invoice: "Web development: $x,xxx"
- ars 15y agoI round to the nearest quarter hour, and yes I time things exactly. If I stop working to browse the web I'll pause the clock. At the end of the day I'll round the time to the nearest 15 minutes and record it.