In the spirit of these questions:

I work as a research assistant on a few projects for PhD candidates at my school. One of the projects involves optimizing a piece of code that does some of their analysis. I record my hours and get paid a wage on completion of the project.

I'm often faced with a substantial chunk of downtime: at this stage, I need to run benchmarks on "realistic data" that can take anywhere between 10 minutes and 2 hours. I have my own unit tests and they run quickly, but there is a point where more time-intensive runs are necessary.

When I have other work to do for this client, I do it while a benchmark runs. Sometimes I run out. Is it ethical for me to record time spent passively monitoring benchmarks (keeping an eye on memory and CPU usage, checking for errors, applying fixes and restarting when necessary) on my hours?

I can't let them run entirely unattended, so I am "at work" to some degree. If I were in an office, I would consider it perfectly reasonable to record the hours at my desk doing the same thing on the clock, given that it's the only thing that I can do right now. I worked in QA in the past, and it was normal for me to spend hours waiting for the test harness to complete while debugging it. However, since I'm responsible for tracking all of my own time, it seems wrong to consider time that's 70% StackOverflow as billable hours.

What's the right thing to do?

  • 15
    Do you think a security guard watching a monitor during the night should log all hours? Of course! Work is work. Aug 21, 2014 at 4:19
  • 2
    Relevant: xkcd.com/303
    – jmiserez
    Aug 21, 2014 at 9:45
  • This question appears to be off-topic because it is about ethics and not about navigating the workplace. Are business practices ethical or not is out of scope for this site. Aug 21, 2014 at 14:00
  • I thought I might be able to change this to make this a constructive and practical question, but any changes I can think of turn this into a legal question which is also off topic. Sorry. Aug 21, 2014 at 14:04
  • @ReallyTiredOfThisGame Are the two linked posts off topic? I was going to post this on Programmers.SE until I saw that the one about reading books on the clock had been migrated here. Aug 22, 2014 at 0:04

4 Answers 4


I thing it is reasonable for you to bill this time. This is part of the job since your duty is to optimize the code.

I appreciate that you mention doing all the work you can while waiting until you run out.

You may consider doing some research on work related topics while waiting. This research may enable you to provide a better service to this customer in the future.

While it may be a stretch, asking or answering questions about areas specific to your work on Stack Overflow, is helping you acquire applicable knowledge.


Have you talked to your manager/supervisor at the client about your situation, and if so what did they say? While you may think that you've run out of things to do, it may well be that either a) they can think of some things that you've missed or b) they can find some other tasks for you to do in the meantime, even if they're not directly related to your current project.

Once you've talked to your client, if there's still nothing else for you to do for them, then by all means sit back and post to SO / play WoW / whatever, but I think there is a responsibility on you to explain what's going on before doing that.


Performance benchmarking is really intense work, unless you've set it up so it's entirely automated, runs overnight, and emails you a spreadsheet containing the results.

If I were you I'd treat the hours you spend on this task as billable. Vigilance -- keeping watch -- is real work.

The only exception: If you have another client, and you do work for her while you're waiting for this benchmark to run, I suggest you refrain from double-billing. That is, only bill one client for each hour of work.


You're not getting paid a fortune as a research assistant. The inefficiency in your job is most likely built into your piddling compensation rate. If you spend time on Stack Overflow to be better at what you are doing on the job, it's most probably time well spent because they are not asking you to do anything more urgent at the moment.

Think of yourself as somewhat on standby at the moment. You still have to be at the worksite on time. You still have to do what they tell you they want done. And you still have to fix things when they go wrong. It's work no matter how you look at it.

You could volunteer to do more but from your question, I am guessing that you would have already volunteered for doing more if there were more to volunteer to do. As an undergrad student, I would look for the type of job such as library front desk assistant at a no-customer traffic library such as the Philosophy Library where I was essentially paid to study my butt off for my classes :) Nothing unethical about multitasking.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .