Ask HN: Hourly billers, do you bill for only focused work?

156 points by EduardoBautista ↗ HN
I have noticed that trying to bill at higher rates has been becoming more difficult and if I don't work a full 8 hours it appears that I am slacking off. The vast majority of software engineers do not do 8 hours of actual work, even including meetings.

However, I sometimes notice other contractors billing a full 40-hour work week and clients not batting an eye.

Am I being too honest, and should I continue billing for the fifteen minutes I go off reading HN, having lunch, or any other short break?

Edit: I guess what I meant to say, is lowering my rate by around 25%, but also being less picky on what I should bill so that I can earn the same amount, acceptable?

145 comments

[ 3.4 ms ] story [ 224 ms ] thread
You make up the number
This is the strategy I use. I determine ahead of time how much money I want and distribute the hours such that it adds up, plus or minus a few here and there. It is all made up.
If you can't sell those 15-minute intervals to someone else, you should probably bill them anyhow. If the customer thinks you are expensive then drop the price a bit, you know what you did so round the final number down to a nice even number.

In the future, try to be more diligent, both for your customers and for you. In the future you'll be able to fit more clients in, and your customers will get a better price.

I've been in the same boat. My resentment just built up over years, and for what? It just made me seem like an uptight arsehole. And I probably was too. Looking like I'm working used to be a (minor) concern of mine, but I'm more focused if it doesn't enter my mind.

Charge for your time. Don't stop the clock for meetings, short breaks, toilet etc. Lunch is debatable. If you go for a short lunch, with your work colleagues, then I'd probably bill. If you like to get out and clear your head and go and hermit somewhere for a full hour, I'd say probably not.

If there are weekly perk-style activities that happen in-hours (Table-tennis, multiplayer games, etc.,) bill them. Otherwise your boss is just making you stay in the office playing vidya for free when you could be going home to your kids. If an after-work activity starts early, e.g. drinks at 4:30 followed by a team dinner at 6:30, I'd probably bill up until when I would have usually worked until (so 5:00 or 5:30).

One time I went and got coffee with some of my teammates in the cafeteria, and we sat around for a while and chatted. Later I was quietly praised by my manager for making that happen. Because his job was to make sure we could actually get along and produce work together.

> Looking like I'm working used to be a (minor) concern of mine, but I'm more focused if it doesn't enter my mind.

You can stop an intrusive thought from entering your mind just by realizing that it would harm your focus? Is it possible to learn this power?

With time and effort, Yes you can. ¡Si se puede!
If you accept that the whole job isn't just interacting with your IDE, then you stop thinking stuff like "Oh no, who's looking at my screen now? Who's gonna find out that I'm on HN?"
I have wondered the same myself.

My solution is simply practice - making a planned, conscious effort to get back to my work whenever I'm distracted. At first, I could lose up to half an hour distracted before realizing that I'm distracted and go back to work. But after a while, the time-to-realize got smaller and smaller. Once you get to a small enough interrupt window, it'e effectively the same as not being interrupted at all.

I think it depends on the circumstances what you should do. Such as whether the client has a real budget. Honestly for me it is relatively trivial to find clients with shoestring budgets versus adequate ones.

But ideally you set things up ahead of time by finding a client with a decent sized budget and then charging by the week. The billing increment is one week.

Then just make sure to have regular delivery or discussions as often as possible with the client. They should see the deliverables progressing, even if it's just the architectural details being worked out at first. They should be judging based on useful things obviously happening and being explained or being able to use the next version rather than just looking at hours to try to guess whether they are getting a good deal or something.

For me, we will see how it goes. Right now I have a weekly billing client who I am a bit worried I will have to replace because things in this niche are so dead right now. But there were a few other projects I may be able to pick up. I am definitely going to try to find one that can afford a week or two though because realistically all of the projects have gone on for more than two weeks so far, generally speaking more like 2-8 weeks each.

When it's going to almost certainly take a month to complete a project, trying to get out of an extra hour every day or something is a questionable strategy because it's a significant investment anyway, and the biggest risk really is most projects just not delivering usable software at all, which means all of that money gets wasted.

You should only bill for time spent on client work, unless stated in the contract. When I did consulting, I worked over 40 hours to bill 40 client hours, because there is always some company overhead that isn't related to customer work.

The 40 hours you see billed regularly is maybe to avoid triggering overtime/excess hours clauses or norms.

How you do the job is rather irrelevant to the billing process (assuming you meet the deadlines). Occasional breaks and downtime are part of the process for much of any job, and there's no reason not to include it.
Bill per day, not per hour.
Be fair to both the client and to yourself.

Some of this depends on your role and the specific contract/agreement but a couple of general thoughts:

* If you're having short breaks midday where your attention drifts to non-work, do you also have short moments at home where your thoughts drift to work?

* Remember that there is value in you "being available". Even if you have a slow day or less than 100% focused day, you're still working and available if something urgent comes up.

* How is your output and impact? Are you contributing on par with others?

* If you catch yourself thinking "Wow, I haven't done anything for the past hour" maybe that time shouldn't be billed but that's different from a quick HN skim or stretching and grabbing coffee.

Do yourself a favour, and bill by the day, rather than by the hour. Engineering is creative work, and you're paid to think - code is just the end product. Thinking happens consciously and unconsciously, at all times of the day. Billing by the day will allow you to focus on the work rather than the administrivia.

Whatever you do, do not drop your rate: you'll just be undervalued by your clients.

Yes, and if possible by more than a day.
Yes, this. If I think it will take 2 days, I say 3 and hand off on day 3. Numbers are just examples.

I get half up front, half on delivery.

Trying to juggle a set of rules for when to run the clock is a distraction.

Indeed.

Many of my best ideas have come to me in the shower, on a walk and even in the middle of the night.

It's ridiculous to say you should have a stopwatch with you at all times, so daily billing it is.

If they don't want to that, just assign 8 hours as a full day and stop worrying of you reach them or not.

There is a science component to ideas in the shower. I read somewhere that the shower puts you into a similar state to the waking/sleeping transition that people like Einstein tried to ride by sitting and holding something heavy and loud, so if the slipped too far towards sleep they'd drop it and wake themselves up. I don't have any references to where I heard that though.

Similar lines, I read about some earlish computer pioneer that was offered a senior position at a company and the deal breaker was whether he could get a shower in his private bathroom off his private office. Company said no so he moved on. "I have my best ideas in the shower." I don't recall who it was, Cray sticks in my head, but I don't think it was him, someone similar though.

Sorry for the vast amounts of vague above.

I think I've heard the same story about sleeping with a ball, but with Edison.
I have also heard it referred to it as "body is busy, mind is open" states. In the shower you've got a routine that keeps your body busy enough doing things, but you generally don't have to devote a lot of mental effort to that routine, most of it is truly muscle memory.

Similarly, things like going for a walk or getting a little exercise can give your body plenty of things to do, but fewer things the mind needs to check on.

Alan Kay has often said that he gets his best ideas in the shower (I think the idea for efficiently implementing overlapping windows was one of them). I can't remember where I read it but he asked for a shower in his office at PARC but they said no (but he nevertheless stayed on).
Billing by the day is good advice, but

> Engineering is creative work, and you're paid to think - code is just the end product.

No you aren't. No one cares if you think. They care about what thinking is (supposed to be) getting them. It just so happens, though, that whatever that is requires thinking. So you do charge for that. But no one is paying you "to think".

I'll rephrase: they're not paying you to mindlessly churn out lines of code. The end product matters. But the bulk of that time is spent thinking, whether you realise it or not, and frankly that's a much more useful perspective for the OP to take, as they're trying to reconcile their comfort with charging for time in meetings and lunch, because they think they're not being "productive".
> No you aren't. No one cares if you think.

If you are a manager, an architect or a scientist, all you do is think. You literally don't do anything else.

The only reason diagrams, meetings, documents and research papers exist is to communicate your thinking to others

> If you are a manager, an architect or a scientist, all you do is think. You literally don't do anything else.

First of all, no; it's not true that, "You literally don't do anything else". Even if we were to accept that, though, it's besides the point, because what you're saying right now is a change of subject.

What I said was that you don't get paid to think. You're getting paid for what the customer (hopes) they'll get from you. (And yes, that's true even if they never get anything from you.)

To say it again: nobody cares if you're thinking. The exercise of thinking has no intrinsic value to the people who people who are paying you. All of the value is consequential. Ergo, even if you are thinking over the course of your work day, you are not really getting paid to think. If you could somehow manage to deliver the same results without thinking, you'd still get paid--because you're not actually getting paid "to think".

> If you could somehow manage to deliver the same results without thinking, you'd still get paid--because you're not actually getting paid "to think".

Reductio Ad absurdum:

If you are a miner, you are not being paid to dig, you are being paid to find coal. If you could deliver coal without digging, you would still get paid.

But wait, you are not being paid for coal, you are being paid for keeping house warm. Id you could keep their house warm without them burning coal, you'd still get paid.

But wait, they don't actually want to keep the house warm, they want to not feel cold. If they could achieve that without heating the house, you would still get paid.

So no matter what you job is, I couls always say 'you are not getting paid to code/trade/do X, instead people want results of X' and you could repeat that process for X,Y and Z ad infinum. So the argument has no value

(comment deleted)
The issue with daily rates is that the client assumes you are available/working for a "full" magical 8 hours. On my side, I don't want to bill for a "full" day if I did some quick 1-2 hours of work. I also don't want to do such 1-2 hours of work for free.
You can always charge an hourly rate for that duration of work whenever it comes up.
> I guess what I meant to say, is lowering my rate by around 25%, but also being less picky on what I should bill before so that I can earn the same amount, acceptable?

Yes, it's fine, you should pad one of them. Either rate or time. Even if you just log in to a 1 hour meeting they host, bill them for 1.25-1.50 hours for context switching/ "prep work" is pretty acceptable. It is going to be client specific, if you find your clients are being overly sensitive to either - you probably want to find another client as it's just going to be a rough relationship when they're counting every minute/dime. Of course, the best practice is to put all of this in a contract but there's a million edge cases. Some general clause may work.

Well, typically people like to see billing for hours used... so...

If you work today: 8 hours billed.

If you work part of the day: part hours billed

If you work overtime: 8 hours + OT hours.

I agree with conductr that this is creative work. If you talk to someone to gather requirements, do meetings, help teammates out, etc, it is all part of the process. If you need to look up stuff that is part of the process.

Just like any engineer, you can't be "on" 24/7 so it is expected that some slack time is cooked into your hours. If your productivity doesn't make sense compared to the hours put in, that's the problem. If you're producing more than enough for your hours, where's the problem?

Anyone nickle-and-diming you on checking that every 15 minutes is accurate is going to be a bad person to work for anyways, or just needs to negotiate less hours.

Agree padding the rate is more common than padding hours for these reasons.
I bill by the hour, not the minute. If I work 10 mins on something and do nothing for the other 50, you are billed an hour. Frankly, this is how most clients have actually wanted it. They think in hours (or days) not some subdivision of them. And yes, thinking about work is the same as doing the work. It's all billable time.

As far as your rate, I always bill as high as I can without pushback. Where is that level? You'll know when your rate is too high. I kept increasing my rate with contracts until clients started to grumble a bit. Then I backed it off 10% and haven't had a problem since. Note this means I am getting paid 30% more than where I originally started. Wouldn't have known that if I didn't attempt to max out my rate.

In the end it's just business. You either make a client happy or you don't. As a business your goal is to maximize your profits without much pushback. That will just take some time and energy to find out what the market will bear.

> In the end it's just business. You either make a client happy or you don't.

Spot on.

1) Do good work. Be patient and kind to clients. Remember when someone asks you to do something for the 8th time, "Hey, it's their money."

2) Make sure you write your contracts in a way that lets you raise rates every January. Aim for a 10% increase every calendar year.

3) Give clients a discount if they sign retainers, or longer contracts. This ultimately means less sales cycle, and more profit for you.

4) Raise rates on clients based on how much you like the work. If you really don't enjoy working with one client, raise their rates until you can stomach the work. If you like a client... yeah cut them some slack.

5) Always know who your stakeholders are at a company, and make sure you send some nice thank you gifts this time of year. Even if it's just a card saying why you appreciate certain people on their team... letting those people know, and letting their bosses know... that buys you a lot of goodwill. 'Tis the season. (=

Re 5) you must be careful with the gifts as that may be misconstrued as bribery or a kickback. A card should be fine, but a bottle of Champagne rather won't be.
One of our salesmen seems to like giving out small bags of nice chocolates.
Are you in the public sector is this a common issue in your industry? I ask because gifts and emoluments are common in my industry (manufacturing) with contracted clients in the private sector.
They make a big deal about it in pharma in trainings and whatnot, but then they don't really seem to enforce it. Adobe providing catered box seats to a big game? No problem. Random director spending too much on an internal team dinner, problem. It's pretty strange.
I'm in the private sector and I'm in no way allowed to accept gifts worth more than 10-15€ and even those are under strict premises to not allow it to be misconstrued as a bribe.

Not even working in any industry that is usually under scrutiny for bribes (finance, defence, pharma, etc.).

Yeah this is a great cautionary point. A goodly chunk of my annual training is about bribes/inappropriate gifts.
> I bill by the hour, not the minute. If I work 10 mins on something and do nothing for the other 50, you are billed an hour. Frankly, this is how most clients have actually wanted it.

I find it hard to believe anyone wants to over pay for your time by 6x what it's worth. I understand rounding up. But I don't understand working 10 minutes one day, billing for an hour, and then working 10 minutes the next day and billing for two hours total.

I do what OP does down to 30 min increments but I also bill a bit in how much cognitive power it required to do it. If I hopped on for 10 minutes to restart a server or something, I might bill 0 minutes or I might bill 30. If I had to drive out somewhere, live debug a device for 30 minutes, and drive back. I'm going to get an hour or two into my invoice somehow.
Which would obviously be malicious and your output would suffer and the client would probably notice. Everything within reason.
You're paying for more that just the task, you are paying for the availability. I'd rather not block off a whole hour for a "quick" fix, but if you don't the company will come to you more often with quick fixes and those start to really eat up your day.
>But I don't understand working 10 minutes one day, billing for an hour, and then working 10 minutes the next day and billing for two hours total.

If someone's breaking up their time like this, they wouldn't be in business very long I don't think. Any reasonable contractor would complete the job in 20 minutes the first day, bill for an hour, and have everyone leave happy.

It's easy to imagine scenarios where contractors take advantage of their clients due to information asymmetry, but most contractors eventually realize their lifetime value is probably higher if they can keep their clients happy. I think the same principle holds true if you're a contracted Rust engineer or a contracted plumber; it seems to be that the honest, skilled, and justifiably expensive ones float to the top.

Sure, I agree with everything you're saying. However, we don't know that the the original poster is a great contractor. All we know is they thing their clients can't think in non-hour units and prefer to be over billed, which is preposterous to me.
Some people are willing to pay a lot for the convenience of not having to plan.
The only way I'd do that is if the client gave me 10 mins of work one day, followed by 10 mins of work the next and nothing else. Otherwise I'd just work 20 mins and bill an hour. More often however they are giving me 40 hours of work per week and I bill 40 hours, even if not every single hour is doing "focused work", and some of it may be downtime. Just like any employee who gets a salary.

I've been a contractor full time for almost 15 years with dozens of different clients big, small and in between. You tend to get a feel for what clients want and/or need and what they don't. Mostly clients just want help getting work done and as long as you're meeting their deadlines and are pleasant to work with, they don't care that how much time you bill (as long as it's not more than 40 hrs per week).

I'm not advocating for taking advantage of clients, but I am advocating for being realistic with running your own business. If you're only billing 10 min stretches you won't be in business for long. Clients understand this. It's just part of doing business.

> I bill by the hour, not the minute. If I work 10 mins on something and do nothing for the other 50, you are billed an hour.

I deal with a lot of contractors. To be clear: If I asked for a single task that takes 5 minutes and they bill me an hour for it, that's 100% fine in my book. Context switching, recording, billing, etc. aren't free. The difference between a 60-minute bill and a 10-minute bill is nothing. Let's just keep it simple and bill an hour.

But this is only for individual tasks. If someone is working independently on a project with 10 minutes here, 15 minutes there, 5 minutes a few hours later and billing each as an hour, that's not okay.

Depending on the contractor, we don't really scrutinize line items all that closely. However, once you're dealing with multiple contractors and gathering experience about how long things generally take, you start to notice some contractors are outliers in how many "hours" they claim to get things done. In some cases, if their hourly rate is low enough we may not really care, but when someone hits the combo of billing a high hourly rate and also racking up a lot of hours for relatively simple things with no ability to explain why it took longer than everyone else, it's time to phase out that contractor.

>If someone is working independently on a project with 10 minutes here, 15 minutes there, 5 minutes a few hours later and billing each as an hour, that's not okay.

Yeah I certainly wasn't advocating that. It's a two way street. Clients tend to understand they're paying for availability as much as anything and contractors understand clients want work done on time and within budget as much as possible. In my experience (having done this for almost 15 years) the best client/contractor relationships are built on respect and trust that both sides are not being taken advantage of. And I've certainly seen my fair share of contractors that try to take advantage of clients or let clients take advantage of them. Both tend to not last long as contractors.

I used to work as a project manager , where we had a large pool of vetted freelancers. You'd select the type of work, specify the price and the system would send a mass email to those- whoever accepts first, gets the job. Most of our clients were banks or investment funds. The company was providing translation services. So a fund gets to update one word in one of their files and it does happen in 12 different languages. We charge minimum fee per job, so 12 words becomes £360. The fund couldn't care less. However, because it's only one word, a single freelancer( 12 in total, for each language) would only get like £0.12 or so. They would also need to update the translation memory and send us an invoice. Nobody wanted to do it, because of this. So I used to struggle to get these jobs done because time was always very limited. We also had 50% margin per project requirement. So I ended up paying £5 per word, which would end up costing me £60, but it would still leave £300 profit for the company. Just like that I solved my issue, because the freelancers were happy to do it. The vendor management killed it a couple of months before my departure claiming no freelancer should get more than the agreed rate....
As someone that takes longer to do things than most due to ADHD issues, here's what I did:

I knew generally how long something should take. So, I would track my hours for sure, but I would reduce the final hours to be roughly what it should have been.

Everyone was happy this way.

Discounting your hourly rate and taking too long looks really bad. Keeping the rate high and discounting your hours looks normal to great.

Seems surprising to me. Rounding to 15 minutes, sure, but 60 seems surprising. Can more people chime in?
Imagine it was 10 seconds instead. Would rounding it to 15 seconds be reasonable, but 1 minute too much?
By that logic, why not round to a whole day? A week? A month?
I've got a half hour floor and bill in half hour segments.

But if it's project management I watch quantity of increments and add accordingly.

But bottom line is nothing takes less than a half hour per day per project

Yeah, this works for me. One option I did early on was run a Pomodoro timer and bill every half hour, but a client brought up that I should also be charging for the hours I spend in traffic on the way to a meeting.

My wife once asked why I bill $115/hour and not a round number like $120 or $100? How did I get the 5? I just kept raising rates to say no to jobs I didn't feel like doing, and found a point where I got the jobs I wanted.

It's not so easy to turn off the cognitive background processes that are generating the solutions you apply while doing "focused work". I mostly pay attention to the weekly level of total hours and achieved results. It seems a bit silly to think about individual minutes or hours here and there. I probably would not work long with a customer that was more concerned with distribution of minutes and hours than the overall delivered results and total time charged.
I bill everything, that I do for a client, on the clients premises, or that I feel like it's work - specifically if the client asks me to attend something. I draw the line when it's my benefit only (e.g. going out with the coworkers for a beer after hours). But beside that: If I don't get a problem I was working on out of my head and research it for 2h at 3 in the morning, I bill it.

I do not sign any contracts, which automatically cut my workday to 8h (because they are illegal in my jurisdiction). If I work more than 8h, I sometimes get into trouble with some tight-assed legal department and I then just shift my hours on the timesheet around, until it fits.

You should not under any circumstances reduce your rate, if you feel like the rate reflects your skill. Instead, explain your rate with your achievements, references, etc. and negotiate the gain/speed/performance your client is getting by hiring you with your higher rate instead of a competitor.

I recommend against daily rates if you are able to zone into work and get serious shit done in 12h-shifts, while other days are just "eh" and you go for a jog after 4h. Usually, everyone notices your 4h-days while ignoring your 12h-days.

If you trust your skills and your ability to define the scope of a project well, consider going into milestone-based payment (never for a whole project!). This might be more lucrative for you in the long run.

If you choose this, think about a timespan you're willing to work without payment and half that timespan - that's the number of days between milestones you'll define. Should you hit a bad client, you'll stop working if payment hasn't gone through for the past milestone for whatever reason and when you're reaching the second milestone - never accept apologies, process delays, "those pesky policies"; you work for payment, everything else is the clients' problem, not yours.

First, I'd point out that there is a lot more acceptance now for "day rate" or "week rate." You can find its advocates in most contracting-related threads here on HN. If you are paid by the day, it doesn't matter if that's a 10-hour day or a 4-hour day as long as the client doesn't feel taken advantage of.

Nor should you be taken advantage of: I have friends in other industries where "day rate" is the standard, and it's a high rate but it sure does involve crazy hours when the project is in full swing. Ask a film editor about "work hours" and they will either laugh, or cry. Let's not normalize the 18-hour day!

Second, you should feel good about even worrying about this: it means you've got some ethics. But you shouldn't feel like you owe "flow state" for every hour you bill. Do you need to take a walk to clear your head and better concentrate on the problem? That's work. Lunch isn't that much harder: is it a working lunch? Bill it. Are you having a nice long lunch in order to not think about work, or maybe meeting friends? Don't bill it. (Day/etc. Rate obviates this problem.)

Third, socializing with the staff is a little complicated if you're billing hourly, or sometimes even daily. I would be pretty happy if a contractor went out for social food/drinks with my employees, but I would much prefer to pay for that in good will than in actual billed hours. On the other hand, if you're at one of those places with ping-pong tables and the SRE peeps really want you to play with them: bill it!

(comment deleted)
In my experience you bill what you can get away with billing while making the client happy. That may mean billing when you're not working, but it can also mean working without billing at all. The idea of time-based billing is pretty fuzzy when you get into the details, so it's better when nobody on either side tries to figure it out, and you just ship something that makes them happy.

In terms of negotiating a rate that makes you competitive, your idea could work, yes. The danger is that (IME) clients who were that budget conscious were also generally worse clients in general: less organized, less of a vision, less willing to do things like pay for user testing and support, generally more stressful to work with. Often their projects were less interesting, too.

At a certain point, my company just raised everybody's rates significantly, across the board, and rather than going out of business, we ended up getting better projects as a result. In that case, I was shocked to realize that software contracting can act like a Veblen good, though in an economic climate like this one, I'm not sure it would work that way.

My contracts are usually to design and develop new product for client. It is rather longer term involvement and I just bill them for 8 hours per day disregarding on what happens on any particular day. Clients know about it and it is agreed upon. If they are not happy about my work which luckily had never happened they're free to show me the door.

Every once in a while I also do short term contracts with very limited scope. For those I would just do a lump sum payable in stages or just initial deposit and then pay balance at the end.

Anyone billing by the project? Maybe a two step billing procedure, once for a product discovery and a second for the final estimated project complexity.a0
It kinda depends. If I did similar thing many times and can estimate it, why not, but a lot of jobs are not that easy to estimate upfront. Hourly billing also accounts easily for employer changing their mind and wanting something else or expanding scope, no need for "well, it's not what we agreed, pay me more" talk.
I see by the comments that a lot of intelligent people do not understand billing ethics.

There are many layers of relationship, and your relationship will truly define the nuances of your billing process.

However regarding your question, there are a few considerations which determine when you are being “flexible” and when billing becomes corrupt (if you are not objectively providing value you are stealing.)

Are you in the office? On call? Devoting exclusive attention? Or otherwise billing for full days (with hours as increments?) If you’re in the office or real time “available” then it’s a billable hour even if you check HN or eat at your desk or wander around wondering what everyone else is up to (some call it insight.)

If you’re really billing hourly and your not working, you shouldn’t bill for those hours you are not working (like playing hooky.)

Fifteen minute increments are the floor for technical work (more common once you’re over $100/hr)

It’s okay to round up (or down) one total hour if you do not want to split hairs on an invoice (sic. 45 minutes of hand holding.) put a foot note on the invoice (total hours round up) if you want to be transparent.

You should be billing for all one off tasks. Talking about the project. Doodling about the project in your notes. Fastidiously rolling up and double checking your work/time spent. Email. Chat. Learning something new that evaluates into what you are doing can often be included (if not abused.)

I usually budget in 25% of project hours for one off tasks.

If you have a full time relationship (40 actual hours), you should fill the time with something, even if doodling in your journal about observations.

Hourly is a great way to build if your a “lone ranger” contractor.

Usually I like to only bill 15 hours a week! True liberation.

You shouldn’t lower your rate (unless you must.) Work fewer hours! That’s the real dream. Independent and gainful.

Here's a thought exercise I would like to put to test sometime. Let's say I would like to make USD 200 000 a year as a contracted sotware engineer. And I would like to try billing 10 hours a week. Take 6 weeks off a year, so this is 46 weeks. And that's 460 hours I will try to bill. To make 200 000, I must bill USD 435 per that hour.

The deal would be: I bill you for 10 hours, and you can be sure I worked hard for those 10 hours. I probably worked 40 hours, but I bill you 10. But that's the going rate.

This is a question I’ve struggled with a lot myself. From my 15 years of experience as a contractor:

1. Never lower your rate, bringing it back up will be way harder then you might think.

2. Breaks etc. are billable. I even bill for walks that may be a long an hour, as long as I think about work. If I stop doing that I stop the clock too. Like others said, code is just the end result. I will usually produce better if I take a breather. Thinking things through will almost always let you find ways to write less code, resulting in a more stable and maintainable solution. Nothing suggests you think better while seated infront of your screen.

3. Always round up to the next hour.

.. if to enhance my knowledgebase, no. I of the strong 'no nickel and diming' belief.
(comment deleted)
(comment deleted)
Even if my client thinks I am billing hourly, in my head, I am billing by the day, which happens to cost about 8 times the hourly rate I quoted them.
I am required to bill in 15 minute increments for public sector work and 1 hour increments for private sector work. I don't bill for time I am actively concertedly doing something else. But if I am so much as reading a research paper that touches tangentially on their work, I bill them for that.

When my client roster is heavy, I bill about 32-36 hours a week. The other 4-8 hours is mentor, team building, personal development, networking, etc.

I only bill 40 hours when I'm overbooked or I have a big dedicated project and I can drop a lot of the other activities because I don't need to be branching out and maintaining awareness so much of various projects.

I have colleagues who bill 40 hours almost every week. I believe most of these people are being honest and they're working nmore hours and pushing their non-project work into their personal lives/time. I'm pretty strict about containing my work schedule so I bill less. It has never been a problem at my work.

I bill for actual productive hours worked. Two half hours are one hour not two hours.
Hourly billing burnt me out. I started on Upwork with the spying software installed. I was desperate for money at that time. But my own methodology when working is to think about the problem, only typing code when I have a good hint about a solution. So for a day of work, I may spend one hour typing code, three hours reading code and the rest of the time thinking hard. But the activity monitor inside the software only picked up the time when you're actively using the computer so, I was always distracted in my thinking with the reminder that I have to use the mouse for the timer to resume.

Now I'm paid a fixed price each month (fairly high for where I'm living). So, wages are not something I think about. But when I try to negotiate other project, I either go fixed, or billed by the day at the smallest. My usual hours for work range from 10am to 5pm, so I bill this amount if the client really wants hourly invoicing.

The thought of going back to upwork gives me nightmares.
If you don't mind me asking, how much where you (GP as well) charging there and for what kind of work?
I didn't get to choose. I felt desperate at the time and took flat rates for jobs that seemed fair, only to find that the requirements kept shifting. The client would refuse to pay unless I did more work. It ended up being like $5/hr in the end. Like I said I felt desperate and needed rent money. It sucked.

Another time I'd put all this work into bidding for a job only to find out they didn't really have any money for the project and were just using the conversation to get feedback on their idea.

Dang, that's WAY too low, sorry you had to go through that and I hope you're in a MUCH better place now.
It varied. I got my first programming job on Upwork (React Native), and it was around $3/hr. At the time, it felt magical earning something from the internet, and I was in college at the time. $3 was the amount I spent a day. It went sideways due to various things. Then I did a couple of tasks for a fixed priced and then went on to a React job for $18/hr. Most of my jobs have been around $20/hr, which is wonderful where I live. I tried raising, but good luck with that when it shows you're not in a developed country. But the major burden was the tracking. After, there were the shifty clients, the client that won't communicate with you, and the ones that consider you as a serf.

Now I've got the work experience and the savings to be really picky about work. So, I can take my sweet time to consider posting, if I ever go back to Upwork.

Any good alternatives if you're desperate for money, and also a bit rusty (on real, complex codebases etc, not just leetcode/euler etc) due to being out of work for a while (and old)? Asking for a friend...

The thought of a screen monitor checking keystrokes sounds completely distopian to me, and also just not a useful a measure of value.

Upwork absolutely sucks. Never again.